PHP Contact form - Πρόβλημα στα Ελληνικά

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

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

Απάντηση
simmoritis
Δημοσιεύσεις: 6
Εγγραφή: 23 Μάιος 2012 05:31
Επικοινωνία:

PHP Contact form - Πρόβλημα στα Ελληνικά

Δημοσίευση από simmoritis » 03 Ιούλ 2012 03:23

Γεια σας,

Προσπαθώ να κάνω εγκατάσταση την παρακάτω φόρμα επικοινωνίας σε απλή σελίδα php.
Ενώ δέχομαι τα email, μου έρχονται "κινέζικα" (μν μν μνκ κ κ κξ κξ ξκ ) ενώ τα στέλνω στα Ελληνικά :lol:

Υποθέτω πως το πρόβλημα είναι στο Content-Type έκανα κάποιες δοκιμές αλλα δεν πέτυχε τίποτα.

Μπορεί κάποιος σχετικός να βοηθήσει ή να μου προτείνει κάποια άλλη φόρμα επικοινωνίας με captcha;

http://www.thewebhelp.com/php/scripts/p ... alidation/
Εικόνα



contact.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Contact Us</title>
<script type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>

<body>


<form action="mailer.php" method="post" name="form1" id="form1" style="margin:0px; font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px; width:300px;" onsubmit="MM_validateForm('from','','RisEmail','subject','','R','verif_box','','R','message','','R');return document.MM_returnValue">

Your e-mail:<br />
<input name="from" type="text" id="from" style="padding:2px; border:1px solid #CCCCCC; width:180px; height:14px; font-family:Verdana, Arial, Helvetica, sans-serif;font-size:11px;" value="<?php echo $_GET['from'];?>"/>
<br />
<br />

Subject:<br />
<input name="subject" type="text" id="subject" style="padding:2px; border:1px solid #CCCCCC; width:180px; height:14px;font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px;" value="<?php echo $_GET['subject'];?>"/>
<br />
<br />

Type verification image:<br />
<input name="verif_box" type="text" id="verif_box" style="padding:2px; border:1px solid #CCCCCC; width:180px; height:14px;font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px;"/>
<img src="verificationimage.php?<?php echo rand(0,9999);?>" alt="verification image, type it in the box" width="50" height="24" align="absbottom" /><br />
<br />

<!-- if the variable "wrong_code" is sent from previous page then display the error field -->
<?php if(isset($_GET['wrong_code'])){?>
<div style="border:1px solid #990000; background-color:#D70000; color:#FFFFFF; padding:4px; padding-left:6px;width:295px;">Wrong verification code</div><br />
<?php ;}?>

Message:<br />
<textarea name="message" cols="6" rows="5" id="message" style="padding:2px; border:1px solid #CCCCCC; width:300px; height:100px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px;"><?php echo $_GET['message'];?></textarea>
<noscript><a href="http://www.thewebhelp.com" style="display:none;">contact form by thewebhelp</a></noscript>
<input name="Submit" type="submit" style="margin-top:10px; display:block; border:1px solid #000000; width:100px; height:20px;font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; padding-left:2px; padding-right:2px; padding-top:0px; padding-bottom:2px; line-height:14px; background-color:#EFEFEF;" value="Send Message"/>
</form>



</body>
</html>




mailer.php

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

<?php
// ----------------------------------------- 
//  The Web Help .com
// ----------------------------------------- 
// remember to replace you@email.com with your own email address lower in this code.

// load the variables form address bar
$subject = $_POST&#91;"subject"&#93;;
$message = $_POST&#91;"message"&#93;;
$from = $_POST&#91;"from"&#93;;
$verif_box = $_POST&#91;"verif_box"&#93;;

// remove the backslashes that normally appears when entering " or '
$message = stripslashes&#40;$message&#41;; 
$subject = stripslashes&#40;$subject&#41;; 
$from = stripslashes&#40;$from&#41;; 

// check to see if verificaton code was correct
if&#40;md5&#40;$verif_box&#41;.'a4xn' == $_COOKIE&#91;'tntcon'&#93;&#41;&#123;
	// if verification code was correct send the message and show this page
	mail&#40;"you@email.com", 'Online Form&#58; '.$subject, $_SERVER&#91;'REMOTE_ADDR'&#93;."\n\n".$message, "From&#58; $from"&#41;;
	// delete the cookie so it cannot sent again by refreshing this page
	setcookie&#40;'tntcon',''&#41;;
&#125; else if&#40;isset&#40;$message&#41; and $message!=""&#41;&#123;
	// if verification code was incorrect then return to contact page and show error
	header&#40;"Location&#58; index.php?subject=$subject&from=$from&message=".urlencode&#40;$message&#41;."&wrong_code=true"&#41;;
	exit;
&#125; else &#123;
	echo "no variables received, this page cannot be accessed directly";
	exit;
	&#125;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http&#58;//www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>E-Mail Sent</title>
<style type="text/css">
<!--
body,td,th &#123;
	font-family&#58; Arial, Helvetica, sans-serif;
	font-size&#58; 12px;
&#125;
-->
</style></head>

<body>
Email sent. Thank you.<br />
<br />
Return to <a href="/">home page</a> ? 
</body>
</html>


verificationimage.php

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

<?php
// ----------------------------------------- 
//  The Web Help .com
// ----------------------------------------- 

header&#40;'Content-type&#58; image/jpeg'&#41;;

$width = 50;
$height = 24;

$my_image = imagecreatetruecolor&#40;$width, $height&#41;;

imagefill&#40;$my_image, 0, 0, 0xFFFFFF&#41;;

// add noise
for &#40;$c = 0; $c < 40; $c++&#41;&#123;
	$x = rand&#40;0,$width-1&#41;;
	$y = rand&#40;0,$height-1&#41;;
	imagesetpixel&#40;$my_image, $x, $y, 0x000000&#41;;
	&#125;

$x = rand&#40;1,10&#41;;
$y = rand&#40;1,10&#41;;

$rand_string = rand&#40;1000,9999&#41;;
imagestring&#40;$my_image, 5, $x, $y, $rand_string, 0x000000&#41;;

setcookie&#40;'tntcon',&#40;md5&#40;$rand_string&#41;.'a4xn'&#41;&#41;;

imagejpeg&#40;$my_image&#41;;
imagedestroy&#40;$my_image&#41;;
?>




Μπορείτε να το κατεβάσετε και από εδώ

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

PHP Contact form - Πρόβλημα στα Ελληνικά

Δημοσίευση από korgr » 03 Ιούλ 2012 03:34

αυτό

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

mail&#40;"you@email.com", 'Online Form&#58; '.$subject, $_SERVER&#91;'REMOTE_ADDR'&#93;."\n\n".$message, "From&#58; $from"&#41;; 
κάνε το

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

mail&#40;"you@email.com", 'Online Form&#58; '.$subject, $_SERVER&#91;'REMOTE_ADDR'&#93;."\n\n".$message, "From&#58; $from\nContent-Type&#58; text; charset=utf-8\n"&#41;; 

simmoritis
Δημοσιεύσεις: 6
Εγγραφή: 23 Μάιος 2012 05:31
Επικοινωνία:

PHP Contact form - Πρόβλημα στα Ελληνικά

Δημοσίευση από simmoritis » 03 Ιούλ 2012 03:59

:D Είχαμε πρόοδο αλλά κάτι λείπει.... :-?

Μετά την αλλαγή που προτείνεις μου έρχεται ο τίτλος του email κανονικά στα Ελληνικά αλλα μέσα το μήνυμα εξακολουθεί να είναι κινέζικα....

καμία ιδέα;

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

PHP Contact form - Πρόβλημα στα Ελληνικά

Δημοσίευση από korgr » 03 Ιούλ 2012 08:39

Πρέπει να ελέγξεις αν όλα τα αρχεία σου είναι utf-8

simmoritis
Δημοσιεύσεις: 6
Εγγραφή: 23 Μάιος 2012 05:31
Επικοινωνία:

PHP Contact form - Πρόβλημα στα Ελληνικά

Δημοσίευση από simmoritis » 03 Ιούλ 2012 09:27

Σε ευχαριστώ για το ενδιαφέρον korgr :)

Παντού έχω <meta http-equiv="content-type" content="text/html; charset=utf-8" />

αντί <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

που έχει κανονικά το αρχικό.

το δοκίμασες και στέλνει κανονικά τα ελληνικά;

simmoritis
Δημοσιεύσεις: 6
Εγγραφή: 23 Μάιος 2012 05:31
Επικοινωνία:

PHP Contact form - Πρόβλημα στα Ελληνικά

Δημοσίευση από simmoritis » 03 Ιούλ 2012 09:42

EDID@

Έστειλα σε yahoo.com και έστειλε κανονικά

στο email του site το στέλνει κινέζικα.... τι φταίει;

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

PHP Contact form - Πρόβλημα στα Ελληνικά

Δημοσίευση από korgr » 03 Ιούλ 2012 09:52

Δεν αρκεί το

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

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
πρέπει να είναι και σωσμένα τα αρχεία με encoding utf-8

πχ αν κατεβάσεις το Notepad2 και ανοίξεις τα αρχεία σου με αυτό, στο menu File->Encoding βεβαιώσου πως λέει utf-8 και όχι ANSI. Διαφορετικά όρισε εκεί utf-8 και πάτα save.

simmoritis
Δημοσιεύσεις: 6
Εγγραφή: 23 Μάιος 2012 05:31
Επικοινωνία:

PHP Contact form - Πρόβλημα στα Ελληνικά

Δημοσίευση από simmoritis » 03 Ιούλ 2012 11:33

Αυτο χρησιμοποιώ και βάζω utf-8 xoris Boom

Το μόνο αρχείο που είναι ANSI είναι το verificationimage.php όταν το αλλάζω δεν δουλεύει το catpcha. αλλα δεν νομίζω να φταίει αυτό.

Το ότι παιζει κανονικά σε email Gmail και Yahoo αλλα όχι στο email του site τι σου λεει;

Υπάρχει περίπτωση να είναι θέμα server;

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

PHP Contact form - Πρόβλημα στα Ελληνικά

Δημοσίευση από Apostolis_38 » 04 Ιούλ 2012 11:00

Πιθανώς να είναι θέμα default encoding.
Πειραματίσου λίγο με το encoding (π.χ. view --> character encoding) του προγράμματος.

Απάντηση

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

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

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