Restituzione di un errore

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve ragazzi,

Facendo delle prove, mi giunge questo echo che ho messo a video:

SELECT * FROM utenti WHERE id='id'.string(9) "$_session"


Mi sapete dire cosa signidifica di preciso per favore ???? Quello che vorrei sapereè se l'id l'ha letto oppure no ??? Vi ringrazio a tutti e aspetto vostre spiegazioni come al solito. Ah un altra cosa, togliendo il va_dump($_Session);

Mio restituisce il seguente valore:

SELECT * FROM utenti WHERE id='id'.


Chieso sempre cosa mi indica. da qui sembrerebbe che non abbia letto il valore dell'id, o sbaglio ????
 
Ultima modifica:
Ciao paperinik4,

l'errore è che non hai passato la variabile che contiene il valore numerico dell'id.

Il codice corretto dovrebbe essere questo:

id='.$id.'

dove $id è una variabile dove al suo interno è stato memorizzato l'id del record presente nella tabella del db.
 
Ciao

Ciao paperinik4,

l'errore è che non hai passato la variabile che contiene il valore numerico dell'id.

Il codice corretto dovrebbe essere questo:

id='.$id.'

dove $id è una variabile dove al suo interno è stato memorizzato l'id del record presente nella tabella del db.

Ciao,

Quindi basterebbe fare una cosa del genere:

PHP:
echo '.$id';

Per quanto riguarda invece la pagina riservata ad ogni utente come posso risolvere il problema ??? Grazie della spiegazione comunque.
 
Ciao,

Quindi basterebbe fare una cosa del genere:

PHP:
echo '.$id';

Per quanto riguarda invece la pagina riservata ad ogni utente come posso risolvere il problema ??? Grazie della spiegazione comunque.

no, devi scriverlo come te l'ho scritto io. la select in php sarà così:

$sql="SELECT * FROM utenti WHERE id=".$id;

Mi spieghi a che cosa serve questa parte di codice?

.string(9) "$_session"
 
no, devi scriverlo come te l'ho scritto io. la select in php sarà così:

$sql="SELECT * FROM utenti WHERE id=".$id;

Mi spieghi a che cosa serve questa parte di codice?

.string(9) "$_session"

E' un var_dump($_session); che viene visualizzato dopo l'id è tutto attaccato. perdonami, ma io debbo leggere solo l'id se viene caricato dalla query che c'è prima.;la query è la seguente:

PHP:
 $q=mysql_query("SELECT * FROM utenti WHERE username='$usn' AND password='$pas' AND username='$usn' AND attivo = 1");

Che poi mi serve per acceddere alla paginaris.php dopo il confronto.
 
Ultima modifica:
allora, prima della query devi aggiungere questo:

$result=mysql_fetch_assoc($q);

e dopo la query sarà così:

$q=mysql_query("SELECT * FROM utenti WHRE id=".$result['id']);

Da qui fai un altro mysql_fetch_assoc e ricavi tutti i dati presenti nel db che hanno come id $result['id'].
 
Ciao

allora, prima della query devi aggiungere questo:

$result=mysql_fetch_assoc($q);

e dopo la query sarà così:

$q=mysql_query("SELECT * FROM utenti WHRE id=".$result['id']);

Da qui fai un altro mysql_fetch_assoc e ricavi tutti i dati presenti nel db che hanno come id $result['id'].

Ok,

Ci provo e ti dico il risultato. Ho fatto na cosa del genere, correggimi se ho sbagliato per favore:

PHP:
session_start();//aggiungi questa e
require_once("connetti.php");
if(isset($_POST['log'])){
    
   $usn=htmlspecialchars(trim($_POST['username']));
    $pas=md5(trim($_POST['password']));
   
  //$nome = mysql_real_escape_string(strtolower(trim ($_POST['nome'])));
 
    //$q=mysql_query("SELECT * FROM utenti WHERE username='$usn' AND password='$pas' ");
   $result=mysql_fetch_assoc($q);
   $q=mysql_query("SELECT * FROM utenti WHRE id=".$result['id']);
$result=mysql_fetch_array($q);

   $q=mysql_query("SELECT * FROM utenti WHERE username='$usn' AND password='$pas' AND username='$usn' AND attivo = 1");
    if(mysql_num_rows($q) > 0){
$_SESSION['id']=$id;// questa 
      $riga=mysql_fetch_array($q);//aggiungi questa e
        $_SESSION['nome']=$riga['nome'];//questa 

    
        
        header("location: paginaris.php");
 
Ultima modifica:
Ok,

Ci provo e ti dico il risultato. Ho fatto na cosa del genere, correggimi se ho sbagliato per favore:

PHP:
session_start();//aggiungi questa e
require_once("connetti.php");
if(isset($_POST['log'])){
    
   $usn=htmlspecialchars(trim($_POST['username']));
    $pas=md5(trim($_POST['password']));
   
  //$nome = mysql_real_escape_string(strtolower(trim ($_POST['nome'])));
 
    //$q=mysql_query("SELECT * FROM utenti WHERE username='$usn' AND password='$pas' ");
   $result=mysql_fetch_assoc($q);
   $q=mysql_query("SELECT * FROM utenti WHRE id=".$result['id']);
$result=mysql_fetch_array($q);

   $q=mysql_query("SELECT * FROM utenti WHERE username='$usn' AND password='$pas' AND username='$usn' AND attivo = 1");
    if(mysql_num_rows($q) > 0){
$_SESSION['id']=$id;// questa 
      $riga=mysql_fetch_array($q);//aggiungi questa e
        $_SESSION['nome']=$riga['nome'];//questa 

    
        
        header("location: paginaris.php");


Qui:
//$q=mysql_query("SELECT * FROM utenti WHERE username='$usn' AND password='$pas' ");
$result=mysql_fetch_assoc($q);

riceverai il primo errore. Non puoi fare un mysql_fetch_assoc di una variabile vuota!

inoltre il resto del codice non ha molto senso.
alle variabili di sessione hai assegnato (e già questo non è possibile) una variabile vuota ed una con un indice errato.

Facciamo una cosa, posta il codice e poi descrivi quello che devi fare con il codice.
 

Discussioni simili