φόρμα επικοινωνίας php

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

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

Απάντηση
i-ching
Δημοσιεύσεις: 11
Εγγραφή: 13 Αύγ 2008 18:19

φόρμα επικοινωνίας php

Δημοσίευση από i-ching » 14 Αύγ 2008 14:40

Γεια σας και καλώς σας βρήκα (όσους από σας δεν είστε παραλία)

Θα προσπαθήσω να είμαι σαφής στην περιγραφή του προβλήματος. Είδα ότι υπάρχουν πολλά παρόμοια ποστ, αλλά δεν βρήκα μιοα λύση να με καλύψει, και παιδεύομαι μέρες.

Προσπαθώ να εγκαταστήσω φόρμα επικοινωνίας php σε μια σελίδα.
Η σελίδα έχει στο <head> κωδικοποίηση utf-8.
Μπαίνω στο μέιλ με Firefox και βλέπω το μήνυμα αρχικά σε κινέζικα, μετά κάνω View/ Encoding / Unicode UTF 8 και τα βλέπω όλα μια χαρά.
Μπαίνω με Explorer.... βλέπω κινέζικα. Η κωδικοποίηση τα κάνει ακόμα χειρότερα. Ο πελάτης μπαίνει κι αυτός με Explorer, και όταν του εξηγούσα τηλφωνικώς "Πήγαινε πάνω στο μενού, Προβολή, Κωδικοποίση...." δεν καταλάβαινε τι του έλεγα (όχι να του εξηγήσω τι είναι ο FIrefox δηλαδή...)
Αλλά προφανώς δεν μπορώ να λύσω το πρόβλημα προτείνοντάς τους κάθε φορά "Βάλτε Firefox κι αλλάξτε σε utf-8"

ΤΙ ΚΑΝΩ ΛΟΙΠΟΝ?

Άβαταρ μέλους
Garakatsamol
Honorary Member
Δημοσιεύσεις: 919
Εγγραφή: 08 Μάιος 2007 00:27

φόρμα επικοινωνίας php

Δημοσίευση από Garakatsamol » 15 Αύγ 2008 03:55

Όχι ότι είμαι και ο πιο σχετικός αλλά κάτι που δούλεψε σε μένα παλιότερα, βάλε κωδικοποίηση και στο Php αρχείο

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

φόρμα επικοινωνίας php

Δημοσίευση από vassilism » 15 Αύγ 2008 21:15

Καταρχήν πρέπει να αποθηκεύσεις το αρχείο σε μορφή ANSI και μέσα στο αρχείο εκεί που δηλώνεις την κωδικοποίηση δώσε iso-8859-7.
Κανονικά πρέπει να σου δουλεύει το ίδιο σε όλους τους browsers.
Αν δεν δουλέψει βάλε τον κώδικα να δούμε τι φταίει.

i-ching
Δημοσιεύσεις: 11
Εγγραφή: 13 Αύγ 2008 18:19

φόρμα επικοινωνίας php

Δημοσίευση από i-ching » 16 Αύγ 2008 19:30

Eυχαριστώ για τις απαντήσεις.

@Garakatsamol: Μπα, δεν.
@vassilism: Όχι, δεν έγινε. Και πάλι, στο FF έρχεται ψιλο-κινέζικο, και με την αλλαγή κωδικοποίησης διαβάζεται. Στον IE πέρα βρέχει, δεν το σώζει τίποτα. Κίνα και πάλι Κίνα.

Ακολουθεί κώδικας του sendemail αρχείου
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sendemail Script</title>
</head>
<body>

<?php

$ip = $_POST['ip'];
$httpref = $_POST['httpref'];
$httpagent = $_POST['httpagent'];
$visitor = $_POST['visitor'];
$visitormail = $_POST['visitormail'];
$notes = $_POST['notes'];
$attn = $_POST['attn'];
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; iso-8859-7\r\n";

if (eregi('http:', $notes)) {
die ("Do NOT try that! ! ");
}
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>Use Back - Enter valid e-mail</h2>\n";
$badinput = "<h2>Feedback was NOT submitted</h2>\n";
echo $badinput;
die ("Go back! ! ");
}

if(empty($visitor) || empty($visitormail) || empty($notes )) {
echo "<h2>Use Back - fill in all fields</h2>\n";
die ("Use back! ! ");
}

$todayis = date("l, F j, Y, g:i a") ;

$attn = $attn ;
$subject = $attn;

$notes = stripcslashes($notes);

$message = " $todayis [EST] \n
Attention: $attn \n
Message: $notes \n
From: $visitor ($visitormail)\n
Additional Info : IP = $ip \n
Browser Info: $httpagent \n
Referral : $httpref \n
";

$from = "From: $visitormail\r\n";


mail("blabla@blablabla.gr", $subject, $message, $from);

?>

<p align="center">
Date: <?php echo $todayis ?>
<br />
Thank You : <?php echo $visitor ?> ( <?php echo $visitormail ?> )
<br />

Attention: <?php echo $attn ?>
<br />
Message:<br />
<?php $notesout = str_replace("\r", "<br/>", $notes);
echo $notesout; ?>
<br />
<?php echo $ip ?>
<br /><br />
<a href="http://www.blablablabla.gr"> Back </a>
</p>
</p>

</p>

</body>
</html>
[/quote]

zeppos
Δημοσιεύσεις: 431
Εγγραφή: 26 Μαρ 2006 10:43
Τοποθεσία: Kyklades
Επικοινωνία:

φόρμα επικοινωνίας php

Δημοσίευση από zeppos » 16 Αύγ 2008 20:46

Οχι οτι είμαι ειδικός, αλλά στην φόρμα που συμπληρώνει ο χρήστης τι κωδικοποίηση έχεις; Πρέπει να είναι ίδια..
Εικόνα

i-ching
Δημοσιεύσεις: 11
Εγγραφή: 13 Αύγ 2008 18:19

φόρμα επικοινωνίας php

Δημοσίευση από i-ching » 16 Αύγ 2008 22:27

H φόρμα που συμπληρώνει ο χρήστης βρίσκεται σε μια σελίδα με τα χαρακτηριστικά
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
και σωσμένη ως .php αρχείο.

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

φόρμα επικοινωνίας php

Δημοσίευση από Alice_Cooper » 17 Αύγ 2008 00:12

theloume kai afto

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

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
etc...

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

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7" /> 
kai logika eisai ok

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

φόρμα επικοινωνίας php

Δημοσίευση από vassilism » 17 Αύγ 2008 23:50

Αν δεν σου έχει δουλέψει ακόμα κάνε τα εξής:

1 Αποθήκευσε τα αρχεία ως ANSI (και αυτό το αρχείο αλλά και το αρχείο που έχεις την φόρμα.
2 Αντικατέστησε αυτό:

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

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
Με αυτό όπως σου είπε και ο Alice

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

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">

3 Αντικατέστησε αυτό:

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

$headers = "MIME-Version&#58; 1.0\r\n"; 
$headers .= "Content-type&#58; text/html; iso-8859-7\r\n";
Με αυτό:

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

$headers = "MIME-Version&#58; 1.0\r\n" .
          "Content-Type&#58; text/html; charset=\"iso-8859-7\"\n";

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

φόρμα επικοινωνίας php

Δημοσίευση από Banavas » 18 Αύγ 2008 11:48

Από τη στιγμή που η σελίδα είναι σε UTF-8 το σωστό είναι να προσαρμοστεί η φόρμα σε αυτή την κωδικοποίηση και όχι η σελίδα στην φόρμα.

http://www.freestuff.gr/forums/viewtopic.php?t=34567
(Δείτε την απάντηση του cpulse)
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

φόρμα επικοινωνίας php

Δημοσίευση από Alice_Cooper » 18 Αύγ 2008 13:28

xmmm th thimithika otan apantousa afth thn lish
alla eipa na mhn ton mperdepso ki allo :)

pantos ontos to poio sosto afto einai gia na apofygei alla problimatakia pou isos dimiourgithoun

i-ching
Δημοσιεύσεις: 11
Εγγραφή: 13 Αύγ 2008 18:19

φόρμα επικοινωνίας php

Δημοσίευση από i-ching » 23 Αύγ 2008 13:33

vassilism έγραψε:Αν δεν σου έχει δουλέψει ακόμα κάνε τα εξής:

1 Αποθήκευσε τα αρχεία ως ANSI (και αυτό το αρχείο αλλά και το αρχείο που έχεις την φόρμα.
2 Αντικατέστησε αυτό:

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

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
Με αυτό όπως σου είπε και ο Alice

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

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">

3 Αντικατέστησε αυτό:

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

$headers = "MIME-Version&#58; 1.0\r\n"; 
$headers .= "Content-type&#58; text/html; iso-8859-7\r\n";
Με αυτό:

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

$headers = "MIME-Version&#58; 1.0\r\n" .
          "Content-Type&#58; text/html; charset="iso-8859-7"\n";
Ευχαριστώ για την ανταπόκριση παιδιά,
ακολούθησα το παραπάνω αλλά τίποτα: Με Firefox έρχονται κινέζικα, πάω στην κωδικοποίηση και τα αλλάζω utf-8 και διαβάζω. Με IE δεν διαβάζεται τίποτα, δεν πα να χτυπιέμαι.
Αν αποθηκεύσω σε ANSI και το αρχείο που έχω τη φόρμα, η σελίδα δεν αποδίδεται σωστά από κανέναν browser, δηλ. κινεζοποιούνται τα buttons, το κείμενο κλπ.
Τα όσα είπε ο cpulse στο άλλο ποστ με μπέρδεψαν και δεν ξέρω πώς να τα εφαρμόσω στον κώδικα που έστειλα παραπάνω, π.χ. στο πεδίο που θα γράφει το μήνυμά του ο χρήστης.

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

φόρμα επικοινωνίας php

Δημοσίευση από vassilism » 23 Αύγ 2008 15:04

Για βάλε τα αρχεία που χρησιμοποιείς να το δούμε καλύτερα.

i-ching
Δημοσιεύσεις: 11
Εγγραφή: 13 Αύγ 2008 18:19

φόρμα επικοινωνίας php

Δημοσίευση από i-ching » 25 Αύγ 2008 15:54

Το'χα βάλει παραπάνω σε κάποια φάση, το ξαναβάζω τώρ;α με τις αλλαγές που ανέφερε ο vassilism, που όμως δεν είχαν αποτέλεσμα.
Το sendemail.php εχει σωθεί ως ANSI στο Notepad αλλά δεν ξέρω τι αλλάζει απ' αυτή την κίνηση, ούτε αν επηρεάζεται κάθε φορά που ξαναποθηκεύεται στο Dreamweaver/ code mode

Θενκς και πάλι σε όσους ασχολήθηκαν.....

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-7">
<title>Sendemail Script</title>
</head>
<body>


<?php

 
$ip = $_POST&#91;'ip'&#93;;
$httpref = $_POST&#91;'httpref'&#93;;
$httpagent = $_POST&#91;'httpagent'&#93;;
$visitor = $_POST&#91;'visitor'&#93;;
$visitormail = $_POST&#91;'visitormail'&#93;;
$notes = $_POST&#91;'notes'&#93;;
$attn = $_POST&#91;'attn'&#93;;
$headers = "MIME-Version&#58; 1.0\r\n" .
          "Content-Type&#58; text/html; charset=\"iso-8859-7\"\n";
 
if &#40;eregi&#40;'http&#58;', $notes&#41;&#41; &#123;
die &#40;"Do NOT try that! ! "&#41;;
&#125;
if&#40;!$visitormail == "" && &#40;!strstr&#40;$visitormail,"@"&#41; || !strstr&#40;$visitormail,"."&#41;&#41;&#41;
&#123;
echo "<h2>Use Back - Enter valid e-mail</h2>\n";
$badinput = "<h2>Feedback was NOT submitted</h2>\n";
echo $badinput;
die &#40;"Go back! ! "&#41;;
&#125;

if&#40;empty&#40;$visitor&#41; || empty&#40;$visitormail&#41; || empty&#40;$notes &#41;&#41; &#123;
echo "<h2>Use Back - fill in all fields</h2>\n";
die &#40;"Use back! ! "&#41;;
&#125;

$todayis = date&#40;"l, F j, Y, g&#58;i a"&#41; ;

$attn = $attn ;
$subject = $attn;

$notes = stripcslashes&#40;$notes&#41;;

$message = " $todayis &#91;EST&#93; \n
Attention&#58; $attn \n
Message&#58; $notes \n
From&#58; $visitor &#40;$visitormail&#41;\n
Additional Info &#58; IP = $ip \n
Browser Info&#58; $httpagent \n
Referral &#58; $httpref \n
";

$from = "From&#58; $visitormail\r\n";


mail&#40;"info@_____.gr", $subject, $message, $from&#41;;

?>

<p align="center">
Date&#58; <?php echo $todayis ?>
<br />
Thank You &#58; <?php echo $visitor ?> &#40; <?php echo $visitormail ?> &#41;
<br />

Attention&#58; <?php echo $attn ?>
<br />
Message&#58;<br />
<?php $notesout = str_replace&#40;"\r", "<br/>", $notes&#41;;
echo $notesout; ?>
<br />
<?php echo $ip ?>
<br /><br />
<a href="http&#58;//www.________.gr/contact.php"> Back </a>
</p> 
</p>

</p>

</body>
</html>

i-ching
Δημοσιεύσεις: 11
Εγγραφή: 13 Αύγ 2008 18:19

φόρμα επικοινωνίας php

Δημοσίευση από i-ching » 25 Αύγ 2008 16:23

Επίσης θέλω να επισημάνω πως το κομμάτι

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

<p align="center">
Date&#58; <?php echo $todayis ?>
<br />
Thank You &#58; <?php echo $visitor ?> &#40; <?php echo $visitormail ?> &#41;
<br />

Attention&#58; <?php echo $attn ?>
<br />
Message&#58;<br />
<?php $notesout = str_replace&#40;"\r", "<br/>", $notes&#41;;
echo $notesout; ?>
<br />
<?php echo $ip ?>
<br /><br /> 
<a href="http&#58;//www.________.gr/contact.php"> Back </a>
</p> 
που αφορά το μήνυμα που λαμβάνει oχρήστης αφού συμπληρώσει και στείλει τη φόρμα, δεν μπορώ να το βάλω στα ελληνικά, πχ. "Ευχαριστούμε" αντί για Thank you, γιατί έρχεται με εκείνη την πειραγμένη κωδικοποίηση, είτε είναι η σελίδα (στο head) utf-8 είτε iso-8859-7

Και σόρι αν σας τα πρηξα, μέχρι xhtml/css τα καταφέρνω, γραφίστας είμαι που κάνει σελίδες, όχι προγραμματιστής (έτσι εξηγούνται όλα) :lol:

Πάω για διάβασμα php ("διά βίου εκαπίδευση" δεν το έλεγαν;) :reading:

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

φόρμα επικοινωνίας php

Δημοσίευση από Apostolis_38 » 25 Αύγ 2008 18:02

i-ching έγραψε:Επίσης θέλω να επισημάνω πως το κομμάτι
δεν μπορώ να το βάλω στα ελληνικά, πχ. "Ευχαριστούμε" αντί για Thank you, γιατί έρχεται με εκείνη την πειραγμένη κωδικοποίηση, είτε είναι η σελίδα (στο head) utf-8 είτε iso-8859-7
Μια χαζή ερωτησούλα.
Απο dos βλέπεις (βλέπει ο πελάτης) σωστά Ελληνικά;
Σε notepad το ίδιο.

Αν όχι τότε δεν έχουν δηλωθεί όλες οι σχετικές codepage στα Windows.
Πράγμα που επηρεάζει άμεσα και τις "υπηρεσίες" του web.

Απάντηση

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

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

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