
Originariamente inviata da
Elia934e
Non mi da errore di nessun tipo, per quello non capisco... solamente che i valori Nome, Cognome, Telefono e NCivico, quando invio il form, non ci sono nel database... quelli inseriti nella pagina precedente di registrazione, che sono nella stessa tabella, quelli si :/ si certo, home.php è il nome della pagina principale del sito a cui voglio andare dopo il form
Allora non ti funziona perchè il modulo deve puntare ad un file che recupera i dati e li inserisce, nel tuo caso lo stesso file, così invece invii i dati a home.php che fa altro. Se lo guardi adesso il modulo ha action="?" che significa che punta allo stesso file. C' era anche un errore nella stringa sql. Una buona pratica è quella di separare la parte che esegue le operazioni, da quella che esegue l' output html.
Cerca sempre di ragionare in questo senso:
richiesta pagina->elaborazione file php->output html
Poi vedo che apri una sessione inutilmente visto che poi non usi nessuna variabile di tipo $_SESSION
Comunque prova così e vediamo che succede :unz:
codice:
<?php
session_start(); // come sempre prima cosa, aprire la sessione
$host='localhost';
$user='root';
$password='';
$database='ecommerce';
$db=mysqli_connect($host, $user, $password, $database) or die ("Impossibile connettersi al server $host");
mysqli_select_db($db, $database) or die ("Impossibile connettersi al database $database");
$formError = "";
if (isset($_POST['Nome'],$_POST['Cognome'],$_POST['Telefono'],$_POST['NCivico'])) {
$formError = "<p>Inserisci tutti i campi</p>";
}
else{
$query="INSERT INTO users (Nome, Cognome, Telefono, NCivico) VALUES('" .$_POST['Noi i me'] . "', '" .$_POST['Cognome'] . "', '" .$_POST['Telefono'] . "', '" .$_POST['NCivico'] . "')";
$query_registrazione1 = mysqli_query($db, $query);
//Redirect a home.php
header("Location: home.php");
}
?>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php echo $formError;?>
<p>Ti sei registrato con successo</p>
<p>Inserisci i dati mancanti!</p>
<form action="?" method="post">
Nome: <input type="text" name="Nome" /> </br></br>
Cognome: <input type="text" name="Cognome" /> </br></br>
Telefono: <input type="text" name="Telefono" /> </br></br>
Via: <input type="text" name="Via" /> </br></br>
Num.Civico: <input type="text" name="NCivico" /> </br></br>
Comune: <select name="nome">
<option>Seleziona Comune</option>
<?php
$query = "SELECT NomeComune FROM comune";
$query_r = mysqli_query($db, $query);
while ($array = mysqli_fetch_array($query_r)) {
$dati = $array['NomeComune']; //colonna che mi interessa
echo '<option value="'.$dati.'">'.$dati.'</option>';
}
?>
</select> </br></br>
<input type="submit" />
</form>
</body>
</html>