Originariamente inviato da stest
sono alle prime armi con il php , per mettere in pratica quello che ho imparato finora sto provando a realizzare un accesso ad un sito , ho cominciato dalla parte che reputo piu semplice ( quella dell'iscrizione questa ) ... ma ora mi sono imbattuto in un problema .... sostanzialemente quando cerco di verificare che il username X non sia gia registrato ( poi dovro estenderlo anche alla mail ma questo lo affronto capendo dove sbaglio ora ) mi risponde o che esiste ( pur non esistendo ) o che non esite ( pur esistendo ) ...
questo è il codice

Codice PHP:
<?php include('config.php'); ?>
<title>attendi</title> 
<?php 
$db 
mysql_connect($host$users) or die("impossibile accedere al db"); 
mysql_select_db($database$db) or die("impossibile connettersi al db"); 
$query "INSERT INTO login " "(nome, user, email)" "VALUES('" $_REQUEST['nome'] . "','" $_REQUEST['user'] . "','" $_REQUEST['email'] . "')"
$query2 " SELECT user FROM login WHERE user = $user"$risultato 
mysql_query($query2$db); $num mysql_num_rows($risultato); 
if (
$num == 0
{ print(
"spiacente ma il nick è stato scelto
"
); 
exit; } else { print(
"possiamo procedere
"
); 
}
$mail 'email'
if (!
mysql_query($query$db))  

print(
"attenzione impossibile aggiungere l'account"); 
} else { 
print(
"utente registrato in attesa di conferma"); 
$to      $mail
$subject 'prova'
$message 'ciaooooo'
$headers 'From: [email]webmaster@example.com[/email]' "\r\n" ;    
'Reply-To: [email]webmaster@example.com[/email]' ;"\r\n" .     
'X-Mailer: PHP/' phpversion();  
mail($to$subject$message$headers); 

mysql_close($db); 
?>
dove sbaglio ?
un altra cosa come mai non riesce ad ereditare dal form o dal db per usarlo come destinatario ?
E' un pochetto pasticciato :-)
comunque da quello che leggo

tu dichiari la Query al db nella variabile "$query" ma non la esegui!
quindi l'INSERT non lo fa!

Subito dopo tenti di fare una SELECT....
(e la esegui con $risultato = mysql_query($query2, $db)

di un dato che non è stato ancora scritto!

e comunque quello che più mi confonde è che:

- inserisci i dati nel DB
- controlli che esiste l'user
- se NON esiste ($num == 0) allora scrivi "spiacente ma il nick è stato scelto...
- altrimenti possiamo procedere

non dovrebbe essere il contrario?

L'ultimo pezzo di codice
if (!mysql_query($query, $db))

non l'ho capito
cosa dovrebbe fare?
"Mi pare di capire dalle stringhe"
che vorresti controllare che l'utente è già registrato ma non ha confermato giusto?
ma non capisco in base a quale criterio!

se cosi fosse dovresti aggiungere un campo nel DB es Status con 1 o 0 dove 1 è gia confermato 0 in attesa di conferma..

Ma magari non ho ben capito io!
detto questo facci sapere.

Ciao