Php problema su inserimento dati mysql

  • Creatore Discussione Creatore Discussione EffeElle
  • Data di inizio Data di inizio
ok adesso va tutto posto il codice corretto, avevi ragione criric mi ero dimenticato il nome del database nel query

PHP:
	   //Verifico che l'email non siano già presenti sul database
$query = "SELECT * FROM `accademiadelsacro`.`preiscrizione-utenti` " .
          "WHERE email = '" . $_POST['email'] . "'"; 

 

$result = mysql_query($query) or die (mysql_error());

if (mysql_num_rows($result) != 0)
{
 while ($row = mysql_fetch_array($result))
 {
 
  //Se l'email esiste
  if ($row['email'] == $_POST['email'])
  {
   header("Location: preiscrizione-step1.php?alert=3");
	die;
}  
  
 }

}
else
{

Adesso vorrei inserire alla fine del campo email il ripeti email immagino di inserire un altro campo nella tabella mysql la chiamo key_coltrol
come verifico che l'email sul campo $email sia uguale al ripeti email?
 
PHP:
if($_POST['email'] != $_POST['conferma_email']) {
       echo "le mail non corrispondono";
}
 
Ho creato un altro campo nella tabella mysql di nome conferma_email

poi ho inserito questo:
PHP:
if($_POST['email'] != $_POST['conferma_email']) {
header("Location: preiscrizione-step1.php?alert=4");
    die;
}
Ma non mi avviene il controllo praticamente finisce con inserire i dati, l'ho inserito prima della verifica del campo email
 
secondo me sbagli come concateni gli if in generale

per questo tipo di verifiche dovresti usare l'elseif
PHP:
  if ($row['codicefiscale'] == $codicefiscale)
  {
   header("Location: preiscrizione-step1.php?alert=2");
    die;
}elseif ($row['email'] == $_POST['email'])  //Se l'email esiste
  {
   header("Location: preiscrizione-step1.php?alert=2");
    die;
}elseif($_POST['email'] != $_POST['conferma_email']) {
header("Location: preiscrizione-step1.php?alert=4");
    die;
} else{

///processa i dati

poi vedo che due condizioni puntano alla stessa pagina potresti risparmiare righe di codice unendo + condizioni

PHP:
  if (($row['codicefiscale'] == $codicefiscale)|| ($row['email'] == $_POST['email']))
   header("Location: preiscrizione-step1.php?alert=2");
    die;
}elseif($_POST['email'] != $_POST['conferma_email']) {
header("Location: preiscrizione-step1.php?alert=4");
    die;
} else{

///processa i dati
 
il ripeti mail non lo metti in tabella ma nel form
HTML:
<input type='text' name='mail'/>
<input type='text' name='ripeti_mail'/>
quando verifichi i dati aggiungi
PHP:
if($_POST['email'] != $_POST['conferma_email']) {
       echo "le mail non corrispondono";
}
se non corrispondo non lo fai andare avanti
o forse non ho capito cosa intendevi
 
Adesso provo quindi in sostanza non avrei bisogno di creare il campo conferma_email sul database mi basta inserire il secondo input di testo nel form e poi inserire il comando php?
 

Discussioni simili