Salta al contenuto
  • Categorie
  • Recenti
  • Tag
  • Popolare
  • Utenti
  • Gruppi
Collassa
Logo del marchio
  1. Home
  2. Coding e customizzazione (PHP, HTML, CSS)
  3. differeinziare form per scrivere su relative tabelle sql

differeinziare form per scrivere su relative tabelle sql

Pianificato Fissato Bloccato Spostato Coding e customizzazione (PHP, HTML, CSS)
4 Post 3 Autori 47 Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • T Non in linea
    T Non in linea
    teopieri
    scritto su ultima modifica di
    #1

    Buon giorno a tutti,
    Sto facendo un esperimento per poi inserirlo in aritcoli joomla attraverso il plugin sourcerer:
    il mio intento è il seguente:
    ho craeto un form principale con una select che contiene 3 option, la pagina, in base a queste mi visualizza un form con tre diverse tipologie di campi, in quanto poi il form invia tramite metodo post i dati ad una pagina che in base alla selezione principale (per intenderci, quella che mi visualizza i campi del form in maniera diversificata) mi va a inserire i dati nella relativa tabella sql.
    In pratica la select mi differenzia la visualizzazione dello stesso form in tre modalità diverse perchè i campi del form sono delle input diversificate;
    ma alla fine quando viene cliccato il submit, alla pagina impostata nell'attributo action oltre ad arrivare l'array $post con i valorii inviati, devo poter recuperare anche il valore della select principale per usarla nell'impostazione della query insert into.
    Sperando di essere riuscito a spiegarmi chiedo...
    Come recupero il valore della prima select ?
    Questo è il codice del form

     <div class="form">
        <div class="titolo_form">FORM DI INSERIMENTO BOLLETTE</div>
            <form action="" method="POST">
                <table>
                 <tr>
                    <td>
                        <label for="selezione-utenza">
                            Seleziona il tipo di utenza
                        <label>
                    </td>
                    <td>
                        <select name="utenza" id="" required>
                            <option value="">scegli il tipo di utenza</option>
                            <option value="acqua">acqua</option>
                            <option value="gas">gas</option>
                            <option value="elettricità">elettricità</option>
                        </select>
                    </td>
                    <td>
                        <input class="invio" type="submit" name="seleziona" value="visualizza il form">
                    </td>
                 </tr>
                </table>
            </form>
        </div>
    <?php
    $utenza=$_POST["utenza"];
    /*var_dump($utenza);
    echo $utenza;*/
    ?>
    
    <div class="form">
    <table>
    <form action="scrittura_bolletta.php" method="post">
    <?php
    echo $utenza;
    if ($utenza==="acqua"){
    echo"
        <div class=\"titolo_form\">Inserimento dati bolletta acqua</div>
        <tr>
            <td class=\"labinput\"> 
                <label for=\"data-emissione\"> Data emissione </label>
            </td>
            <td>
                <input type=\"date\" name=\"data_emissione\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"cons_fat_mc\">Consumo fatturato (mc)</label> 
            </td>
            <td>
                <input type=\"text\" name=\"cons_fat_mc\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"prezzo_€\">Prezzo unitario (€)</label>
            </td>
            <td>
                <input type=\"text\" name=\"prezzo_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"sps_mat_€\">Spesa materiale (€)</label>
            </td>
                <td><input type=\"text\" name=\"sps_mat_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"altri_oneri_€\">Altri oneri (€)</label>
            </td>
            <td>
                <input type=\"text\" name=\"altri_oneri_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"conguagli_€\">Conguagli (€)</label>
            </td>
            <td>
                <input type=\"text\" name=\"conguagli_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"imp_fat_€\">Importo fattura (€)</label>
                </td>
            <td>
                <input type=\"text\" name=\"imp_fat_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td colspan=\"2\" class=\"invio\">
                <input type=\"submit\" name=\"invia\" value=\"inseirsci bolletta\">
            </td>
        </tr>
    ";}
    elseif($utenza==="gas"){
    echo"
        <div class=\"titolo_form\">Inserimento dati bolletta gas</div>
        <tr>
            <td class=\"labinput\">
                <label for=\"data-emissione\"> Data emissione </label>
            </td>
            <td>
                <input type=\"date\" name=\"data_emissione\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"cons_fat_mc\">Consumo fatturato (mc)</label>
            </td>
            <td>
                <input type=\"text\" name=\"cons_fat_mc\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"prezzo_€\">Prezzo unitario (€)</label>
            </td>
            <td>
                <input type=\"text\" name=\"prezzo_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"sps_mat_€\">Spesa materiale (€)</label>
            </td>            
            <td>
                <input type=\"text\" name=\"sps_mat_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"altri_oneri_€\">Altri oneri (€)</label>
            </td>
            <td>
                <input type=\"text\" name=\"altri_oneri_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"conguagli_€\">Conguagli (€)</label>
            </td>
            <td>
                <input type=\"text\" name=\"conguagli_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"imp_fat_€\">Importo fattura (€)</label> 
            </td>
            <td>
                <input type=\"text\" name=\"imp_fat_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td colspan=\"2\" class=\"invio\">
                <input type=\"submit\" name=\"invia\" value=\"inseirsci bolletta\">
            </td>
        </tr>
    ";}elseif($utenza==="elettricità"){
    echo"
    <div class=\"titolo_form\">Inserimento dati bolletta elettricità</div>
        <tr>
            <td class=\"labinput\">
                <label for=\"data-emissione\"> Data emissione </label>
            </td>
            <td>
                <input type=\"date\" name=\"data_emissione\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"cons_fat_kwh\">Consumo fatturato (kw/h)</label>
            </td>
            <td>
                <input type=\"text\" name=\"cons_fat_kwh\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"prezzo_€\">Prezzo unitario (€)</label>
            </td>
            <td>
                <input type=\"text\" name=\"prezzo_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"sps_mat_€\">Spesa materiale (€)</label>
            </td>            
            <td>
                <input type=\"text\" name=\"sps_mat_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"altri_oneri_€\">Altri oneri (€)</label>
            </td>
            <td>
                <input type=\"text\" name=\"altri_oneri_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"conguagli_€\">Conguagli (€)</label>
            </td>
            <td>
                <input type=\"text\" name=\"conguagli_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td class=\"labinput\">
                <label for=\"imp_fat_€\">Importo fattura (€)</label>
            </td>
            <td>
                <input type=\"text\" name=\"imp_fat_€\" id=\"\" required>
            </td>
        </tr>
        <tr>
            <td colspan=\"2\" class=\"invio\">
                <input type=\"submit\" name=\"invia\" value=\"inseirsci bolletta\">
            </td>
        </tr>
    ";}
    ?> 
    </form>      
    </table>  
    
    </body>
    

    i campi della condizione if e della prima ifelse sono gli stessi e quindi posso ottimizzare il codice in effetti, ma nn importa per il momento, a me interessa sapere come portarmi dietro la variabile $utenza col suo valore perchè poi dovrà essere quello che mi permetterà di scrivere nella tabella mysql "acqua", "gas" oppure "elettricità".

    Con la speranza di esser riuscito a spiegarmi,
    Vi ringrazio fin da ora per le eventuali indicazioni
    Buona giornata a tutti
    Filippo P.

    1 Risposta Ultima Risposta
    0
    • jabbaJ Non in linea
      jabbaJ Non in linea
      jabba
      scritto su ultima modifica di jabba
      #2

      Ciao, spero di aver capito e provo a risponderti.
      Tu hai due <form> differenti, se mandi la seconda form tramite l'action non potrai mai prendere i valori del primo form perchè proprio a livello di funzionamento dell'HTML i dati inviati sono quelli del form che esegue l'action.

      Secondo me la risolvi facilmente inserendo un input di tipo "hidden" nel secondo form, mettendoci quello che catturi via PHP, una cosa di questo tipo:

      <?php
      $utenza=$_POST["utenza"];
      /*var_dump($utenza);
      echo $utenza;*/
      ?>
      
      <form action="scrittura_bolletta.php" method="post">
          <!-- Campo nascosto per passare il tipo di utenza -->
          <input type="hidden" name="utenza" value="<?php echo $utenza; ?>" />
      
          ... qui ci metti tutto il resto del form ...
      
      </form>
      
      

      in questo modo dentro scrittura_bolletta.php puoi recuperare normalmente la variabile:

      $utenza = $_POST['utenza'];
      

      che sarà uguale ad "acqua", "gas" o "elettricità". Poi la gestisci come meglio credi.
      Ciao!

      Gianluca Gabella - smanettone IT, webbarolo, Joomler per passione - pixed.it

      W 1 Risposta Ultima Risposta
      0
      • T Non in linea
        T Non in linea
        teopieri
        scritto su ultima modifica di
        #3

        Ok. Grazie 1000 stasera provo.
        In effetti cercavo proprio un modo per passare quel dato... Mi sa che dovrebbe proprio funzionare.
        In pratica ho una input invisibile e che è già compilata e che viene passata come ogni altra chiave-valore nell'array $post.
        Un super grazie.

        Filippo

        1 Risposta Ultima Risposta
        0
        • W Non in linea
          W Non in linea
          webman
          risposto a jabba su ultima modifica di
          #4

          @jabba ha detto in differeinziare form per scrivere su relative tabelle sql:

          che sarà uguale ad "acqua", "gas" o "elettricità". Poi la gestisci come meglio credi.

          Non ha alternative, la deve per forza pagare 🙂

          1 Risposta Ultima Risposta
          0

          • Accedi

          • Non hai un account? Registrati

          • Accedi o registrati per effettuare la ricerca.
          Powered by NodeBB Contributors
          • Primo post
            Ultimo post
          0
          • Categorie
          • Recenti
          • Tag
          • Popolare
          • Utenti
          • Gruppi