Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133

    Problema con passaggio di pagine php

    Salve!
    Ho un problema che da una settimana non riesco a risolvere, spero che mi possiate aiutare e che risolveremo il problema e abbiate pazienza con me ma il php lo stò imparando piano piano. Grazie!

    Questa è la pagina domanda.php

    Codice PHP:

    <form action="php.php" method="post">


    [
    b][/b]</p>
    <
    input type="radio" name="R1" value="1"></input>

    <
    input type="radio" name="R1" value="2"></input>

    <
    input type="radio" name="R1" value="3"></input>

    <
    input type="radio" name="R1" value="4"></input>

    <
    input type="radio" name="R1" value="5"></input>


     


    [
    b][/b]</p>
    <
    input type="radio" name="R2" value="1"></input>

    <
    input type="radio" name="R2" value="2"></input>

    <
    input type="radio" name="R2" value="3"></input>

    <
    input type="radio" name="R2" value="4"></input>

    <
    input type="radio" name="R2" value="5"></input>


     


    [
    b][/b]</p>
    <
    input type="radio" name="R3" value="1"></input>

    <
    input type="radio" name="R3" value="2"></input>

    <
    input type="radio" name="R3" value="3"></input>

    <
    input type="radio" name="R3" value="4"></input>

    <
    input type="radio" name="R3" value="5"></input>





    [
    b][/b]</p>
    <
    input type="radio" name="R4" value="1"></input>

    <
    input type="radio" name="R4" value="2"></input>

    <
    input type="radio" name="R4" value="2"></input>

    <
    input type="radio" name="R4" value="4"></input>

    <
    input type="radio" name="R4" value="5"></input>



    <
    input type="submit" value="Rispondi" />
    </
    form
    Questa è la pagina php.php (funziona col form ma non trasmette i dati nella pagina classifica.php

    Codice PHP:
    $risposta_corretta_domanda1=3;
    $risposta_corretta_domanda2=1;
    $risposta_corretta_domanda3=4;
    $risposta_corretta_domanda4=1;

    $frase1=isset($_POST['R1'])?$_POST['R1']:"";
    $frase2=isset($_POST['R2'])?$_POST['R2']:"";
    $frase3=isset($_POST['R3'])?$_POST['R3']:""
    $frase4=isset($_POST['R4'])?$_POST['R4']:""
    $punteggio 0;      // variabile del risultato

    if($frase1 == $risposta_corretta_domanda1) { 
    $punteggio++; 
    echo 
    "[b]Risposta alla domanda 1[/b] : [b]<u>[i]<font color= green>ESATTA!</font>[/i][/b][i]</u>[/i]

    "

    } else {
    if (
    $frase1 == "") echo "[b]Domanda 1[/b]: [b]<u>[i]NON HAI RISPOSTO[/i][/b][i]</u>[/i]

    "
    ;
    else echo 
    "[b]Risposta alla domanda 1[/b]: [b]<u>[i]<font color= red>ERRATA!</font>[/i][/b][i]</u>[/i] 

    <font color= red>RIPROVA</font>

    "
    ;


     
    if(
    $frase2 == $risposta_corretta_domanda2) { 
    $punteggio++; 
    echo 
    "[b]Risposta alla domanda 2[/b]: [b]<u>[i]<font color= green>ESATTA!</font>[/i][/b][i]</u>[/i]

    "
    ;
    } else {
    if (
    $frase2 == "") echo "[b]Domanda 2[/b]: [b]<u>[i]NON HAI RISPOSTO[/i][/b][i]</u>[/i]

    "
    ;
    else echo 
    "[b]Risposta alla domanda 2[/b]: [b]<u>[i]<font color= red>ERRATA!</font>[/i][/b][i]</u>[/i] 

    <font color= red>RIPROVA</font>

    "
    ;

     
    if(
    $frase3 == $risposta_corretta_domanda3) { 
    $punteggio++; 
    echo 
    "[b]Risposta alla domanda 3[/b]: [b]<u>[i]<font color= green>ESATTA!</font>[/i][/b][i]</u>[/i]

    "
    ;
    } else {
    if (
    $frase3 == "") echo "[b]Domanda 3[/b]: [b]<u>[i]NON HAI RISPOSTO[/i][/b][i]</u>[/i]

    "
    ;
    else echo 
    "[b]Risposta alla domanda 3[/b]: [b]<u>[i]<font color= red>ERRATA!</font>[/i][/b][i]</u>[/i] 

    <font color= red>RIPROVA</font>

    "
    ;


    if(
    $frase4 == $risposta_corretta_domanda4) { 
    $punteggio++; 
    echo 
    "[b]Risposta alla domanda 4[/b]: [b]<u>[i]<font color= green>ESATTA!</font>[/i][/b][i]</u>[/i]

    "
    ;
    } else {
    if (
    $frase4 == "") echo "[b]Domanda 4[/b]: [b]<u>[i]NON HAI RISPOSTO[/i][/b][i]</u>[/i]

    "
    ;
    else echo 
    "[b]Risposta alla domanda 4[/b]: [b]<u>[i]<font color= red>ERRATA!</font>[/i][/b][i]</u>[/i] 

    <font color= red>RIPROVA</font>

    "
    ;


    $tot = ($punteggio == 1) ? "$punteggio punto" "$punteggio punti"
    $punteggio=$_SESSION['punteggio']; 
    echo 
    "Hai totalizzato $tot"

    ?> 
    Questa è la pagina classifica.php

    Codice PHP:
    <?php 

    $query
    =mysql_query("SELECT cognome_utente, nome_utente FROM classifica ORDER BY tot");

    $classifica=mysql_num_rows($query);

    echo 
    "<table>";  
    //non devi usare l'array globale $_post 
    while($classifica=mysql_fetch_array($query)){  

      
    $cognome_utente=$classifica['cognome_utente'];  
    $nome_utente=$classifica['nome_utente'];  
    $tot=$classifica['tot'];
    $punteggio=$_SESSION['punteggio'];  
    $tot = ($punteggio == 1) ? "$punteggio punto" "$punteggio punti";


    echo 
    "<tr> 
        
        <td>
    $cognome_utente</td> 
        <td>
    $nome_utente</td> 
         <td>Hai totalizzato 
    $tot</td>
        
        </tr>"
    ;  
    //fine del while 
    echo "</table>

    "
    ;   
    ?>
    Grazie infinite di nuovo!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133

  3. #3
    Non sono sicuro di questo:
    Codice PHP:
    $frase1=isset($_POST['R1'])?$_POST['R1']:""
    $frase2=isset($_POST['R2'])?$_POST['R2']:""
    $frase3=isset($_POST['R3'])?$_POST['R3']:""
    $frase4=isset($_POST['R4'])?$_POST['R4']:""
    Prova a mettere in php.php:
    Codice PHP:
    print_r($_REQUEST); 
    e vedi che variabili ti recupera.
    E' una funzione che visualizza tutte le variabili e i cookie che la pagina riceve.
    Vedi se ti arrivano le variabili dalla pagina domanda.php e, se così non fosse, il problema è nell'invio, altrimenti c'è un errore nel recupero delle variabili.
    Ce l'ho fatta! - ItalianPixel -

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Grazie per la risposta, no quello mi funziona alla perfezione, domande e risposte sono perfettamente funzionanti, corrette, errate...e mi dà pure il conteggio finale giusto. Quindi fino a qui tutto ok.

    Il problema che il $tot ossia il punteggio finale dell'utente non me lo manda alla pagina "classifica.php" penso sia un problema si SESSION che non riesco a risolvere mannaggia.

    Grazie!

  5. #5
    Dov'è che la dichiari la sessione? Perché vedo che hai assegnato ad una variabile il suo valore ma non hai creato la sessione.
    Mi sembra...
    Ce l'ho fatta! - ItalianPixel -

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Qua non dichiaro la sessione?

    $tot = ($punteggio == 1) ? "$punteggio punto" : "$punteggio punti";
    $punteggio=$_SESSION['punteggio'];
    echo "Hai totalizzato $tot";

    Perchè nella pagina php.php funziona e nella pagina classifica.php no? SIGH!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    C'è in entrambe le pagine portapipe

    Grazie!

  8. #8
    La sessione bisogna aprirla:
    session_open();

    Poi crearla e assegnargli un valore:
    $_SESSION['chiave'] = 'valore';

    e chiuderla al logout
    session_close();

    Con print_r stampi gli array delle variabili... e ti vengono tutte quante?
    Anche la sessione punteggio?
    [punteggio]=>'numeropunteggio'
    Dovresti vederlo così.

    Se no prova con i cookie.
    Tanto quando crei un cookie che dura 10 minuti sei a posto, no? time()+600 .
    setcookie('punteggio',$tot,time()+600);
    Ce l'ho fatta! - ItalianPixel -

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Originariamente inviato da portapipe
    La sessione bisogna aprirla:
    session_open();

    Poi crearla e assegnargli un valore:
    $_SESSION['chiave'] = 'valore';

    e chiuderla al logout
    session_close();

    Con print_r stampi gli array delle variabili... e ti vengono tutte quante?
    Anche la sessione punteggio?
    [punteggio]=>'numeropunteggio'
    Dovresti vederlo così.

    Se no prova con i cookie.
    Tanto quando crei un cookie che dura 10 minuti sei a posto, no? time()+600 .
    setcookie('punteggio',$tot,time()+600);
    La sessione non l'ho scritta ma è aperta con session_start();

    Vuoi dirmi che $punteggio=$_SESSION['punteggio']; non bisogna metterlo? ma mettere $_SESSION['classifica'] = 'punteggio'; ?

    Anche con altri amici non riusciamo a risolvere questa cosa...spero che qui con voi riuscirò, tieni presente che domande e la risposta nella pagina .php c'è è vanno perfettamente ma non riesco a fare una classifica utenti secondo il punteggio. Ho anche il database.

    Grazie portapipe sei gentilissimo
    Ciao e notte!

  10. #10
    Beh, la pagina punteggio funziona perché i dati gli arrivano in post, non tramite sessione.
    La sessione, nell'assegnazione del suo valore, va trattata come una variabile, proprio come ho scritto:
    $_SESSION['chiave'] = 'valore';
    ma non essendo dati sensibili ti consiglio i cookie, così non devi aprire la sessione e distruggerla.
    Ti fai un cookie che si autodistrugge dopo qualche secondo, tempo necessario per far passare il dato che ti serve.
    Prova con i cookie. Tentar non nuoce...
    Ce l'ho fatta! - ItalianPixel -

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.