Doppio inserimento dati nel DB

  • Creatore Discussione Creatore Discussione efisio
  • Data di inizio Data di inizio

efisio

Utente Attivo
5 Ago 2008
95
0
0
Buon pomeriggio,
non riesco a capire come mai una volta che inserisco i dati nel DB (mysql) mediante un form, e vado a verificare trovo sempre che i dati sono stati inseriti nel DB in duplice copia.
Come mai?
Qualcuno può darmi un consiglio?
 
Scusami Borgo, hai perfettamente ragione.

il codice della pagina da me incriminata è il seguente:

<?
session_start();
if(sha1($_POST['stringa']) != $_SESSION['control'])
{
die("digita correttamente il codice della figura");
}
?>

<?php

$host = 'localhost';
$user = 'root';
$password = 'root';
$database = 'root';


$nome = addslashes(Strip_Tags(htmlspecialchars($_POST['nome'])));
$cognome =
addslashes(Strip_Tags(htmlspecialchars($_POST['cognome'])));
$mail = addslashes(Strip_Tags(htmlspecialchars($_POST['mail'])));





if (trim($nome) == "" OR trim($cognome) == "" OR trim($mail)=="")
{
echo " Attenzione!<br> deve compilare tutti i dati del form <br>";
}
else {
$db = @mysql_connect($host, $user, $password);
}
# controllo campo email - email valida
if ( !ereg("@", $mail)){
echo "<h3>Errore!</h3><br>Deve inserire una email valida";
}
else{
@mysql_select_db($database, $db);
}
$query="SELECT * FROM iscritti WHERE nome='$nome' AND cognome='$cognome';
//var_dump($query);vedi se viene scritta giusta
$res=mysql_query($query);

// se la riga è stata trovata non effettuo la registrazione dello stesso utente
if(mysql_num_rows($res) !=0)
{
//mettere il link alla email
echo " Attenzione utente gi&agrave registrato.<br>Nel caso non riesca a registrarsi ci informi per email<br>GRAZIE";
}
else
{
$query="INSERT INTO registro ( nome, cognome, mail) VALUES ('$nome', '$cognome', '$mail')";

mysql_query ($query);
// or die (mysql_error ())
$risult=mysql_query($query);

if($risult == true)
{
echo("Grazie per esserti registrato");
}
else
{
echo(" GRAZIE");
}
}
mysql_close($db);


?>
 
mi vergogno un pò a chiedervelo, ma come dovrei intervenire esattamente?
Grazie
 

Discussioni simili