Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: domanda sul php-mysql

  1. #1
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235

    domanda sul php-mysql

    ciao non riesco a capire perchè dopo una registrazione e un redirect all'home dove eseguo questo script, non riesco a sapere il mio id!!
    $user e $psw li prende perfettamente tramite sessione, ma dopo la query non riesco a trovare l'id come mai???
    codice:
    $connection=mysql_connect("127.0.0.1","root","");
    $selezioneDB=mysql_select_db("archivio");
    session_start(); 
    if(isset($_SESSION['username'])){
     $user=$_SESSION['username'];
     $psw=$_SESSION['password']; 
    $resultset=mysql_query("SELECT id FROM users WHERE username='$user' AND password='$psw'"); 	
    	$id_temp=mysql_fetch_row($resultset); 	
    	$id=$id_temp[0]; 
    echo "id==".$id."
    ".$user;

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ...DEBUGGING+DUMPING...!!!

    Stampa le variabili che usi... quindi:
    Codice PHP:
    $connection=mysql_connect("127.0.0.1","root","");
    $selezioneDB=mysql_select_db("archivio");
    session_start(); 
    if(isset(
    $_SESSION['username'])){
     
    $user=$_SESSION['username'];
     
    $psw=$_SESSION['password']; 
    print 
    "USER=$user
    PSW=
    $psw
    "
    // <--------------------
    $query "SELECT id FROM users WHERE username='$user' AND password='$psw'"// definire la query con una variabile per poter fare il dump...
    print "QUERY=$query
    "
    // <--------------------
    $resultset=mysql_query($query);
        
    $id_temp=mysql_fetch_row($resultset);     
    print 
    "id_temp=".var_export($id_temptrue)."
    "
    // <--------------------
        
    $id=$id_temp[0]; 
    print 
    "id=$id
    "
    // <--------------------
    echo "id==".$id."
    "
    .$user

  3. #3
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    grazie per l'aiuto
    allora se utilizzo i dati di un utente già registrato va tutto ok, se invece prima mi registro poi faccio il redirect all'home dove c'è quel pezzo di codice che mi hai dato tu
    non mi da l'id però user e psw sono corrette

    codice:
    USER=io 
    PSW=io 
    QUERY=SELECT id FROM users WHERE username='io' AND password='io' 
    id_temp=false
     id= id== io
    questo è il codice della registrazione di un nuovo utente
    dov'è il problema??
    codice:
    $connection=mysql_connect("127.0.0.1","root","")or die(mysql_error()); 	mysql_select_db("archivio"); 
    	$user=$_POST["username"];
     	$pass=md5($psw); 	
    $key_control=$_POST["risposta"]; 	
    $domanda=$_POST["domanda"]; 
    	mysql_query("INSERT INTO users (username, email, password,domanda,key_control) 	
    VALUES ('$user', '$mail', '$pass','$domanda','$key_control');")or die(mysql_error()); 
      	$nome=$_POST["nome"]; 
    	$cognome=$_POST["cognome"];
     	$residenza=$_POST["residenza"];
     	$annoNascita=$_POST["annoNascita"];
     	$occupazione=$_POST["occupazione"]; 
    	$indirizzo=$_POST["indirizzo"];
     	$iscrizione= date("d-m-Y");  	 
    	mysql_query("INSERT INTO datiuser (nome, cognome,residenza,annoNascita,occupazione,indirizzo,iscrizione) 
    	VALUES ( '$nome', '$cognome','$residenza','$annoNascita','$occupazione','$indirizzo','$iscrizione');")or die(mysql_error());    
    	//Apro la sessione e... 	
    	session_start();  	//Salvo i dati... 
    		$_SESSION['username'] = $user; 	
    	$_SESSION['password'] = $psw; 	
    	header("Location: http://localhost/SitoTirocinio/home.php");
      }

  4. #4
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    e poi un altro problema io vorrei salvare l'id nella sessione per riportarmelo nelle altre pagine e poi in una dove cancello l'utente dalle due tabelle con questa query

    $result = mysql_query("DELETE FROM users,datiuser WHERE users.id=datiusers.id2 AND id='$id' ") or die(mysql_error());

    ma mi da un errore di sintassi nonostante l'id sia corretto

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE users.id=datiusers.id2 AND id='2'' at line 1

    per favore aiutatemi che devo consegnare il progetto martedi mattina e non sono riuscito ancora a risolvere tutti i problemi

  5. #5
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    qualcuno che mi può dare una mano?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    "one at a time"... tornando al punto dove hai postato il dump che ti ho suggerito si vede che NON c'è un utente con quei dati, quindi quando fai la registrazione non sta inserendo i dati correttamente, pare... verifica intanto questo aspetto...

  7. #7
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    com'è possibile? dopo aver fatto logout e di nuovo login l'id me lo trova, quindi questo vuol dire che la registrazione è corretta, infatti sul phpmyadmin c'è il nuovo utente

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    forse un problema con il redirezionamento... anche se dubito... bisogna capire meglio la struttura dei file in gioco

  9. #9
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    conferma registrazione è sopra il mio problema sorge solo nel caso in cui un utente che si è appena registrato voglia cancellarsi immediatamente perchè non riesce ad eseguire la query per l'id

    codice:
    <?php  session_start(); 
    $connection=mysql_connect("127.0.0.1","root","") or die("Connessione DB fallita".mysql_error()); 
    mysql_select_db("archivio") or die("Selezione DB fallita".mysql_error()); 
     if(isset($_SESSION['username'])){
     $user=$_SESSION['username'];
     $psw=$_SESSION['password']; 
    	$query = "SELECT id FROM users WHERE username='$user' AND password='$psw'"; // definire la query con una variabile per poter fare il dump...  	
    $resultset=mysql_query($query);  
    	$id_temp=mysql_fetch_row($resultset);  
    	$id=$id_temp[0];     
     	$result = mysql_query("DELETE  FROM  users WHERE id='$id' ") or die(mysql_error());  	header("Location: http://localhost/SitoTirocinio/home.php");  
    	session_destroy(); 
    } else { 
    	echo "nessun utente collegato"; 
    	header("Location: http://localhost/SitoTirocinio/home.php");  
    	session_destroy(); }

  10. #10
    Utente bannato L'avatar di payens88
    Registrato dal
    Jun 2010
    Messaggi
    235
    scusa poi un altra domanda ma perchè se utilizzo include per header sidebar e footer mi da un warning Warning: include(header.php) [function.include]: failed to open stream:

    perchè se sul css dell'header metto ../default.css non mi da il warning ma non mi carica nemmeno il template mentre sull'home page senza ../ mi carica tutto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.