php list menu

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

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

Απάντηση
vk88
Δημοσιεύσεις: 6
Εγγραφή: 02 Μάιος 2010 02:46

php list menu

Δημοσίευση από vk88 » 02 Μάιος 2010 03:07

Γεια σας! ειναι η πρωτη φορα που γράφω και θα ήθελα την βοήθεια σας. Εχω μια εργασία σε php. Συγκεκριμενα θα ήθελα βοήθεια σε ενα list menu με τον εξής κώδικα:

<form id="form1" name="form1" method="post" action="main.php">
<select name="sel">
<option value="title" >browse by title</option>
<option value="author">browse by author</option>
<option value="editor">browse by editor</option>
</select>
<label for="select"></label>
<label for="Submit"></label>
<input type="submit" name="SEARCH" value="SEARCH" id="Submit" />
</form>

Η ερώτηση μου είναι η εξής:
Στην main.php ποιος θα πρέπει να είναι ο κώδικας ετσι ωστε καθε φορά ανάλογα με την επιλογή (browse by title ή browse by authour ή browse by editor) να έχω πρόσβαση και σε άλλη σελιδα; Λογικά πρέπει να χρησιμοποιήσω κάποιο if αλλα δεν ξερω πως να το συνταξω!

Είμαι λίγο άσχετη με το αντικείμενο :-?

ευχαριστω εκ των προτέρων!

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

php list menu

Δημοσίευση από korgr » 02 Μάιος 2010 11:03

Αν και αυτο που ζητας θα μπορουσε να γινει και με απλη javascript χωρις να καλεσεις το php απο τον server, σου παραθετω κατι πολυ απλο με if

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

<?php
if&#40;isset&#40;$GET&#91;sel&#93;&#41;&#41;&#123; // αν η κληση ερχεται απο την φορμα σου
if&#40;$_GET&#91;sel&#93;=="title"&#41;&#123;$url="browseBytitle.php";&#125;
if&#40;$_GET&#91;sel&#93;=="author"&#41;&#123;$url="browseAuthor.php";&#125;
if&#40;$_GET&#91;sel&#93;=="editor"&#41;&#123;$url="browseEditor.php";&#125;
if&#40;$url&#41;&#123; // αν επαληθευθηκε καποια απο τις 3 συνθηκες
header&#40;"location&#58;".$url&#41;;
&#125;
&#125;
?>

vk88
Δημοσιεύσεις: 6
Εγγραφή: 02 Μάιος 2010 02:46

php list menu

Δημοσίευση από vk88 » 02 Μάιος 2010 21:26

Χρησιμοποίησα αυτό τον κώδικα:
<?php
$the_choice=$_POST['sel'];

switch ($the_choice)
{
case title:
header ("Location: title.php");
break;
case author:
header ('Location: http://www.example.com/author.php');
break;
case editor:
header ('Location: http://www.example.com/editor.php');
break;

}
?>

αλλα μου βγάζει αυτό το μήνυμα:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\dokimi\index.php:76) in C:\xampp\htdocs\dokimi\index.php on line 82

εχεισ ιδεα τι μπορει να ειναι?
ευχαριστω πολυ!

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

php list menu

Δημοσίευση από korgr » 03 Μάιος 2010 01:14

Να μην εχεις κανενα χαρακτηρα ή αλλαγη γραμμης πριν απο το header("location:")
Επισης αν ειναι σωσμενο σε UTF-8 να μην εχει BOM Signature

Απάντηση

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

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

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