Visualizzazione dei risultati da 1 a 9 su 9

Discussione: sessioni ajax php

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    103

    sessioni ajax php

    salve a tutti,
    ho una loigin in ajax, praticamente i dati vengono passati dal form html a javascript e poi a php, che li sottopone al db, ed in base alla loro correttezza manda i risultati al javascript,se i dati sn giusti manda 2 senno 1, il javascript a sua volta,nel primo caso fa una redirect verso un altra pagina ,e nel secondo caso stampa un messaggio di errore.
    Ora,quello che mi serve è ke nel caso user e password siano corrette,la pagina a cui l'utente acceda sia protetta..
    quindi ho pensato nel php quando controllo i risultati e sto per mandare il valore 2 al javascript, setto
    $_SESSION['username']=$_POST['username'];

    e poi nella pagina protetta gli dico..if(isset($_SESSION['username'])){...contenuto della pagina..}else{echo impossibile accedere ai contenuti della pagina;}

    il problema è che anke nel caso in cui user e pwd siano corrette mi stampa il messaggio di errore..
    sapete dirmi perke?? e se dipende da ajax?
    perke qst stratagemma lo adottavo prima qnd non usavo ajax e problemi non ne avevo..

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: sessioni ajax php

    Originariamente inviato da hab
    salve a tutti,
    ho una loigin in ajax, praticamente i dati vengono passati dal form html a javascript e poi a php, che li sottopone al db, ed in base alla loro correttezza manda i risultati al javascript,se i dati sn giusti manda 2 senno 1, il javascript a sua volta,nel primo caso fa una redirect verso un altra pagina ,e nel secondo caso stampa un messaggio di errore.
    Ora,quello che mi serve è ke nel caso user e password siano corrette,la pagina a cui l'utente acceda sia protetta..
    quindi ho pensato nel php quando controllo i risultati e sto per mandare il valore 2 al javascript, setto
    $_SESSION['username']=$_POST['username'];

    e poi nella pagina protetta gli dico..if(isset($_SESSION['username'])){...contenuto della pagina..}else{echo impossibile accedere ai contenuti della pagina;}

    il problema è che anke nel caso in cui user e pwd siano corrette mi stampa il messaggio di errore..
    sapete dirmi perke?? e se dipende da ajax?
    perke qst stratagemma lo adottavo prima qnd non usavo ajax e problemi non ne avevo..
    Qui di javascript non vedo nemmeno una riga... se vuoi sposto anche questa su PHP

    ciao

    ps: perdona, ma ho una certa eta'... se poi vedo troppe K non riesco a capire facilamente cosa scrivi
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    103
    il mio intento è quello di spiegare quanto meglio cosa vorrei fare..percio ci sono troppe righe..in ogni caso chiedevo se poteva essere un problema riguardante ajax o php,dato che con php non mi ha mai dato problemi mentre con ajax si..
    comunque non importa, io i miei dubbi li posto, perkè se magari c'è qlcn che sa come ovviare ne sarei felice..ma altrimenti con molta pazienza li risolvo io,senza creare malumore o nervosismo a nessuno..
    scusami se ho scritto troppe righe cmq..la prossima volta posterò piu codice che altro..

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da hab
    il mio intento è quello di spiegare quanto meglio cosa vorrei fare..percio ci sono troppe righe..in ogni caso chiedevo se poteva essere un problema riguardante ajax o php,dato che con php non mi ha mai dato problemi mentre con ajax si..
    comunque non importa, io i miei dubbi li posto, perkè se magari c'è qlcn che sa come ovviare ne sarei felice..ma altrimenti con molta pazienza li risolvo io,senza creare malumore o nervosismo a nessuno..
    scusami se ho scritto troppe righe cmq..la prossima volta posterò piu codice che altro..
    Perdona se sono stato sibillino... non volevo contestarti la quantita' di informazioni fornite, per la verta' assai scarne, ma la quantita' di segni alfabetici e abbreviazioni estranei alla lingua italiana e che poco favoriscono la comprensione del testo.

    Come diceva il saggio: chi vuol farsi intendere usa parole che tutti capiscono.

    Comunque il tuo questito va convenientemente documentato... altrimenti poco appiglio offri a chi vorrebbe aiutarti: qui di javascript continuo a non vederne un byte

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    le chiamate in ajax non si comportano come un browser normale, in quanto se non vengono definiti alcuni parametri certe cose (come la sessione) non si possono ripescare.

    Tant' e vero che in php usi session_start() per ogni pagina in sessione, e, se riesci a vedere l' header di una pagina html che gira sotto sessione, noterai che l' ID di sessione del php viene passato come parametro nell' header stesso della pagina.

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    103
    e quindi per utilizzare le sessioni con php e ajax come faccio?

    con php mi accerto che ci siano username e password inserite dall'utente dopodichè se ci sono invio ad ajax 2 e setto $_SESSION['username']=$_POST['username'];
    dove $_POST['username']=$username.

    $query="select count(*) TROVATI from users where admin='$username' and pwd='$password'";
    $stmt=ociparse($conn,$query);
    ociexecute($stmt);
    ocifetch($stmt);
    $rows=ociresult($stmt,"TROVATI");

    if($rows>0) {
    $esito='2';
    $_SESSION['username']=$_POST['username'];
    } else{
    $esito='1';
    }

    in ajax prendo la risposta e in caso positivo passo indirizzo l'utente nella pagina protetta..altrimenti gli mostro il msg di errore..

    codice:
    function gestisci_risposta() {
    	if(http_req.readyState == 4) {
    		if(http_req.status == 200){
    			var esito = http_req.responseText;
                if(esito.indexOf('2')>=0) { 
    			document.getElementById("myspan").innerHTML = "<span style='color:green'> Autenticazione effettuata!!</span>";
             	window.location.href=url;
    			}else{
    			document.getElementById("myspan").innerHTML = "<span style='color:red'> Username o password non corretta </span>";;
    			}
    			}
    		}
    
    }
    Il punto è che nella pagina protetta ho inserito un if secondo il quale se è settata $_SESSION['username'] mostra il contenuto,altrimenti da il messaggio di errore..e puntualmente mi viene visualizzato il msg di errore.,.come posso fare?

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    103
    nessun idea?

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Tu continui a pensare che sia un errore javascript... nell'altra discussione (anzi nelle altre ) affermi che il php restituisce due valori distinti ma che poi il javascript ne vede uno solo... come ti sei accertato che il PHP restituisca effettivamente due valori? hai fatto un alert sul client? hai registrato sul server un log degli stessi? o hai solo deciso che cosi' e' perche' lo prevede il programma? (scusa il dubbio, ma io di PHP non ci capisco nulla)

    Facciamo un ultimo tentativo, poi perdona ma devo decidere se chiudere questa discussione... dacci un link alla pagina ed un account di prova... proviamo a verificare di persona.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    103
    No,allora..il php restituisce 2 in caso il numero di righe trovate nel databse sia piu di zero(ovvero significa che i dati immessi dall'utente sono validi,quindi l'utente puo loggarsi) ..questo valore (il 2) viene passato al javascript,che poi indirizza l'utente alla pagina protetta..
    ma il problema non è qui!!
    fin qui..tutto funziona!

    il problema sono le sessioni,ovvero..
    quando php trova che il numero delle righe è > 0 setta la variabile di sessioneuguale al contenuto del $_POST['username']..Questa è un operazione che,non viene passata al javascript,ma serve solo per cominciare la sessione..

    quello che non capisco è:
    non usando ajax,questa procedura funziona..
    usando ajax questa procedura non funziona..
    come posso riuscire a farla andare??

    purtroppo per il momento devo lavorare in localhost,per un progetto,e mi riesce difficile mostrarvelo..
    scusate..

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 © 2026 vBulletin Solutions, Inc. All rights reserved.