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

Discussione: problema session

  1. #1

    problema session

    questa è la parte di codice che funziona in modo anomalo:

    codice:
    $connessione=mysql_connect("localhost","root","password");
    $db=mysql_select_db("agenda");
    $querylogin=mysql_query("select * from tbditte where email='".$_POST["txtusr"]."' and pwd='".$_POST["txtpwd"]."'");
    
    if (count($querylogin)!=0)
    {
    	while ($riga=mysql_fetch_array($querylogin))
    	{
    		$_SESSION["idditta"]=$riga["idditta"];
    	}
    	
    }
    il problema è che quando ricarico la pagina (al click di un bottone) la variabile in session si cancella.
    ma perchè?
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    hai messo session_start() all'inizio di ogni file?

  3. #3
    Originariamente inviato da Teuzzo
    hai messo session_start() all'inizio di ogni file?
    sì, poi ho provato a toglierlo e fa la stessa identica cosa.
    non dovrebe almeno darmi errore? :master:
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  4. #4
    quando aggiorni ti chiede di rimandare i dati?

    perché altrimenti perdi $_POST["txtusr"] e $_POST["txtpwd"] che presumo vengano da un form
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    Originariamente inviato da 13manuel84
    quando aggiorni ti chiede di rimandare i dati?

    perché altrimenti perdi $_POST["txtusr"] e $_POST["txtpwd"] che presumo vengano da un form
    sì vengono dalla pagina precedente quindi li perdo di sicuro
    solo che in teoria se non eseguo la query questa parte:

    while ($riga=mysql_fetch_array($querylogin))
    {
    $_SESSION["idditta"]=$riga["idditta"];
    }

    non la dovrebbe eseguire e la session dovrebbe rimanere come prima, o no?
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  6. #6

    Re: problema session

    Originariamente inviato da cicciociccioxxx
    questa è la parte di codice che funziona in modo anomalo:
    il problema è che quando ricarico la pagina (al click di un bottone) la variabile in session si cancella.
    ma perchè?
    Stampa l'array prima e dopo la valorizzazione... cosii' vedi dove sparisce e perche' sparisce.
    codice:
    	while ($riga=mysql_fetch_array($querylogin))
    	{
             echo 	$_SESSION["idditta"] ." - " .$riga["idditta"];
    	
             $_SESSION["idditta"]=$riga["idditta"];
    	}
    se l'atteso e' un solo record fai due imprecisioni.... (per la sicurezza) ed un erroraccio....

    l'erroraccio piu imprecisione:

    if (count($querylogin)!=0)

    $querylogin raccoglie l'id resource della query e non il numero delle righe. $querylogin e' una variabile e non un array e quindi count conta sempre 1. L'imprecisione... se aspetti zero/un record metti == 1 e non != da zero.

    Altra imprecisione.... se aspetti una sola riga perche' usi WHILE???


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7

    Re: Re: problema session

    Originariamente inviato da piero.mac

    Altra imprecisione.... se aspetti una sola riga perche' usi WHILE???

    sto imparando da sola, su internet e su un manuale ho trovato solo il while e il for.
    sinceramente uso il while perchè mi è più simpatico

    cosa dovrei usare e perchè?

    avevo già provato a stampare i valori, al primo caricamento funziona normalmente
    è quando ricarico e $_POST si vuota che perdo il valore di $_SESSION["idditta"].
    $_SESSION si vuota proprio come una variabile qualunque
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  8. #8
    cicciociccio... xxx (ma le xxx non si usano per le cose a luci rosse?)

    ecco qua aggratis una biblioteca intera....

    http://freephp.html.it/guide/index.asp


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Originariamente inviato da piero.mac
    cicciociccio... xxx (ma le xxx non si usano per le cose a luci rosse?)
    gli altri non lo so....io le ho usate perchè ciccio e cicciociccio c'erano già

    Originariamente inviato da piero.mac
    ecco qua aggratis una biblioteca intera....

    http://freephp.html.it/guide/index.asp

    grazie, questo non lo avevo ancora guardato


    però non ho capito perchè la mia session si cancella
    La cosa seccante di questo mondo è che gli stupidi sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi. B. Russel

  10. #10
    Originariamente inviato da cicciociccioxxx
    gli altri non lo so....io le ho usate perchè ciccio e cicciociccio c'erano già


    grazie, questo non lo avevo ancora guardato


    però non ho capito perchè la mia session si cancella
    Ma se la curiosita' di rode e corrode... correggi quanto indicato, stampa quanto suggerito.

    Da quattro righe di codice non si puo' sapere il perche' del per come...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.