Kωδικοποίηση χαρακτήρων σε php contact form

Βοήθεια λύσεις και νέα από τον χώρο των open source ή έτοιμων εφαρμογών που έχουν φτιαχτεί με την PHP όπως oscommerce, κ.α.

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

Απάντηση
doodlemat
Δημοσιεύσεις: 45
Εγγραφή: 15 Ιούλ 2011 00:28
Επικοινωνία:

Kωδικοποίηση χαρακτήρων σε php contact form

Δημοσίευση από doodlemat » 07 Αύγ 2012 13:24

Καλησπέρα σε όλους.

Χρειάζομαι την βοηθειά σας, για να κωδικοποιήσω τους χαρακτήρες στην φόρμα επικοινωνίας που έχω βάλει στην σελίδα μου. Το πρόβλημα είναι οτι μόλις ανοίξει η φόρμα, η κωδικοποίηση είναι τέτοια που μου εμφανίζει τα γράμματα κινέζικα. Μόλις αλλάξω απο τον browser την κωδικοποίηση σε UTF-8 παίζει κανονικά. Παρακάτω σας παραθέτω τον κώδικα για να μου πείτε τι μπορώ να αλλάξω. Ευχαριστώ εκ των προτέρων!!!

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

<?

$sysmail = "tomail@gmail.com";

if &#40;$_POST&#91;'sendmessage'&#93;&#41;
&#123;
    if&#40;!isset&#40;$_POST&#91;'message'&#93;&#41;&#41;
    &#123;
        $messages = "You're email needs to contain a message, dummy!!!<br>";
    &#125;
    elseif&#40;!preg_match&#40;"/^.*?@.*?$/", $_POST&#91;'email'&#93;&#41;&#41;
    &#123;
        $messages = "Stop trying to trick me and use a real email, or me and you will fall out!!<br>";
    &#125;
    elseif&#40;mail&#40;$sysmail, stripslashes&#40;trim&#40;$_POST&#91;'subject'&#93;&#41;&#41;, stripslashes&#40;trim&#40;$_POST&#91;'message'&#93;&#41;&#41;, "From&#58; " . $_POST&#91;'email'&#93; . "\r\n"&#41;&#41;
    &#123;
        $messages = "Thanks for your message someone will get back to you shortly.<br>";
    &#125;
    else &#123;
            $messages = "The programmer who wrote this isn't as clever as he thinks, and something has gone wrong.<br>";
         &#125;
&#125;
?>
<h2>Φόρμα επικοινωνίας</h2>
<form action="" method="post">
<span style="color&#58;#FF0000; font-weight&#58;bold;"><?=$messages ?></span>
  <table width="50%" border="0">
    <tr>
      <td width="50%" valign="top"><div align="right"><strong>To email σας &#58; </strong></div></td>
      <td width="50%" valign="top"><input type="ext" id="email" name="email" size="50"/></td>
    </tr>
    <tr>
      <td valign="top"><div align="right"><strong>Θέμα μηνύματος &#58; </strong></div></td>
      <td valign="top"><input type="ext" id="subject" name="subject" size="50"/></td>
    </tr>
    <tr>
      <td valign="top"><div align="right"><strong>Κυρίως Κείμενο &#40;Σχόλια,ερωτήσεις,απορρίες κτλ&#41;</strong></div></td>
      <td valign="top"><textarea name="message" cols="50" rows="10" id="message"></textarea></td>
    </tr>
    <tr>
      <td colspan="2" valign="top"><div align="center">
          <input type="submit" value="Send Message">
        </div></td>
    </tr>
  </table>
  <input type="hidden" name="sendmessage" value="1">
</form>

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Kωδικοποίηση χαρακτήρων σε php contact form

Δημοσίευση από gvre » 07 Αύγ 2012 13:34

http://www.freestuff.gr/forums/viewtopic.php?t=52609. Αν ψάξεις εδώ μέσα θα βρεις κι άλλες απαντήσεις σχετικές με το θέμα.

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

Kωδικοποίηση χαρακτήρων σε php contact form

Δημοσίευση από korgr » 07 Αύγ 2012 13:35

Αυτό

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

elseif&#40;mail&#40;$sysmail, stripslashes&#40;trim&#40;$_POST&#91;'subject'&#93;&#41;&#41;, stripslashes&#40;trim&#40;$_POST&#91;'message'&#93;&#41;&#41;, "From&#58; " . $_POST&#91;'email'&#93; . "\r\n"&#41;&#41;
να γίνει

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

elseif&#40;mail&#40;$sysmail, stripslashes&#40;trim&#40;$_POST&#91;'subject'&#93;&#41;&#41;, stripslashes&#40;trim&#40;$_POST&#91;'message'&#93;&#41;&#41;, "From&#58; " . $_POST&#91;'email'&#93; . "\r\nContent-Type&#58; text; charset=utf-8\r\n"&#41;&#41;

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Kωδικοποίηση χαρακτήρων σε php contact form

Δημοσίευση από gvre » 07 Αύγ 2012 13:37

@doodlemat Εννοείς ότι οι χαρακτήρες δε φαίνονται σωστά στη φόρμα ή στο email που στέλνεται;

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Kωδικοποίηση χαρακτήρων σε php contact form

Δημοσίευση από gvre » 07 Αύγ 2012 13:42

Επίσης το

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

if &#40;$_POST&#91;'sendmessage'&#93;&#41;
πρέπει να γίνει

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

if &#40;!empty&#40;$_POST&#91;'sendmessage'&#93;&#41;&#41;
και χρειάζεσαι και ένα

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

$messages = "";
πριν την if, για να γλυτώσεις κάποια notices.

doodlemat
Δημοσιεύσεις: 45
Εγγραφή: 15 Ιούλ 2011 00:28
Επικοινωνία:

Kωδικοποίηση χαρακτήρων σε php contact form

Δημοσίευση από doodlemat » 09 Αύγ 2012 09:10

Καλημέρα παιδιά,

Έκανα τις αλλαγές που μου είπατε, αλλά το πρόβλημα παρέμεινε.

@gvre
Εννοείς ότι οι χαρακτήρες δε φαίνονται σωστά στη φόρμα ή στο email που στέλνεται;
Το πρώτο. Οι χαρακτήρες των Ελληνικών, δεν εμφανίζονται σωστά στην φόρμα. Όταν όμως στείλεις το mail, ανοίγει κανονικά τα Ελληνικά! Καμιά άλλη ιδέα;;;

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Kωδικοποίηση χαρακτήρων σε php contact form

Δημοσίευση από gvre » 09 Αύγ 2012 09:39

Από την ανακεφαλαίωση του http://www.freestuff.gr/forums/viewtopic.php?t=52609

"Στο markup σας (html) θα πρέπει να υπάρχει το <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> αμέσως μετά το <head>. Για να είστε τύπος και υπογραμμός, θα πρέπει πριν την οποιαδήποτε έξοδο από το script σας (echo, print, κλπ), να προηγηθεί η εντολή header('Content-type: text/html; charset=UTF-8'); (αντικαθιστάτε με ISO-8859-7, και στις δύο περιπτώσεις, εφόσον αυτό επιλέξατε) "

doodlemat
Δημοσιεύσεις: 45
Εγγραφή: 15 Ιούλ 2011 00:28
Επικοινωνία:

Kωδικοποίηση χαρακτήρων σε php contact form

Δημοσίευση από doodlemat » 09 Αύγ 2012 10:54

Στο markup σας (html) θα πρέπει να υπάρχει το <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> αμέσως μετά το <head>. Για να είστε τύπος και υπογραμμός, θα πρέπει πριν την οποιαδήποτε έξοδο από το script σας (echo, print, κλπ), να προηγηθεί η εντολή header('Content-type: text/html; charset=UTF-8'); (αντικαθιστάτε με ISO-8859-7, και στις δύο περιπτώσεις, εφόσον αυτό επιλέξατε) "
Εσύ καλά τα λες...αλλά στην δική μου περίπτωση πως το κάνω αυτό;; :P Ομολογώ δεν έχω ιδέα!!! :)

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Kωδικοποίηση χαρακτήρων σε php contact form

Δημοσίευση από gvre » 09 Αύγ 2012 11:01

Για αρχή, πρόσθεσε το <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> αμέσως μετά το <head> και ξαναδοκίμασε.

doodlemat
Δημοσιεύσεις: 45
Εγγραφή: 15 Ιούλ 2011 00:28
Επικοινωνία:

Kωδικοποίηση χαρακτήρων σε php contact form

Δημοσίευση από doodlemat » 12 Αύγ 2012 15:19

Λειτουργεί τέλεια παιδιά! Ευχαριστώ πολύ για την βοήθεια!

Απάντηση

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

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

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