form per login con memorizzazione id utente da database

megarospo

Utente Attivo
25 Set 2007
147
0
0
questo script dovrebbe permettere di autenticare un utente e memorizzare il suo id presente nella tabella degli utenti del database, ma oltre a darmi dei notice, al comando print non mi restituiesce il risultato desiderato, ma mi dà:il tuo ID utente è: Resource id #3
che significa?


<?php
session_start();
dbconnect();

if ($_REQUEST['action'] == "login") {
$_SESSION['verified_user'] = "";
$result = mysql_query("SELECT id FROM user WHERE nick='".$_REQUEST['username']."' AND pass='".$_REQUEST['psw']."'");
if (mysql_num_rows($result) > 0) list($_SESSION['verified_user']) = mysql_fetch_row($result);
}

?>
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<br><a href="log-in.php">Log in</a> - <a href="index.php">Index</a> - <a href="log-out.php">Log out</a><br>
<?php

echo"<br>";

if ($_SESSION['verified_user'] != "") {
echo"<b>Welcome.</b><br>";
} else {
if ($_REQUEST['action'] == "login" && $_SESSION['verified_user'] == '') {
echo"<font color=\"red\">Login error!</font><br><br>";
}
?>
<form name="login_form" action="log-in.php" method="post">
<input type="hidden" name="action" value="login">
Username: <input type="text" name="username">
Password: <input type="password" name="psw"> <input type="submit" name"Login" value="Login"></form>
<?php
}

function dbconnect() {
mysql_connect("localhost", "root", "");
@mysql_select_db("film") or die ("Unable to select database");
}
?>



<?php

print("il tuo ID utente è: $result <br>");

?>

</body>
</html>
 

megarospo

Utente Attivo
25 Set 2007
147
0
0
prova mysql_fetch_array invece di mysql_fetch_row

Ho provato, ma non funziona:crying:
Per curiosità ho provato a scrivere una query simile, nella pagina che dovrebbe visualizzare l'id e ho indicato nella query dei dati certi, presenti nel database e ne ho richiesto la stampa (print): ....


Query su index.php $id_userfede = mysql_query("SELECT id FROM user WHERE nick='".$loginUsername."' AND pass='".$password."'");

Query su index2.php $id_userfede2 = mysql_query("SELECT id FROM user WHERE nick='fe2' AND pass='fe2'");

Richiesta di stampa su index2.php
<?php
print ("stampa id: $id_userfede<br>");
print ("stampa: $id_userfede2<br>");
?>

Risultati:
stampa id: 0
stampa: Resource id #4 :confused:

mmm. Non capisco proprio. il secondo risultato è una semplce query che non fa uso di form o sessioni. Mi aspettavo un risultato tranquillo??
Che ne pensi? Dove sbaglio??
 

megarospo

Utente Attivo
25 Set 2007
147
0
0
ok. Ho capito dove era il problema:

" mysql_query() non ti restituisce un valore di campo di database, ma soltanto un handler (o puntatore) alla query effettuata.
Su questo handler puoi operare le chiamare mysql_num_rows() per conoscere il numero dei row ritornati, o mysql_fetch_array() o mysql_fetch_assoc() per ottenere i valori dei vari campi. "


così ho modificato di nuovo il codice così:

index.php
$query1="SELECT id FROM user WHERE nick='".$loginUsername."' AND pass='".$password."'";
$id_userfede2 = mysql_query("$query1") or die(mysql_error()); // esegue la query
if(mysql_num_rows($id_userfede2)) { // se la query ha restituito qualche riga (altrimenti il fetch darebbe errore)
$risultato=mysql_fetch_assoc($id_userfede2); // assegna la riga ad un array associativo
}
$_SESSION['$risultato'] = $risultato;




index2.php
if (isset($_SESSION['$risultato']))
$risultato=$_SESSION['$risultato'];
print_r($ris);


Fatto su un'unica pagina funziona. Su 2 invece pagine mi restituisce:
Parse error: parse error su index.php :dipser:
cosa ne pensi??
 
Ultima modifica:

megarospo

Utente Attivo
25 Set 2007
147
0
0
ho risolto!!! ecco il codice

index.php
$query1="SELECT id FROM user WHERE nick='".$loginUsername."' AND pass='".$password."'";
$id_userfede2 = mysql_query("$query1") or die(mysql_error()); // esegue la query
if(mysql_num_rows($id_userfede2)) { // se la query ha restituito qualche riga (altrimenti il fetch darebbe errore)
$risultato=mysql_fetch_assoc($id_userfede2); // assegna la riga ad un array associativo
}
$_SESSION['$risultato'] = $risultato;


index2.php
if (isset($_SESSION['$risultato']))
$risultato=$_SESSION['$risultato'];
print_r($risultato);

Probabilmente mi giocava dei brutti scherzi ma memoria di Explorer. Dovevo svuotarla!!! grazie per l'auito:ilpirata:
 

megarospo

Utente Attivo
25 Set 2007
147
0
0
A questo punto credevo che fosse facile prendere il valore ottenuto e inserirlo in un'altra tabella con una query ISERT, ma così non è.

Ho provato ha stampare il risultato in 2 modi:
......print_r($risultato)
$risultatofinale = array($risultato);
print ("questo è l'ID: $risultatofinale[0]");

e ottengo:
Array ( [id] => 2 ) questo è l'ID: Array

il n. 2 è in effetti l'id giustyo, ma se provo ha fare un semplice print per ottenere solo 2 (senza Array ( [id] => 2 )) ottengo Array
da cosa dipende???
Ciao e grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
L form immagini per il database PHP 0
U PHP bottone per invio mail o ritorno al form PHP 15
T [PHP] Creare Honeypot per form contatti PHP 10
D [WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato WordPress 0
I Guida/Tutorial configurare PHPMailer per inviare mails tramite contact form? PHP 2
M [PHP] Framework per form complessi (configuratore prodotto) PHP 6
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
Z [MySQL] Campi corretti per form... MySQL 2
sandropochi [PHP] Form per creare filtro di ricerca su DB PHP 8
K [WordPress] Plugin per inserire un form per la ricerca in un database.. come si fa? WordPress 1
U [PHP] form per ricerca multipla: Unknown column 'undefined' in 'where clause' PHP 2
S Concatenare due campi di un form per creare un indirizzo web valido Javascript 7
xone Form completo Testi + multiple image per inserimento Annunci PHP 0
C Come posso integrare il bottone "paga adesso" di paypal e un form php per invio dati? PHP 1
A Form per modifica record database PHP 9
F aiuto per funzionamento sito responsive e form contatti HTML e CSS 29
elpirata Idee per personalizzare form HTML e CSS 9
L errore mysql per form di registrazione PHP 3
E Correzione per form PHP/HTML PHP 3
B Problema form mail per invio doppio allegato PHP 1
P Recupero dati per select form PHP 9
A Problema orario invio mail per form PHP 4
A consiglio uso jquery php per mostrare parte di un form PHP 6
A consiglio uso jquery per mostrare parte di un form jQuery 0
A Aiuto per Select form dinamica PHP 0
L come passare il campo allegato dal file html al fiel php per spedirlo con un form PHP 12
S Form per mandare la mail HTML e CSS 2
M [risolto] Script ajax per form e mappe Ajax 6
B aiuto per Form di eliminazione record PHP 21
asevenx form per formattare testo e inserirlo in databse PHP 1
U form mail per inviare tracciabilità corriere PHP 0
L Aiuto per ultimazione form invio email PHP 3
F Controlli form per Registrazione utenti PHP 9
A Pulsante per compilare una form php in automatico con dati presi da un db PHP 6
F Crear un form Contatti, per un Bed&Breakfast, dinamico, con Wordpress WordPress 3
A form in php o html per raccolta mail PHP 4
A da dove incominciare per fare vari form PHP 2
M Problema con form per accesso area riservata ai soci PHP 2
P Form per ricerca multipla in MYsql PHP 2
A problema con un semplice form per un loggin in php PHP 2
M Sicurezza dati form per insert e select in database PHP 11
C Aiuto per form PHP 5
A Aiuto per form email con allegato PHP 4
YellowMan Form mail per WordPress in italiano WordPress 2
P Mercatino Form annunci per regione Classic ASP 8
A Un input di tipo button deve per forza essere contenuto in un Form ?? HTML e CSS 6
R Altri controlii per windows form .NET Framework 2
asevenx problema con funzione per far apparire e scomparire un form di commenti PHP 1
G Inserire un campo mysql in un select per form PHP 3

Discussioni simili