print session variables

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
aristas
Δημοσιεύσεις: 9
Εγγραφή: 26 Νοέμ 2009 15:43
Τοποθεσία: Λονδίνο

print session variables

Δημοσίευση από aristas » 30 Μαρ 2010 19:30

Θέλω να εμφανίσω μερικές μεταβλητές φόρμας σε μια σελίδα, αφου πρώτα όμως αυτές αποθηκευτούν σε session. H αρχική σελίδα quiz.php παίρνει τις τιμές σε μια άλλη σελίδα που απλα επιβεβαιώνει οτι οι τιμές αποθηκεύτηκαν. Ενα λινκ απο εκει επιστρέφει στην πρώτη σελίδα quiz.php αλλα αυτη την φορά εμφανίζονται και οι τιμές της φόρμας (radio και multiselect)

Δοκίμασα να προσθέσω το εξής στην αρχική αλλα δεν εμφανίζει τιποτα :(
Γνωρίζει κανεις να μου πεί? Ευχαριστώ

Κώδικας: Επιλογή όλων

       echo "<pre>";
       print_r($_POST);
       echo "</pre>";
αλλα και αυτό

Κώδικας: Επιλογή όλων

       echo $_SESSION&#91;'user'&#93;.' \'s answers are&#58;<br />';
       echo '1. '.$_SESSION&#91;'question1'&#93;.'<br />';
       echo '2. '.$_SESSION&#91;'question2'&#93;.'<br />';
       echo '3. '.$_SESSION&#91;'question3'&#93;.'<br />';
       echo $_SESSION&#91;'scores'&#93;;

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

print session variables

Δημοσίευση από Apostolis_38 » 31 Μαρ 2010 11:17

Ο δεύτερος τρόπος είναι σωστός.
- Μήπως έχεις ξεχάσει κανένα session_start();
- Το session_start(); μπαίνει στην αρχή, πρίν από οτιδήποτε άλλο.

aristas
Δημοσιεύσεις: 9
Εγγραφή: 26 Νοέμ 2009 15:43
Τοποθεσία: Λονδίνο

print session variables

Δημοσίευση από aristas » 31 Μαρ 2010 15:04

Ναι, υπάρχει session_start(); Δεν έχω βρει που ειναι το πρόβλημα, αν και στέλνω κανονικα τις τιμες απο ττην δεύτερη σελίδα στην αρχική.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

print session variables

Δημοσίευση από Apostolis_38 » 31 Μαρ 2010 15:13

Σου πετάει κάποιο error;
Αν όχι σημαίνει οτι τα sessions δουλεύουν κανονικά αλλά κάπου χάνονται και στη σελίδα που κάνεις το echo είναι empty.

Υπ' όψην οτι το session_start(); θα πρέπει να υπάρχει και στην πρώτη σελίδα.

aristas
Δημοσιεύσεις: 9
Εγγραφή: 26 Νοέμ 2009 15:43
Τοποθεσία: Λονδίνο

print session variables

Δημοσίευση από aristas » 01 Απρ 2010 18:05

Τελικά κατάφερα να εμφανίσω τις τιμές της φόρμας στην αρχική κανοντας το εξής:

στην αρχική έβαλα:

Κώδικας: Επιλογή όλων

<?php


    // check session variable is set
    if &#40;isset&#40;$_SESSION&#91;'cont'&#93;&#41;&#41;&#123;
        // if set, display name and answers

        echo $_SESSION&#91;'cont'&#93;.' \'s answers are&#58;<br />';
        echo '1. '.$_SESSION&#91;'q1'&#93;.'<br />';
        echo '2. '.$_SESSION&#91;'q2'&#93;.'<br />';
        echo '3. '.$_SESSION&#91;'q3'&#93;.'<br />';
        echo $_SESSION&#91;'scores'&#93;;

    &#125;

$var1=$_GET&#91;'var1'&#93;;
$var2=$_GET&#91;'var2'&#93;;
$var3=$_GET&#91;'var3'&#93;;
$scores=$_GET&#91;'scores'&#93;;
?>

ενώ στην δεύτερη οπου ο χρήστης επιιλέγει ενα Link που επιβεβαιώνει οτι αποθηκεύτηκαν οι τιμες:

Κώδικας: Επιλογή όλων

    <?php
          $score = 0;
          $cont = $_POST&#91;'cont'&#93;;
          $q1 = $_POST&#91;'q1'&#93;;
          $q2 = $_POST&#91;'q2'&#93;;
          $q3 = $_POST&#91;'q3'&#93;;
          $q4 = $_POST&#91;'score'&#93;;



         if &#40;isset&#40;$_POST&#91;'cont'&#93;&#41; && !empty&#40;$_POST&#91;'cont'&#93;&#41;&#41;
        &#123;
            // set session variable
            $_SESSION&#91;'cont'&#93; = $_POST&#91;'cont'&#93;;
            $_SESSION&#91;'q1'&#93; = $_POST&#91;'q1'&#93;;
            $_SESSION&#91;'q2'&#93; = $_POST&#91;'q2'&#93;;
            $_SESSION&#91;'q3'&#93; = $_POST&#91;'q3'&#93;;
            $_SESSION&#91;'score'&#93; = $_POST&#91;'score'&#93;;
        &#125;

 echo " Results entered OK - <a href = 'quiz.php?var1=$_POST&#91;cont&#93;&var2=$_POST&#91;q1&#93;&var3=$_POST&#91;q2&#93;&var4=$_POST&#91;q3&#93;&var5=$_POST&#91;score&#93;'>Back to Quiz Page</a>";

    ?>
αυτό που θελω τώρα είναι, οταν επιλέγει το ίδιο radio της φόρμας με το όνομα του παίκτη να εμφανίζεται μήνυμα στην δευτερη σελίδα οτι έχει ηδη παίξει.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

print session variables

Δημοσίευση από Apostolis_38 » 02 Απρ 2010 09:42

Πάλι με το if(isset...) θα τσεκάρεις αν ο παίκτης έχει ήδη επιλεγεί.
Παράδειγμα:

Κώδικας: Επιλογή όλων

if &#40;isset &#40;$_POST&#91;"παίκτης"&#93;&#41;
&#123;
  if &#40;$_POST&#91;"παίκτης"&#93; == $_SESSION&#91;"παίκτης"&#93;&#41;
    &#123;
      echo "Πάλι αυτός;";
    &#125;
  else
    &#123;
      echo $_POST&#91;"παίκτης"&#93;;
    &#125;
&#125;

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες