581
צפיות
צפיות
30
תשובות
תשובות
שליחת טפסים בעברית.העולם נגדנו
היי
לאחר שבוע מפרך שבו ללא ידע בasp ועם חיפושי רשת נואשים ועזרה מאנשים טובים.
סוף סוף כתבתי קוד לשליחת טופס והוא עובד. אבל הוא עובד רק באנגלית ולא בעברית, מה שלא אפקטיבי כשהגולשים שלך דוברי השפה המשונה הזו הרצה לה מימין לשמאל.
ניסיתי לוגית, ויזואלית, 1255 ומה לא.
האם מישהו יודע מה כן עובד?
30 תשובות
את ה – 1255 תשאיר רגיל..
ובתחילת כל עמוד כשאתה בוחר באיזה שפה לכתוב את הקוד תוסיף codepage = 1255. html dir = rtl גם לא יזיק…
שיט התבלגן לי הכל
הנה הכל מחדש:
בתחילת כל עמוד כשאתה בוחר באיזה שפה לכתוב את הקוד תוסיף:
codepage = 1255.
html dir = rtl גם לא יזיק
היי זה לא עובד
היי
ניסיתי גם קידוד וגם כיוון, אבל שום דבר לא עובד.
האם יש דרך אחרת? בעצם חייבת להיות דרך אחרת משום שיש טפסים השולחים את תוכנם העברי.
האם תוכלו לעזור?
רון
שליחת טופס לאיפה?
לש"ש
תראה את הקוד.
הנה הקוד
הקוד מצורף במסמך.
רון
כנראה אתה צריך להוסיף header.
לש"ש
יש איפה שהוא הוראות לאוביקט שאתה משתמש בו שאולי כתוב בהם איך מוסיפים header?
סליחה על הבורות
אבל מהו header ?
איך ואיפה אני כותב אותו? אין לי שום ידע בasp.
אודה מאד על תשובה מהירה
רון
נתחיל מהתחלה.
לש"ש
מה בדיוק הבעיה?
טקסט בעברית לא מוצג?
הוא מוצג כגבריש?
אם אתה רוצה את זה בPHP זה לא תהיה בעיה.
פירוט
היי
תודה על ההתייחסות.
הבעיה: נתוני הטופס מגיעים ומופיעים מצויין כל זמן שהגולש כתב באנגלית.
אם הגולש מילא הטופס בעיברית הנתונים מגיעים כסימני שאלה.
אני רק מתחיל ללמוד php וasp איני יודע כלל.
פשוט עבדתי המון לפי דוגמאות שראיתי ברשת והצלחתי הכל חוץ מעניין העברית.
בתודה
רון
יש לך אפשרות להשתמש בPHP?
אני מאמין שכן
אני על שרת וינדוס, אבל ככל שאני הבנתי באתר החברה שמארחת אותי (גו-דדי) ניתן להשתמש בphp על שרת וינדוס.
בתודה
רון
תנסה עוד משהוא לפני שננסה בPHP
לש"ש
בטופס שליחה הcharset הוא utf-8
תנסה לשנות ל
windows-1255
פשוט תחליף אותם.
היי כבר ניסיתי
היי
ניסיתי כבר את כל הקידודים האפשריים לעברית. ויזואלית,לוגית ווינדוסית:)
שום דבר לא עבד.
רון
מודה לך מאד על ההתייחסות
סורי שאני מתפרץ אבל אשמח לעזרה!
סורי שאני מתפרץ אבל חבל לפתוח עוד טופיק על טפסים.
אז הנה,
הכנתי טופס הכל טוב ויפה עובד משהו משהו ב-PHP
ואני מעוניין בבקשה שאחרי שזה שולח את הטופס שזה יעביר אותי לעמוד שאני יגדיר לו:
לדוגמא ל: mail2.html
כאילו יש לי טופס עצמו שהוא בעמוד: mail.html
ויש את עמוד הקוד של php שהוא: mail.php
ואני מעוניין שאחרי שהוא שולח הוא יעבור ל: mail2.html
בבקשה!
אמרו לי שצריך להכניס את זה איפשהו:
header("Location: mail2.html");
רק שאני לא מבין כלום ב php
ככה שאני לא יודע איפה למקם אותו
ואשמח אם תמקמו אותו בשבילי בבקשה!
או אם זה לא טוב ויש דרך אחרת אשמח לדעת מהיא ואיך לבצע אותה.
הנה קוד עמוד השליחה שלי:
<?php
$name = $_POST['full_name'];
$phone = $_POST['phone_number'];
$email = $_POST[’email_address'];
$tickets = $_POST['tickets'];
$text = $_POST['text_area'];
mail("mail@domain.com",
"Cruise Tickets!",
"Name: $name nPhone: $phone nEmail: $email nTickets: $tickets nText: $text");
echo "Thanks! nWe recived your infomation.";
?>
ד"א אם צריך להעיף את ה echo אז סבבה ממש לא איכפת לי
למה אין לי צורך בו כאשר זה יעבור לי לעמוד הרצוי
תודה!

רון-תן פה את הקוד של הטופס שליחה
תחליף את השורה של הecho
לש"ש
בקוד שנתנו לך
הנה הקוד
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!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=windows-1255" />
<title>Untitled Document</title>
</head>
<body>
<%
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver"😉 = "relay-hosting.secureserver.net"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport"😉 = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing"😉 = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"😉 = 60
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"😉 = 1
' Should be existent Mail Box
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername"😉 = brener74
' Mailbox Password
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword"😉 = "111111111"
objCDOSYSCon.Fields.Update
Set objCDOSYSMail.Configuration = objCDOSYSCon
' Should be existent Mail Box
objCDOSYSMail.From = "rshtig@gmail.com"
objCDOSYSMail.To = "orrimon@zahav.net.il"
objCDOSYSMail.Subject = request.form("pass_subject")
objCDOSYSMail.HTMLBody = "<html><head><title>My test ASP</title><meta http-equiv='Content-Type' content='text/html; charset=windows-1255'></head><body><table><tr><td><font size=3>From:</font></td>" & Request.form("pass_from") & "</tr><tr><td><font size=3>Email:</font></td>" & Request.form("pass_mail") & "</tr><tr><td><font size=3>Phone:</font></td>" & Request.form("pass_phone") & "</td></tr><tr><td><font size=3>Subject:</font></td>" & Request.form("pass_subject") & "</td></tr><tr><td><font size=3>Message:</font></td>" & Request.form("pass_body") & "</td></tr></table></body></html>"
objCDOSYSMail.Send
Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing
response.Redirect("thanks.htm")
%>
</body>
</html>
מקווה שיש עצה:)
רון
לא זה..
לש"ש
של הטופס שליחה.
זה הדף ששולח
זה כותב לי את השגיאה הבאה:
Warning: Cannot modify header information – headers already sent by (output started at /english/mail.php:8) in /english/mail.php on line 17
הנה הקוד לאחר שהכנסתי את ההידר:
<?php
$name = $_POST['full_name'];
$phone = $_POST['phone_number'];
$email = $_POST[’email_address'];
$tickets = $_POST['tickets'];
$text = $_POST['text_area'];
mail("mail@domain.com",
"Cruise Tickets!",
"Name: $name nPhone: $phone nEmail: $email nTickets: $tickets nText: $text");
header("Location: tickets.html");
?>
וזה הקוד של הטופס HTML:
<form name="english_form" method="POST" action="mail.php" target="main_frame">
הנה הקוד
</p>
<form id="form1" name="form1" method="post" action="form29.asp" >
<table width="350" border="3" cellpadding="3" cellspacing="3">
<tr>
<td>שם: </td>
<td align="right"><label>
<input name="pass_from" type="text" id="pass_from" />
</label></td>
</tr>
<tr>
<td>דואל:</td>
<td align="right"><label>
<input name="pass_mail" type="text" id="pass_mail" />
</label></td>
</tr>
<tr>
<td>טלפון:</td>
<td align="right"><label>
<input name="pass_phone" type="text" id="pass_phone" />
</label></td>
</tr>
<tr>
<td>נושא:</td>
<td align="right"><label>
<input name="pass_subject" type="text" id="pass_subject" />
</label></td>
</tr>
<tr>
<td>הודעה:</td>
<td align="right"><label>
<textarea name="pass_body" cols="0" rows="5" id="pass_body"></textarea>
</label></td>
</tr>
<tr>
<td> </td>
<td align="right"><label>
<input type="submit" name="Submit" value="שלח" />
</label></td>
</tr>
</table>
</form>
רון
תנסה את הקוד שמצורף בקובץ
לש"ש
(ליתר ביטחון אני שם גם פה) אל תשכח לשמור את הקובץ כקובץ PHP ולשנות את הטופס שליחה בהתאם.
<?php
$mesesge="<html>
<head>
<title>My test ASP</title>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1255'>
</head>
<body>
<table border=1>
<tr>
<td>
<font size=3>From:</font>
</td>".$_POST["pass_from"]."
</tr>
<tr>
<td>
<font size=3>Email:</font>
</td>" . $_POST["pass_mail"] . "
</tr>
<tr>
<td>
<font size=3>Phone:</font>
</td>" . $_POST["pass_phone"] . "
</td>
</tr>
<tr>
<td><font size=3>Subject:</font>
</td>" . $_POST["pass_subject"] . "
</td>
</tr>
<tr>
<td><font size=3>Message:</font>
</td>" . $_POST["pass_body"] . "
</td>
</tr>
</table>
</body>
</html>";
$headers = 'MIME-Version: 1.0' . "rn";
$headers .= 'Content-type: text/html; charset=windows-1255' . "rn";
if(mail('orrimon@zahav.net.il',$_POST['pass_subject'],$mesesge,$headers))
header("Location : thanks.htm");
echo 'שגיאה בשליחה!';
?>
אני הצלחתי ואני גם על godaddy
אני גם על godaddy
הכנתי עכשיו ניסיון בעברית ועובד לי מצויין!
אני על לינוקס לא על וינדואוס ואני שולח דרך php
הנה ההגדרות ששמתי בשני העמודי שליחה שלי –
גם ב HTML שמכיל את הטופס
וגם ב PHP שמכיל את הקוד שליחה.
בשניהם שמתי:
<html dir="rtl">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-8-i">
ד"א ב
Godaddy
יש לך בהגדרות בפאנל ניהול של האימייל את הדבר הבא:
Accept non-Western (Latin) Messages? Yes No
תבחר ב
Yes
אני תמיד בוחר לאימיילים שלי שם ב
yes
כאילו מה איכפת לי חחח…
בכל מקרה יכול להיות שזה מה שעושה את השינוי הדבר הקטן הזה
הנה תמונה שאני מצרף במידה ואתה לא יודע איפה זה נמצע:
היי תודה ושאלה
היי
ראשית תודה.
משום שאיני יודע php איני יודע היכן ואיך בקוד השליחה אני שם את הנתונים של גו-דדי?
בתודה
רון
איזה נתונים?
היי
היי
אם אני מבין נכון אני צריך לשלב בקוד את הsmtp ואת הפורט,לא?
רון
כמעט בטוח שלא
לש"ש
תנסה את הקוד ואז נראה.
היי זו הודעת השגיאה שאני מקבל
The page cannot be displayed
The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.
——————————————————————————–
Please try the following:
Contact the Web site administrator if you believe that this request should be allowed.
Make sure that the Web site address displayed in the address bar of your browser is spelled and formatted correctly.
HTTP Error 405 – The HTTP verb used to access this page is not allowed.
Internet Information Services (IIS)
——————————————————————————–
Technical Information (for support personnel)
Go to Microsoft Product Support Services and perform a title search for the words HTTP and 405.
Open IIS Help, which is accessible in IIS Manager (inetmgr), and search for topics titled Setting Application Mappings, Securing Your Site with Web Site Permissions, and About Custom Error Messages.
לצערי גם זה לא עוזר
היי
הכל מוגדר בכיוון הנכון ובגו-דדי זה מוגדר כ לא-לטיני.
בתודה
רון
האם אתה משתמש
היי
האם אתה משתמש בform mailer של גו-דדי? או שמא כתבת קוד עצמאי?
רון
מממ…כנס.
אם אתה מתכוון לכך שרשמתי לו פה באיזה אימייל לעשות פורם אז כן.
אבל את הקוד שליחה ב-php הכנתי אני
(יותר נכון גנבתי ועשיתי שינויים למה אני לא יודע php עדיין אבל חפיף בהמשך נלמד)
אולי בכלל הבעייה בהאוטלוק שלך או בתוכנה שאיתה אתה פותח את האימיילים אולי אין בה עברית.