Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142

    Variabile Session salvata da php

    Ciao a tutti,
    non sono esperto di Javascript ( e lo sono poco pure di php ). Sto modificando un form per l'inserimento di dati su un sito per inserire un controllo captcha per evitare le richieste da bot.
    Ho trovato uno script php molto efficiente che utilizza solo php sia per creare l'immagine che per validarla. Io vorrei creare l'immagine con il php ma poi validarla aggiungendo poche ricghe al codice javascript esistente ma non riesco ad accedere alla variabile memorizzata nella sessione dal php.

    Codice PHP:
    ....

    // memorizzo il codice per la successiva verifica
    session_start();
    $_SESSION['code'] = $pass 
    Esiste un modo per accedere a tale valore dal javascript?
    Grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Io non conosco il php, le possibilità che hai e valorizare una variabile js nella pagina tipo: var session = session[php] oppure usare ajax (info http://javascript.html.it ajax) per "interrogare" il server
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    Se non erro (è passato un po' di tempo da quando smanettavo con queste cose), potresti fare una cosa del genere:

    <?
    session_start();
    $_SESSION['code'] = $pass;
    ?>
    <script>
    var variabileJS=<?echo($pass);?>;
    </script>


    in questo modo dovresti otterere una variabile javascript con dentro il valore della variabile di sessione 'code' precedentemente salvata nella variabile PHP $pass.

    Spero sia chiaro e spero funzioni

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    bentornato Dennis

    se e' una stringa, andra' tra apici
    var variabileJS="<?echo($pass);?>";

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142
    Vi ringrazio per la risposta ma non mi è chiaro cosa fare.

    Io ho un file .php che mi genera l'immagine e mi salva il codice come descritto sopra

    Codice PHP:
    session_start();
    $_SESSION['code'] = $pass 
    poi ho un form generato in una pagina del sito che viene convaliato da codice javascript:
    Codice PHP:
    <SCRIPT language=JavaScript>
    function 
    ValidateForm(myForm)
    {
     .......        
    }
    </SCRIPT> 
    per poter usar la variabile $_SESSION['code'] in quello script devo definire la variabileJS lì dentro?

    io ho provo così ma mi dice sempre "undefined":

    Codice PHP:
      var prova "'.$_SESSION['code'].'"
       
    alert(prova.value); 
    provando con:
    Codice PHP:
    var variabileJS=<?echo($pass);?>;
    il browser esce dalla funzione di validazione in modo errato...

    dove la devo valorizzare la variabile javascript?

    Grazie ancora

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142
    con gli apici non mi va in errore ma cmq il suo valore dato da:

    Codice PHP:
       var variabileJS="<?echo($pass);?>";
       alert(variabileJS.value);
    è undefined

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non ha un value, mica e' un input
    alert(variabileJS) basta

    comunque fai prima a visualizzare l' html risultante nel browser

    considera anche che
    1- il session start andra' specificato anche nella pagina del form
    2- se quella parte in php che salva in sessione e' eseguita al richiamo di un' immagine,
    come probabilmente un captcha lavora, non puoi pretendere di avervi accesso prima che venga generata, in pratica quella variabile non ancora esiste se cerchi di fare nello stesso documento

    <script> prendo variabile da sessione per il mio controllo
    <form>
    <img che crea la variabile di sessione>

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142
    Grazie Xinod,

    1. Nella pagina del form devo inserire session_start(); prima di qualsiasi altro output? Basta il solo session_start() o serve dell'altro?

    2. Faccio come dici tu, ma lo script di controllo viene richiamato solo quando si clicca su un pulsante quindi non dovrebbero esserci problemi..

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da som
    2. Faccio come dici tu, ma lo script di controllo viene richiamato solo quando si clicca su un pulsante quindi non dovrebbero esserci problemi..
    se ho capito bene al 99% ci sono problemi

    quando fai eseguire la funzione non ha importanza
    ha importanza quando il browser richiede lo script, perche' li' viene tirato in ballo il php:
    se al momento di richiedere lo script esiste questa variabile di sessione (ed ha il valore corretto) nessun problema

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    142
    Spostata la funzione di validazione ma niente... sbaglio qualcosa sicuramente.

    Da questo:

    Codice PHP:
    <SCRIPT language=JavaScript> 
    function ValidateForm(myForm) 

       var variabileJS="<?echo($pass);?>";
       alert(variabileJS); 

    </SCRIPT>
    mi viene restituito come:
    <?echo($pass);?>

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.