itvasia Δημοσ. 4 Απριλίου 2013 Δημοσ. 4 Απριλίου 2013 καλησπερα εχω δημιουργησει δυο ομαδες απο radio button και θελω ο χρηστης οταν παταει το κουμπι submit που εχω δημιουργησει να τον οδηγει σε επομενη σελιδα με αλλες ερωτησεις και radio button ή να του βγαζει μηνυμα λαθους οταν δεν απαντησει καθολου ή οταν απαντησει μονο στην μια.ομαδα. ο κωδικας ειναι ο παρακατω.. <div >ποια ομαδα υποστηριζει ?</div> <div> <input type="radio" name="radio" id="paok" value="paok"> <label for="yes">paok</label> <input type="radio" name="radio" id="pao" value="pao"> <label for="pao">PAO</label> <input type="radio" name="radio" id="OLU" value="OLU"> <label for="OLU">OLU</label> </div> <div >ποιoς παικτης ειναι ο αγαπημενος</div> <div> <input type="radio" name="radio" id="ονομα1" value="ονομα1"> <label for="ονομα1">ονομα1</label> <input type="radio" name="radio" id="ονομα2" value="ονομα2"> <label for="ονομα2">ονομα2</label> <input type="radio" name="radio" id="ονομα3" value="ονομα3"> <label for="ονομα3">ονομα3</label> </div> το προβλημα μου ειναι οτι θελω να το κανω με τη χρηση session php και πως θα γινει να ελεγχονται οτι επελεξε καποιο απο τα radio button...ευχαριστω εκ των προτερων
drumforhim Δημοσ. 6 Απριλίου 2013 Δημοσ. 6 Απριλίου 2013 Κατ'αρχάς θα πρέπει να ξεχωρίσεις τις μεταβλητές που θα στείλεις στο αρχείο που κάνεις post. Επειδή με αυτόν τον κώδικα που έχεις στέλνεις την ίδια μεταβλητή και για την ομάδα και για τον παίκτη. Έχεις βάλει name='radio' σε όλα τα radio, οπότε το αρχείο θα διαβάσει μόνο μια μεταβλητή που έγινε post. Τώρα για το εάν ο χρήστης έχει διαλέξει ή όχι μπορείς να ελέγξεις στο αρχείο που θα κάνεις post, για το αν η μεταβλητή είναι empty ή όχι και ανάλογα να την αναθάσεις σε μια session μεταβλητή. <?php if((isset($_POST['myvar']))&&(!empty($_POST['myvar']))){ $_SESSION['myvar'] = $_POST['myvar']; } ?>
papvasia Δημοσ. 6 Απριλίου 2013 Δημοσ. 6 Απριλίου 2013 (επεξεργασμένο) σε ευχαριστω πολυ και κατι ακομα αν μπορεις να βοηθησεις...εχω δημιουργησει 3 αρχεια Php...στο πρωτο εχω τον κωδικα με τα radio button <form action="arxeio2.php" method="post" name="sign" > <?php echo "ποια ομαδα υποστηριζειs ? " ?> <br> <div> <Input type = "Radio" Name ="group1" value= "ans1" id="proto" > <label for="Apantisi1"> Apantisi1 </label><br> <Input type = "Radio" Name ="group1" value= "ans2" id="deutero"> <label for="deutero">Apantisi2 </label><br> </div> <input type="submit" name="Continue" id="Continue" value="Continue"> </form> Πατωντας ο χρηστης στο continue πηγαινει στο δευτερο αρχειο , arxeio2.php , οπου και εδω εχω radio button, ο κωδικας ειναι <form action="arxeio3.php" method="post" name="sign" > <?php echo "Ερωτηση.....? " ?> <div> <Input type = "Radio" Name ="group2" value= "ans3" id="method"> <label for="method">Apantisi.......... </label><br> <Input type = "Radio" Name ="group2" value= "ans4" id="bit"> <label for="bit">Apantisi........</label><br> input type="submit" value="Submit your answers" name="formSubmit"> </form> Πατωντας ο χρηστης το submit πηγαινει στο τριτο αρχειο , arxeio3.php , οπου εκει Θελω εμφανιζονται τα αποτελεσματα απο τις απαντησεις του χρηστη...δηλαδη... if(isset($_POST['formSubmit'])) { $answer1=$_POST ['group1'] ; $answer2=$_POST ['group2'] ; if (($answer1=="ans1") && ($answer2=="ans3")) { echo 'Answer of question 1 :Correct <br/> ' ; echo 'Answer of question 2 :Correct <br/> ' ; } else if((empty($group1)) && (empty($group2)) ) { echo("<p>"προσοχη δε εχεις απαντησει στις ερωτησεις </p> ") To Προβλημα ειναι οτι δεν μπορω να συνδεσω τις μεταβλητες απο το arxeio1 με το arxeio 3, Μου βγαζει error Undefined index......ενω αποτο αρχειο2 εμφανιζονται κανονικα τα αποτελεσματα.μηπως πρεπει να χρησιμοποιήσω session? ..ευχαριστω εκ των προτερων για καθε βοηθεια.... Επεξ/σία 6 Απριλίου 2013 από papvasia
drumforhim Δημοσ. 8 Απριλίου 2013 Δημοσ. 8 Απριλίου 2013 Ναι θα πρέπει να χρησιμοποιησεις sessions για να μπορέσεις να διαβάσεις τις μεταβλητες σου στο τέλος.σε κάθε βήμα εάν ο χρήστης έχει δώσει σωστά τα δεδομένα τότε θα αναθέσεις αυτό που έκανε εισαγωγή, σε session μεταβλητες. προσοχή για δουλέψουν τα sessions πρέπει η πρώτη γραμμή κώδικα σε κάθε σελίδα να είναι η εντολή session_start(); Έτσι μόνο θα δουλέψουν οι μετβλητες session. προτείνω να βάλεις αυτή την εντολή σε ένα αρχείο του τύπου config.php και να το κανείς include σε κάθε αρχείο σου.
itvasia Δημοσ. 8 Απριλίου 2013 Μέλος Δημοσ. 8 Απριλίου 2013 Ναι θα πρέπει να χρησιμοποιησεις sessions για να μπορέσεις να διαβάσεις τις μεταβλητες σου στο τέλος.σε κάθε βήμα εάν ο χρήστης έχει δώσει σωστά τα δεδομένα τότε θα αναθέσεις αυτό που έκανε εισαγωγή, σε session μεταβλητες. προσοχή για δουλέψουν τα sessions πρέπει η πρώτη γραμμή κώδικα σε κάθε σελίδα να είναι η εντολή session_start(); Έτσι μόνο θα δουλέψουν οι μετβλητες session. προτείνω να βάλεις αυτή την εντολή σε ένα αρχείο του τύπου config.php και να το κανείς include σε κάθε αρχείο σου. σε ευχαριστω παρα πολυ τελικα τις δηλωσα session και τρεχει κανονικα και οντως το βασικο ειναι στην αρχη το session_start..ευχαριστω πολυ για την ολη βοηθεια...¨-)
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα