Recuperare variabile php da javascript senza aggiornare pagina

Metazoo

Nuovo Utente
7 Mar 2017
3
0
1
44
Salve a tutti, non ho molta esperienza nè di php ed ancor meno di javascript. Per imparare e fare pratica ho voluto iniziare creando un form per il calcolo del codice fiscale, per il calcolo ho utilizzato però un file php già pronto trovato in rete, sembra funzioni. Il mio problema è il seguente:

Il mio lavoro si compone di due file php, il primo chiamato FORM.PHP che contiene gli input per l'inserimento dei dati anagrafici nome, cognome, nascita, ecc...,
il secondo chiamato CODICEFISCALE.PHP che si occupa del calcolo.

1. Da FORM.PHP inserisco i dati anagrafici.
2. Uno script javascript invia i dati tramite POST al file CODICEFISCALE.PHP che li processa e inserisce il codice calcolato in una variabile.

Fin qui tutto funziona regolarmente.

Ora vorrei recuperare la variabile generata da CODICEFISCALE.PHP per inserirla in una casella di testo del file FORM.PHP senza riaggiornare la pagina.

Ho provato ad inserirla in $_SESSION, funziona, ma solo se riaggiorno manualmente la pagina FORM.PHP.

Grazie
 
Grazie per il suggerimento, ma devo dirti che per me che sono alle prime armi speravo che il contenuto della discussione fosse più di immediata comprensione, a prima vista sembra non risponda a ciò che stavo cercando, cercherò di fare qualche tentativo.
Qualcuno potrebbe dirmi semplicemente come richiamare una variabile che si trova in un file php?
 
Richiamare? in che senso? recuperare forse intendi... una variabile la recuperi con un POST o GET o chiamando la pagina la recuperi in una stringa... Ora vedo che ne mastichi poco e credo che quello che si dice ti sia poco "digeribile"... se vuoi un piccolo aiuto fai un esempio pratico con il codice.
Ciao
 
Ciao, innanzitutto ti ringrazio per la disponibilità, ed anche per la pazienza che di sicuro ti servirà, lo schema qui sotto riassume in maniera credo abbastanza chiara la mia situazione, se dovesse servirti il codice lo inserirò appena possibile.

Il funzionamento è il seguente: dalla pagina Form.php l'utente inserisce i dati anagrafici che vengono inviati tramite uno script javascript con metodo POST al file codicefiscale.php, il quale li elabora e crea la variabile $codicefiscale che contiene appunto il codice fiscale dell'utente, a questo punto vorrei che questa variabile venga reinviata a Form.php e inserita in una casella di testo, tutto questo naturalmente senza che l'utente aggiorni la pagina Form.php. Non saprei come spiegarlo più semplicemente.

Grazie di nuovo
 

Allegati

  • Codice Fiscale MrWebmaster Discussione.jpg
    Codice Fiscale MrWebmaster Discussione.jpg
    91,6 KB · Visite: 445
Devi usare AJAX. Ti posto uno snippet di codice:
HTML:
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>home</title>
        <script>
            function show(){
                httpRequest = new XMLHttpRequest();
                httpRequest.onreadystatechange = function()
                {
                    if(httpRequest.readyState == XMLHttpRequest.DONE &&
                    httpRequest.status == 200 )
                    {
                        b = httpRequest.responseText; //in b è contenuto il codice fiscale che ti restituisce il PHP
                    }
                }
                modulo = new FormData(document.getElementById('myForm'));
                httpRequest.open("POST","codicefiscale.php",true);
                httpRequest.send(modulo);  
               
            }
        </script>
    </head>
   
    <body>
        <div id="form">
            <form id="myForm">
                //inserisci i campi e assicurati che ogni campo ha l'attributo name
            </form>
            <button onClick="show()" style="margin-bottom:10px">Invia</button>
        </div>
        <div id="chat">
        </div>
    </body>
</html>

In codicefiscale.php invece

PHP:
<?php

// preleva i dati con $_POST["nomeParametro"]

echo $codicefiscale;

?>

Ovviamente la variabile b presente nello script devi poi inserirla in un div (per esempio) per visualizzarla
 

Discussioni simili