Newsgroup: it.comp.www.php
Titolo: Aiuto login con mysql

Salve a tutti!
Ho scaricato uno script in php per creare un login nel mio sito.Il
programmino si avvale di un database mysql.
Ho modificato il tutto per adattarlo alle mie esigenze,solo che ho un
problema (semplice per chi conosce il PHP,quindi non per me!).
Il database č composto da una tabella con 5 campi
(id,username,password,email,city),quando richiedo il login faccio inserire
username e password e se questi corrispondono come output ho un messaggio di
conferma. Il mio preoblema č il seguente:
riesco a far visualizzare lo username dell'utente,ma non riesco a far
visualizzare il corrispondente campo (city).... ok,non sono stato tanto
chiaro,scusate!!!!
In altre parole, verificato username e password non riesco ad estrarre il
campo (city) corrispondente all'utente e quindi visualizzarlo. (un po'
meglio adesso?).
Spero che mi sappiate dare una mano,se serve vi posto lo script completo
cosě potrete capire un po' meglio.
Grazie a tutti!!!!  ^_^

 Grazie a tutti!!!!  ^_^
Non server postare lo script completo, basta postare il pezzo di codice
corrispondente alla SELECT e di norma le successive 5-10 righe cosě č
possibile vedere se e come il dato viene estratto e se e come viene
memorizzato in una variabile php
J

 campo (city) corrispondente all'utente e quindi visualizzarlo.
Dunque... Ti prego, non postare *tutto* il codice!
Visto che parti da uno script fatto da altri, ti consiglio di
studiarti un po' lo script e modificare dove serve la query inserendo
anche il campo city e il corrispondente echo.
Ad esempio, se a un certo punto trovi che la query è una cosa tipo:
$sql = "select username from tuatabella where qualcosa='qualcosaltro'"
tu metterai 
$sql = "select username, city from tuatabella ...."
Di conseguenza, il comando php che manda a video lo username andrà
integrato per visualizzare anche il campo city... Il che però
ovviamente dipende del tutto da come è stato fatto lo script.
Mi rendo conto che il consiglio è vago, ma hai presente la storiella
"se vuoi aiutare un affamato non regalargli un pesce ma insegnali a
pescare?"
M

Grazie per l'interessamento!!!
Posto subito lo script
<!---Login php srcipt begins here--->
<?
mysql_connect("localhost", "xxxxxx", "yyyyyy")
 or die ("Unable to connect to server.");
mysql_select_db("secretDB")
 or die ("Unable to select database.");
$sql = "SELECT id, username, password, email, city
 FROM users
 WHERE username='$username' and password='$password'";
$result = mysql_query($sql)
 or die ("Unable to get results.");
$num = mysql_numrows($result)
 or die ("Username o Password errati! <a
href=\"form.php\">CORREGGI</a> ");
if ($num == 1)
{
echo "<p>Benvenuto cittadino<br>";
echo "$username";
echo " della città di";
echo "$city</p>";
}
?>
<!---Login php script ends here--->

echo "$city</p>";
Il concetto è corretto, ma quando fai una query, i campi che recuperi
non li hai disponibili direttamente come variabili.
Lui ti visualizza $username perché la variabile esiste: è quella
immessa dall'utente per fare il login! Ma $city non è definita da
nessuna parte.
Devi fare una cosa tipo:
$riga = mysql_fetch_array($result); 
echo "<p>Benvenuto cittadino<br>";
echo "$riga[username] della città di $riga[city]</p>";
mysql_fetch_array crea un array associativo in cui ogni elemento è un
campo del record che hai recuperato e il suo indice è il nome del
campo relativo.

GRAZIE!!!
Ok, risolto il problema.Era una cosa banale,avevo capito anch'io perchè non
riuscivo a far comparire $city ma non sapevo come agire per estrarla.
Adesso funziona proprio come volevo io!
Beh,visto che i sono posso porti un altro problema?
Come faccio a non far registrare lo stesso username a 2 persone differenti?
facendo una prova mi esce questo errore:
User not added: Valore duplicato 'colla' per la chiave 2
(User not added è il messaggio d'errore inserito nello script, il resto
credo sia inviato dal mysql).Come faccio a far in modo che mi venga stampato
il messaggio d'errore: "Username gia presente, clicca qui per rifare la
registrazione"
dove sul clicca qui con un collegamento mi rimanda alla pagina di
registrazione???
Grazie ancora per gli aiuti!!!!