Φωτογραφία Δημήτρης ΦΡΑΓΚΟΣ
Θέμα με την POST!
από Δημήτρης ΦΡΑΓΚΟΣ - Friday, 26 June 2009, 10:46 AM
 
Γειά χαρα!

Όπως έχω αναφέρει και στον Τάσο, έχω ένα θέμα με την POST, το οποίο δε μπορώ να αντιμετωπίσω.... Anyway, θα προσπαθήσω να το εξηγήσω όσο πιο καλά μπορώ...

Έστω ότι δημιουργώ μια φόρμα χρησιμοποιώντας την μέθοδο GET!

<form action="ex1a.php" enctype="text/plain" method="GET">
First name: <INPUT type = "text" name = "first"> <BR>
Last name:  <INPUT type = "text" name = "last"> <BR>
Telephone   <INPUT type = "text" name = "phon"> <BR>
<BR>
<INPUT type = "submit" value = "Send">
<INPUT type = "reset" value = "Cancel">
</FORM>

Όταν τώρα στο ex1a.php, ορίσω άλλες μεταβλητές να παίρνουν τα δεδομένα από τις αντίστοιχες GET, ΔΕΝ έχω κανένα απολύτως πρόβλημα και όλος ο κώδικας που έχω γράψει εκτελείται κανονικά!!!
Δηλαδή,

$firstname = $_GET['first'];
$lastname = $_GET['last'];
$phone = $_GET['phon'];

Αν τώρα, ορίσω μια φόρμα με τη μεθοδο POST...

<form action="ex1a.php" enctype="text/plain" method="POST">
First name: <INPUT type = "text" name = "first"> <BR>
Last name:  <INPUT type = "text" name = "last"> <BR>
Telephone   <INPUT type = "text" name = "phon"> <BR>
<BR>
<INPUT type = "submit" value = "Send">
<INPUT type = "reset" value = "Cancel">
</FORM>

Όταν τώρα στο ex1a.php, ορίσω άλλες μεταβλητές να παίρνουν τα δεδομένα από τις αντίστοιχες POST,

$firstname = $_POST['first'];
$lastname = $_POST['last'];
$phone = $_POST['phon'];

στο browser εμφανίζονται τα εξής...

Notice: Undefined index: first in C:\wamp\www\En6\ex1a.php on line 5

Notice: Undefined index: last in C:\wamp\www\En6\ex1a.php on line 6

Notice: Undefined index: phon in C:\wamp\www\En6\ex1a.php on line 7

Eπιπλέον το script που ακολουθεί δε εκτελείται!!! Για παράδειγμα, αν έχω συμπληρώσει όλα τα fields και έχω θέσει περιορισμό ότι όλα τα fields πρέπει να είναι συμπληρωμένα για να συνεχίσει το script, ο browser βγάζει το μήνυμα που έχω ορίσει όταν κάποιος δε τα συμπληρώσει!!!

Ελπίζω να έγινα κατανοητός!

Thanx in advance for any help,

Δημήτρης







 
Φωτογραφία Γιώργος Μαυρομμάτης
Απάντηση: Θέμα με την POST!
από Γιώργος Μαυρομμάτης - Friday, 26 June 2009, 2:09 PM
 

Δημητρη καλησπέρα. Δοκίμασε να τρέξεις τη φόρμα χωρίς το enctype="text/plain" .

Οι τιμές των μεταβλητών θα περάσουν κανονικά. Το δοκίμασα και παίζει σωστά. Με το enctype="text/plain" οι τιμές γίνονται null !

Καλό απόγευμα

Φωτογραφία Δημήτρης ΦΡΑΓΚΟΣ
Απάντηση: Θέμα με την POST!
από Δημήτρης ΦΡΑΓΚΟΣ - Friday, 26 June 2009, 2:19 PM
 
Θεός!!! :-)

Δεν θα το σκεφτόμουν ποτέ να πετάξω αυτό το enctype = "text/plain"...

Ευχαριστώ πολύ!!!

Δημήτρης
 
Φωτογραφία Γιώργος Μαυρομμάτης
Απάντηση: Θέμα με την POST!
από Γιώργος Μαυρομμάτης - Friday, 26 June 2009, 2:26 PM
 

Αν έχεις άλλο browser μπορείς να το δοκιμάσεις πάλι..;; Νομίζω ότι ειναι πρόβλημα του Internet Explorer. Για την στοίχιση νομίζω πως μπορείς να χρησιμοποιήσεις html tags οπως <align left....></align>.

Φωτογραφία Δημήτρης ΦΡΑΓΚΟΣ
Απάντηση: Θέμα με την POST!
από Δημήτρης ΦΡΑΓΚΟΣ - Friday, 26 June 2009, 2:47 PM
 
Σε mozilla δουλευώ Γιώργο!

Άρα το θέμα ειναι γενικό!

Thanx για όλα! :-)

Δημήτρης


Φωτογραφία Τάσος Μαυρίδης
Απάντηση: Θέμα με την POST!
από Τάσος Μαυρίδης - Saturday, 27 June 2009, 8:00 AM
 

Γεια

Όπως έγραψε και ο Γιώργος το πρόβλημα είναι το enctype

Στις φόρμες δύο είναι τα enctype που μπορείς να χρησιμοποιήσεις.

Το application/x-www-form-urlencoded default) και το

 multipart/form-data (που το χρησιμοποιείς για να στείλεις αρχεία)

Περισσότερα εδώ

http://www.w3.org/TR/html401/interact/forms.html#form-content-type

 

Γιώργο, θυμίζω ότι το align δεν υπάρχει σαν tag στην html.

http://www.w3.org/TR/html401/index/elements.html

Υπάρχει σαν attribute σε πολλά tags, αλλά τα τελευταία χρόνια η μορφοποίηση του περιεχομένου γίνεται με css.  Στην περίπτωση αυτή όμως ένας πίνακας μάλλον είναι πιο βολικός.