Visualizzazione risultati 1 fino 2 di 2

Discussione: Il database aggiunge record con campi vuoti

  1. #1
    Guest

    Predefinito Il database aggiunge record con campi vuoti

    Ciao a tutti,
    ho creato un form, l'ho collegato a una pagina php per l'inserimento dei dati in un database, ho collegato la pagina php al database che ho aperto su Altervista. Fin qui tutto ok.

    Provo ad inserire dei record nel database tramite l'apposito form. L'operazione va a buon fine.
    Apro il database: effettivamente ci sono i nuovi record inseriti, contrassegnati dagli ID che si autoincrementano, ma tutti i campi sono rimasti vuoti (eppure li avevo riempiti sul form).

    Sono inesperto e non capisco se il problema sta nel form, nel php o nel database. Posto qui i codici

    form html
    Codice:
    <form name="inserimento" 
                 	action="form/inserimento.php" 
                    enctype="text/plain" 
                    method="POST">
                    	Nome:<input type="text" name="nome"><br /><br />
                        
                        Cognome:<input type="text" name="cognome"><br /><br />
                        
                        Et&agrave;:<select name="eta">
                        	<option value="18">18</option>
    						</select> <br /><br />
                        
                        <input type="submit" value="Invia">
                        
                        <input type="reset" value="Svuota">
                 </form>
    inserimento.php
    Codice:
    <?
    // HOST = IP server Mysql
    // USER = Nome utente databse
    // PASSWORD = Password utente databse
    mysql_connect("localhost","","");//database connection
    mysql_select_db("my_xxx");
    
    //qui ho provato anche con RESULT anziché POST ma il risultato è lo stesso
    $nome = $_POST['nome']; 
    $cognome = $_POST['cognome'];
    $eta = $_POST['eta'];
    
    $toinsert = "INSERT INTO inserimento (nome, cognome, eta) VALUES ('".
    $nome."', '".$cognome."', '".$eta."')";
    
    //declare in the order variable
    $result = mysql_query($toinsert);	//order executes
    if($result){
    	echo("<br>Inserimento avvenuto correttamente");
    } else{
    	echo("<br>Inserimento non eseguito");
    }
    ?>
    struttura del database


    campi del database


    in cosa sbaglio??
    grazie per l'aiuto
    Ultima modifica di davidet : 19-07-2014 alle ore 03.04.07

  2. #2
    Guest

    Predefinito Risoluzione :)

    ho risolto modificando il file php in questo modo

    Codice:
    <?php
    
    include('connessione.php');
    
    //from form
    $nome = $_POST['nome'];
    $nome = addslashes(stripslashes($nome));
    $cognome =$_POST['cognome'];
    $cognome = addslashes(stripslashes($cognome));
    $eta =$_POST['eta'];
    $eta = addslashes(stripslashes($eta));
    
    //to database
    $query = "INSERT INTO `xxx` ( `id` , `nome` , `cognome` , `eta`)
    VALUES (NULL , '$nome', '$cognome', '$eta')";
    if (@mysql_query($query)) {
    echo ("<div align=center class=testo> <b>Record inserito con successo.</b></div>");
    } else {
    echo ("<div align=center class=testo> <b>Errore di inserimento record: ". mysql_error()."</b></div>");
    }
    ?>
    Ultima modifica di davidet : 19-07-2014 alle ore 03.05.26

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •