λάθη στο php αρχείο φόρμας επικοινωνίας

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

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

Απάντηση
stratis79
Δημοσιεύσεις: 118
Εγγραφή: 15 Νοέμ 2009 17:12

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από stratis79 » 16 Δεκ 2009 09:25

καλημέρα παιδιά και καλές γιορτές σε όλους. Έχω μια απορία, -την είχα παραθέσει και σε άλλο topic δίχως όμως απάντηση-, χρησιμοποίησα τον απλό κωδικό για μια φόρμα επικοινωνίας του kainourios που είχε παραθέσει σε άλλο topic.

Και πράγματι η φόρμα δουλεύει μια χαρά. Επιχείρησα λοιπόν να φτιάξω μια δεύτερη πειραματική βέβαια, όπου προσέθεσα όνομα και επώνυμο. Την ανέβασα εκεί που ήθελα να τη δοκιμάσω, έστειλα μήνυμα, έφυγε κανονικά αλλά στο cpanel στα e-mail δε μου εμφάνιζε τα συμπληρωμένα πεδία σε όνομα και επώνυμο τα οποία είχα συμπληρώσει.

Υπάρχει κάποιο λάθος ή παράλειψη από μέρους μου;

το html είναι αυτό:

<html>
<head>
<title>Φόρμα επικοινωνίας</title>

</head>
<body>
<center>
<form method="post" action="sendmail.php">
<p>Όνομα:
<input name="email2" type="text" />
</p>
<p>Επώνυμο:
<input name="email3" type="text" />
</p>
<p>Το e-mail σας:
<input name="email" type="text" />
</p>
<p><br />
Μήνυμα:<br />
<textarea name="message" rows="15" cols="40">
</textarea>
<br />
<input type="submit" value="Αποστολή μηνύματος"/>
</p>
</form>
</body>
</html>

και το sendmail.php

<?
$email = $_REQUEST['email'] ;
$name = $_REQUEST['name'] ;
$surname = $_REQUEST['surname'] ;
$message = $_REQUEST['message'] ;

mail( "mymail@yahoo.gr", "φόρμα επικοινωνίας",
$message, "From: $email" );
header( "Location: http://www.index.gr/after_contact.html" );
?>

Συνήθως τα πεδία όταν είναι συμπληρωμένο που πρέπει να εμφανίζονται; Από την άλλη αν υπήρχε λάθος θα έφευγε το e-mail κανονικά;

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από dva_dev » 16 Δεκ 2009 09:32

Κοίτα αν τα ονόματα των πεδίων που χρησιμοποιείς στη φόρμα είναι και αυτά που χρησιμοποιείς στην php για να συμπληρώσεις και να στείλεις το email.

[edit]Επίσης ρίξε μια ματιά στα δεκάδες παραδείγματα στο manual [edit]

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

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από korgr » 16 Δεκ 2009 17:04

Για δες αν σου δουλέψει έτσι

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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Φόρμα επικοινωνίας</title>

</head>
<body>
<center>
<form method="post" action="sendmail.php">
<p>Όνομα&#58;
<input name="name" type="text" />
</p>
<p>Επώνυμο&#58;
<input name="surname" type="text" />
</p>
<p>Το e-mail σας&#58;
<input name="email" type="text" />
</p>
<p><br />
Μήνυμα&#58;<br />
<textarea name="message" rows="15" cols="40">
</textarea>
<br />
<input type="submit" value="Αποστολή μηνύματος"/>
</p>
</form>
</body>
</html>

και το sendmail.php

<?
$email = $_REQUEST&#91;'email'&#93; ;
$name = $_REQUEST&#91;'name'&#93; ;
$surname = $_REQUEST&#91;'surname'&#93; ;
$message="Όνομα &#58; ".$name."\r\n";
$message.="Επώνυμο &#58; ".$surname."\r\n";
$message.= "Μήνυμα &#58; \r\n".stripslashes&#40;$_REQUEST&#91;'message'&#93;&#41; ;


mail&#40;"mymail@yahoo.gr", "φόρμα επικοινωνίας", $message, "From&#58; $email \nContent-Type&#58; text; charset=utf-8\n" &#41;;
header&#40; "Location&#58; http&#58;//www.index.gr/after_contact.html" &#41;;
?>

stratis79
Δημοσιεύσεις: 118
Εγγραφή: 15 Νοέμ 2009 17:12

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από stratis79 » 17 Δεκ 2009 22:03

το δοκίμασα, έρχονται τα δεδομένα κανονικά αλλά σε αυτή τη μορφή:

&#65533;&#65533;&#65533;&#65533;&#65533; : Κώστας
&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; : Πέτρος
&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; :

κείμενο τεστ


δοκίμασα μετά και έσωσα το php σε επιλογή utf-8 χωρίς ΒΟΜ που σε μια πολύ απλή φόρμα με έσωσε από τα κινέζικα. Αλλά δε βοήθησε εδώ στο να εμφανίζει τα κουτάκια με το κανονικό τους όνομα. Πάντως είναι στο σωστό δρόμο korgr!

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από dimsis » 18 Δεκ 2009 00:57

Άλλαξε και την βάση δεδομένων σου σε collation utf8_unicode_ci και ξαναδοκίμασε.

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

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από korgr » 18 Δεκ 2009 07:43

Κοιτα εσυ τα βλεπεις ετσι γιατι προφανως δεν τα βλεπεις τα emails σου με κωδικοποιηση utf-8

Μπορεις ομως να αντικαταστησεις σε δυο σημεια το "utf-8" με "windows-1253" και μετα να σωσεις το php σου σε ANSI.

Τοτε θα λαμβανεις μια χαρα τα ελληνικα (αλλα οποιος εχει ρυθμιση utf-8 θα τα διαβαζει κινεζικα και θα πρεπει να αλλαζει ρητα την κωδικοποιηση για να διαβασει).

stratis79
Δημοσιεύσεις: 118
Εγγραφή: 15 Νοέμ 2009 17:12

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από stratis79 » 18 Δεκ 2009 09:37

καλημέρα,

θα το δοκιμάσω απόψε και θα σας πω.

stratis79
Δημοσιεύσεις: 118
Εγγραφή: 15 Νοέμ 2009 17:12

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από stratis79 » 18 Δεκ 2009 21:14

πάντως korgr το outlook είναι σε utf-8 και βγάζει αυτά:

1/4 iiia : I&#65533;I&#65533;I&#65533;I&#65533;I&#65533;I(R)I&#65533;
A??ioii : I&#65533;I&#65533;I?I?I?I&#65533;I&#65533;
I?ioia :

I&#65533;I?I&#65533;I&#65533;I?I&#65533;I&#65533; I&#65533;I?I&#65533;


----- &#65533;&#65533;&#65533;&#65533;&#65533; &#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; &#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; -----


θα δοκιμάσω όμως τώρα και το παραπάνω.

stratis79
Δημοσιεύσεις: 118
Εγγραφή: 15 Νοέμ 2009 17:12

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από stratis79 » 18 Δεκ 2009 21:24

δυστυχώς παρά τις αντικαταστάσεις δεν αλλάζει κάτι... Ή μάλλον αλλάζει κάτι. Στο Outlook express βγάζει αυτό:

Όνομα : Ξ£Ο&#8222;ραΟ&#8222;Ξ&reg;Ο&#8218;
Επώνυμο : ΜαΞ&para;ίδηΟ&#8218;
Μήνυμα :
καληΟ&#402;Ο&#8364;έρα, Ο&#8222;Ξ&micro;Ο&#402;Ο&#8222;

μόλις το γυρίσω σε utf-8 στo outlook βγάζει ότι και στο Horde:

&#65533;&#65533;&#65533;&#65533;&#65533; : Νίκος
&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; : Κώστας
&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; :
καλησπέρα, τεστ

:o

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

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από Apostolis_38 » 18 Δεκ 2009 22:17

H κωδικοποίηση των headers του script και η κωδικοποίηση της σελίδας (<meta.) συμφωνούν;
Αυτό που γράφεις σημαίνει οτι τα $_REQUEST δουλεύουν.

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

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από korgr » 18 Δεκ 2009 22:20

Εχεις ορισει utf-8 εχοντας σωσει σε ANSI ή το αναποδο, αν εχεις σωσει σε UTF-8 φαινεται θα εχεις δηλωσει windows-1253
Γι' αυτο την μια σου δουλευουν κανονικα τα descriptions και την αλλη τα αντιστοιχα values.
Αν βαλεις utf-8 σωσε σε utf-8 without BOM
Αν βαλεις windows-1253 σωσε σε ANSI

Χρησιμοποιησε editors οπως το Notepad2, Notapad++ κλπ

stratis79
Δημοσιεύσεις: 118
Εγγραφή: 15 Νοέμ 2009 17:12

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από stratis79 » 19 Δεκ 2009 16:28

γεια σας παιδιά!

με windows-1253 σε meta και κώδικα html καθώς και στο php αρχείο έρχεται αυτό:

&#65533;&#65533;&#65533;&#65533;&#65533; : &#65533;&#65533;&#65533;&#65533;&#65533;
&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; : &#65533;&#65533;&#65533;&#65533;&#65533;&#65533;
&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; :
&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; &#65533;&#65533;&#65533;

χώρια ότι η δοκιμαστική σελίδα επικοινωνίας φαινόταν στα αρμένικα.

Me utf-8 χωρίς BOM σε δοκιμαστική σελίδα και php αρχείο ήρθαν κανονικά και όλα ελληνικά πλην του τίτλου του κειμένου στο θέμα που εμφανίζει το horde. Μετά δοκίμασα προώθηση στο outlook κι εκεί το κάνει πάλι αρμένικο. Σε ρύθμιση να κατεβαίνουν κατευθείαν στο outlook έρχονται κανονικά!!! Άρα η προώθηση του horde έχει πρόβλημα.

stratis79
Δημοσιεύσεις: 118
Εγγραφή: 15 Νοέμ 2009 17:12

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από stratis79 » 19 Δεκ 2009 16:40

για να μην εμφανίζεται κενό το θέμα θα πρέπει να προσθέσω στο html:

<p>Θέμα:
<input name="subject" type="text" />

και στο php:

$subject = $_REQUEST['subject'] ;

κι αντίστοιχα:

$message.="Θέμα : ".$subject."\r\n";

το οποίο έκανα και δουλεύει μια χαρά αλλά εμφανίζει το θέμα μαζί με τα άλλα δεδομένα και όχι στο subject του horde, του Outlook κτλ.

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

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από korgr » 19 Δεκ 2009 21:42

Αυτο που θες να εμφανιζεται σαν subject κανονικο πρεπει να το βαλεις στη θεση που εχω τα bold και οχι να το προσθεσεις στο $message

mail("mymail@yahoo.gr", "φόρμα επικοινωνίας", $message, "From: $email \nContent-Type: text; charset=utf-8\n" );

stratis79
Δημοσιεύσεις: 118
Εγγραφή: 15 Νοέμ 2009 17:12

λάθη στο php αρχείο φόρμας επικοινωνίας

Δημοσίευση από stratis79 » 20 Δεκ 2009 00:27

<?
$email = $_REQUEST['email'] ;
$name = $_REQUEST['name'] ;
$surname = $_REQUEST['surname'] ;
$subject = $_REQUEST['subject'] ;
$message="Όνομα : ".$name."\r\n";
$message.="Επώνυμο : ".$surname."\r\n";
$message.= "Μήνυμα : \r\n".stripslashes($_REQUEST['message']) ;


mail("mail@mail.gr", "Θέμα : ".$subject."\r\n", $message, "From: $email \nContent-Type: text; charset=utf-8\n" );
header( "Location: http://www.mysite.gr/after_contact.html" );
?>

αυτό είναι το σωστό; :question: θα πρέπει επίσης να μπει και σε αυτό το charset=utf-8 για να εμφανίζεται το θέμα στα ελληνικά;

Απάντηση

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

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

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