Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99

    Trasferire valore variabile tramite URL fra pagine php

    Salve a tutti ho una serie di problemi.. Devo passare il valore di una variabile che viene completata attraverso un form dall'utente da una pagina php ad un altra...


    Inutile dirvi i tentativi (tramite sessioni...) fallimentari, alla fine ho optato per il passaggio della variabile tramite URL.


    Uno dei problemi è che header() non so perché non funziona quindi ho scelto di utilizzare la funzione del redirect tramite javascript. Il problema che ora si presenta è catturare il valore della variabile nell altra pagina che a quanto a pare sbaglio qualcosa nell'impostazione del link di redirect.
    Posto 2 righe di codice nella speranza che qualcuno di voi mi tiri fuori da questo labirinto...


    Prima pagina contiene un form...
    codice:
    //Prendo il valore del form e creo la variabile
    $VariabileDaPassare=$_POST['valore'];
    
    
    //... Serie di controlli db
    //Credenziali di accesso ok, utente autenticato, quindi lo mando nella pagina...
    
    
    echo '<script type="text/javascript">
    setTimeout(\'location.replace("http://www.miosito.com/paginadilog.php?code=$VariabileDaPassare")\', 4000);
    </script>';

    Nella seconda pagina devo catturare la variabile passata tramite url
    codice:
    $DammiVariabile=$_GET['code'];
       
    echo "Ecco la variabile dell utente ".$DammiVariabile;
    Il mio problema è che la variabile è un int, ossia un codice, ma a quanto pare io stampo come output:
    "Ecco la variabile dell utente $DammiVariabile" così com'è scritto..


    E non il codice inserito. In pratica non ritorna il valore in numero. Perché, come mai? Dove sbaglio?
    Sicuro che il problema sta nel link del redirect ma non ne vengo fuori.. Come posso fare? Qualche consiglio?

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova con print al posto di echo.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99
    Scusa ma cosa cambia print o echo? A me interessa prendere il valore della variabile non stampare a video il suo valore. Attualmente stampo a video per verificare che il valore sia corretto cosa che finora non è, perché, anziché stamparmi quello che contiene mi stampa il nome della variabile. In ogni caso ho provato anche con print e non cambia nulla...

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Scusa non so perche ho scritto quello che ho scritto. Infatti volevo dire di rimpiazzare le apici con dei "

    $a = 10;

    print '$a' stamperà $a

    mentre

    print "$a" stamperà 10.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99
    No, non c'è verso... Apici o virgolette, print o echo, mi stampa solo il nome della variabile... Dannazione mi sta facendo impazzire questa cosa e non ne vengo a capo. Ad ogni modo io nella prima pagina effettuo controllo con un echo e il valore mi viene stampato correttamente. Non capisco per quale ragione nella seconda pagina non riesco a recuperarlo... Ma è giusto quello che faccio nel redirect? Io penso che sia quello il problema...

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Codice PHP:
    <?php 
    //Prendo il valore del form e creo la variabile
    $VariabileDaPassare=123456789;
    //... Serie di controlli db
    //Credenziali di accesso ok, utente autenticato, quindi lo mando nella pagina...
    print "con '<br/>";
    echo 
    '<script type="text/javascript">setTimeout(\'location.replace("http://www.miosito.com/paginadilog.php?code=$VariabileDaPassare")\', 4000);</script>';
    print 
    "con \"<br/>";
    echo 
    "<script type=\"text/javascript\">setTimeout('location.replace(\"http://www.miosito.com/paginadilog.php?code=$VariabileDaPassare\")', 4000);</script>";
    ?>
    Genera :

    con '<br/>
    <script type="text/javascript">setTimeout('location.replace("http://www.miosito.com/paginadilog.php?code=$VariabileDaPassare")', 4000);</script>

    con "<br/>
    <script type="text/javascript">setTimeout('location.replace("http://www.miosito.com/paginadilog.php?code=123456789")', 4000);</script>

    EDIT : avevo dimenticato di togliere i \ vicino agli apici.
    Ultima modifica di badaze; 23-11-2014 a 18:40
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99
    No purtroppo non funziona il link... Non mi effettua il redirect. Ho controllato minuziosamente cos'hai postato e credo di averlo replicato correttamente, ma cambiando apici con virgolette rimango fermo sulla pagina del form. Non mi manda nell'altra pagina.
    Pazzesco, sono 3 giorni che ci sto litigando...

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da Erwin19 Visualizza il messaggio

    Nella seconda pagina devo catturare la variabile passata tramite url
    codice:
    $DammiVariabile=$_GET['code'];
       
    echo "Ecco la variabile dell utente ".$DammiVariabile;
    Il mio problema è che la variabile è un int, ossia un codice, ma a quanto pare io stampo come output:
    "Ecco la variabile dell utente $DammiVariabile" così com'è scritto..
    Ti stampa "Ecco la variabile dell utente $DammiVariabile" perche $DammiVariabile contiene la stringa "$DammiVariabile".
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da Erwin19 Visualizza il messaggio
    No purtroppo non funziona il link... Non mi effettua il redirect. Ho controllato minuziosamente cos'hai postato e credo di averlo replicato correttamente, ma cambiando apici con virgolette rimango fermo sulla pagina del form. Non mi manda nell'altra pagina.
    Pazzesco, sono 3 giorni che ci sto litigando...
    Posta il sorgente html.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    99
    Non c'è bisogno di postare il sorgente delle pagine, è un redirect e devo prendere il valore della variabile. Attualmente sto lavorando con il codice che hai postato. Se a te funziona allora il mio problema è lato server, se non funziona come capita a me significa che c'è qualche errore nel codice..
    Sto lavorando sul tuo esempio, se funziona questo, funzionerà anche sulle mie pagine...


    Prima pagina:
    codice:
    <?php 
    //Prendo il valore del form e creo la variabile
    $Codice=123456789;
    //... Serie di controlli db
    //Credenziali di accesso ok, utente autenticato, quindi lo mando nella pagina...
    print "con '<br/>";
    echo '<script type="text/javascript">setTimeout(\'location.replace("http://www.miosito.com/leggoVariabile.php?code=$Codice")\', 4000);</script>';
    //print "con \"<br/>";
    //echo "<script type=\"text/javascript\">setTimeout(\'location.replace(\"http://www.miosito.com/leggoVariabile.php?code=$Codice\")\', 4000);</script>";
    ?>

    Seconda pagina:
    codice:
    <?php
    $RecuperoCodice=$_POST['code'];
    echo"La variabile contiene: $RecuperoCodice";
    ?>
    Con l'esempio delle virgolette il redirect non funziona. Quello con apici, sì, ma non recupero il valore della variabile.

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.