• User

    Problema con form php

    Ciao a tutti, ho un problema con una pagina php, (linguaggio del quale non son praticissimo, ma che sto studiando).
    Spiego brevemente il problema.
    Io ho una pagina che mostra un form, una volta inseriti i dati se i sati obbligatori sono inseriti passa avanti altrimenti azzerai campi.
    Quando i dati son corretti, la pagina resta la stessa, ma cambia il contenuto,

    Dove in questo contenuto c'e' il riepilogo dei dati inseriti nel form precedente, dopo il riepilogo c'e' un bottone (questo e' il problema), che quando premuto dovrebbe inviare i dati ad un database e cambiare nuovamente il contenuto della pagina.

    Il bottone in questione non esegue ne il cambiamento della pagina ne tantomeno invia i dati al database.
    La porzione di codice e' la seguente:

    [PHP]function ale1($marca="",$modello="",$cambio="",$alimentazione=""){

    $marca=$_POST['marca'];
    $modello=$_POST['modello'];
    $alimentazione=$_POST['alimentazione'];
    $cambio=$_POST['cambio'];
    ?>
    <form name="riepilogo" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <table>
    <tr>
    <td><?php echo "Si sta inserendo una $marca $modello\n con alimentazione $alimentazione\n a cambio $cambio\n"; ?></td>
    <td align="center" colspan="2"><input type="submit" value="Conferma" name="conf"></td>
    </tr>
    </table>
    </form><br />
    <?php
    }
    if (!isset($_POST['conf'])){
    ale1($marca="",$modello="",$cambio="",$alimentazione="");
    }else{

    $connessione=mysql_connect("localhost", "root", "");
    $selezione_db=mysql_select_db("macchine", $connessione);
    $inserimento=mysql_query("insert into macchine_disponibili (marca,modello,cambio,alimentazione) values ("$marca", "$modello", "$cambio", "$alimentazione")");

                echo "speriamo funzoni";
                }[/PHP]
    

    Spero in un vostro aiuto.
    Grazie anticipatamente.


  • User

    rettifico... ondevitare incomprensioni con il codice, inserisco l' intera pagina:

    [php]<?php

    define ("errore_marca_predefinito", "Non hai inserito la marca");
    define ("errore_modello_predefinito", "Non hai inserito il modello");

    function ale($marca="",$modello="",$cambio="",$alimentazione=""){
    ?>
    <form name="inserimentomacchina" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <table>
    <tr>
    <td>Marca:</td><td><label><input type="text" name="marca" size="30" maxlength="40"></label></td><br />
    </tr>

      <tr>
         <td>Modello:</td><td><label><input type="text" name="modello" size="30" maxlength="40"></label></td><br />
      </tr>
    <tr>
         <td>Cambio:</td><td><label>
         <select name="cambio">
         <option value="Automatico">Automatico</option>
         <option value="Manuale">Manuale</option></label>
         </td>
      </tr>
    <tr>
    <td>Alimentazione</td><td><label>
        <select name="alimentazione">
            <option value="Benzina">Benzina</option>
            <option value="Diesel">Diesel</option>
            <option value="Gpl">Gpl</option></label>
        </td>
      <tr>
         <td align="center" colspan="2"><input type="submit" value="Verifica" name="add"></td>
      </tr>
    

    </table>
    </form><br />
    <?php

    }

    function controlla($stringa,$lunghezza){
    

    if (strlen($stringa)<$lunghezza){
    return true;
    }
    else {
    return false;
    }
    }

    if (!isset($_POST['add'])){
    ale($marca="",$modello="",$cambio="",$alimentazione="");

    }else {

      $marca = isset ($_POST['marca']) ? stripslashes ($_POST['marca']) : "";
      $modello = isset ($_POST['modello']) ? stripslashes ($_POST['modello']) : "";
      $cambio   = isset($_POST['cambio'])   ? stripslashes ($_POST['cambio']) : "";
      $alimentazione = isset($_POST['alimentazione']) ? stripslashes ($_POST['alimentazione']) : "";
        
    
      $error  = false;
      $errore_marca = '';
      $errore_modello = '';
      $errore_cambio = '';
            $errore_alimentazione = '';
            
            
        if (controlla($marca,1)) { 
          $error = true;
          $marca = errore_marca_predefinito;
          
          
      }    
        if (controlla($modello,1)) { 
          $error = true;
          $modello = errore_modello_predefinito;
          
          
      }    
            
    
    
       if ($error){
         ale($marca,$modello,$cambio,$alimentazione);
      }
      else 
      {
    

    function ale1($marca="",$modello="",$cambio="",$alimentazione=""){

    $marca=$_POST['marca'];
    $modello=$_POST['modello'];
    $alimentazione=$_POST['alimentazione'];
    $cambio=$_POST['cambio'];
    ?>
    <form name="riepilogo" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <table>
    <tr>
    <td><?php echo "Si sta inserendo una $marca $modello\n con alimentazione $alimentazione\n a cambio $cambio\n"; ?></td>
    <td align="center" colspan="2"><input type="submit" value="Conferma" name="conf"></td>
    </tr>
    </table>
    </form><br />
    <?php
    }
    if (!isset($_POST['conf'])){
    ale1($marca="",$modello="",$cambio="",$alimentazione="");
    }else{

    $connessione=mysql_connect("localhost", "root", "");
    $selezione_db=mysql_select_db("macchine", $connessione);
    $inserimento=mysql_query("insert into macchine_disponibili (marca,modello,cambio,alimentazione) values ("$marca", "$modello", "$cambio", "$alimentazione")");

                echo "speriamo funzoni";
                }
                }
        }
    

    ?>[/php]
    spero in vostre risposte, grazie


  • User

    Nessuno sa aiutarmi?