Problema con Update di una tabella di un db

Cirano86

Nuovo Utente
26 Ago 2015
15
0
0
Buongiorno!;
sono nuovo del forum e mi sono appena presentato.
Scrivo questo post perchè nella costruzione del mio sito ho creato la sezione utenti dentro la quale devo andare ad inserire tra le altre opzioni quella per dare la possibilità di cambiare e-mail.
Per fare questo ho creato un form dove inserire la vecchia e-mail, la nuova e la riconferma della nuova e-mail.
A questo punto premendo il tasto salva lancio un file php che vi posto di seguito.
Il problema è che nonostante non mi dia errori nella realtà l'e-mail non viene aggiornata dentro il db

Le echo che ho inserito servono per vedere se le varie variabili contengono i dati giusti ed effettivamente è così;

File php:

PHP:
<?php
session_start();
$username = $_SESSION['username'];
$password = $_SESSION['password'];
$myconn = mysql_connect('XXX,'XXX','XXX') OR die("Impossibile connettersi al database");
mysql_select_db('my_commis', $myconn);
$query = "SELECT email FROM collaboratori WHERE username='$username'";
$result = mysql_query($query, $myconn) or die("Errore!!!");
$numrows = mysql_num_rows($result);
if ($numrows==1)
{
  $resrow = mysql_fetch_row($result);
  $email = $resrow[0];
  $v = $_POST['vecchia'];
  $n = $_POST['nuova']; 
  $c = $_POST['conferma'];
  echo "<b> <center> vecchia R:". $email ."</b> </center>";
  echo "<b> <center> vecchia P:". $v ."</b> </center>";
  echo "<b> <center> nuova:". $n ."</b> </center>";
  echo "<b> <center> conferma:". $c ."</b> </center>";
   if ($v == $email)
   {
     if ($c == $n)
     {
     $query = "UPDATE collaboratori SET email='$n' WHERE username='$username'";
	 echo "Modifiche apportate con successo!";

     $query = "SELECT email FROM collaboratori WHERE username='$username'";
     $result = mysql_query($query, $myconn) or die("Errore!!!");
     $numrows = mysql_num_rows($result);
     $resrow = mysql_fetch_row($result);
     $email = $resrow[0];
     echo "<b> <center> vecchia R:". $email ."</b> </center>";
      }
      else
      {
	  echo "e-mail non valida!";
	  }
	}
    else
    {
	echo "Errore la vecchia e-mail inserita differisce da quella di registrazione";
	}
}
else
{
 echo "Spiacenti errore nel sistema!";
}
?>
 
Ultima modifica di un moderatore:
ciao
per prima cosa ti sei dimenticato un apice
PHP:
$myconn = mysql_connect('XXX,'XXX','XXX') OR die("Impossibile connettersi al database");
se non è un errore di copia/incolla
PHP:
$myconn = mysql_connect('XXX','XXX','XXX') OR die("Impossibile connettersi al database");
ora ci do un occhio poi ti so dire (spero)

p.s.
quando scrivi del codice racchiudilo tra gli appositi bccode (seconda riga formattazione del post ultime 3 iconcine)
 
ciao
mi sembra che manchi un mysql_query
PHP:
<?php
//.......
if ($c == $n)     {
     $query = "UPDATE collaboratori SET email='$n' WHERE username='$username'";
	 //qui manca il mysql_query
	 $ris=mysql_query($query);
     echo "Modifiche apportate con successo!";

     $query = "SELECT email FROM collaboratori WHERE username='$username'";
     $result = mysql_query($query, $myconn) or die("Errore!!!");
//.......
?>
poi un paio di consigli:
- verifica la correttezza formale delle email inserite con filter_var($email, FILTER_VALIDATE_EMAIL), true se ok, false se errata
- abbandona le vecchie istruzioni mysql obsolete e passa alle nuove mysqli
 
Grazie, problema risolto!, per quanto riguarda il controllo della e-mail inserita ci avevo pensato ma prima volevo far funzionare il tutto e poi aggiungerla XD
 
Ultima modifica:

Discussioni simili