שלח תשובה

זירת השאלות

581
צפיות
30
תשובות

שליחת טפסים בעברית.העולם נגדנו

,‏ 23 במרץ, 2006

היי
לאחר שבוע מפרך שבו ללא ידע בasp ועם חיפושי רשת נואשים ועזרה מאנשים טובים.
סוף סוף כתבתי קוד לשליחת טופס והוא עובד. אבל הוא עובד רק באנגלית ולא בעברית, מה שלא אפקטיבי כשהגולשים שלך דוברי השפה המשונה הזו הרצה לה מימין לשמאל.
ניסיתי לוגית, ויזואלית, 1255 ומה לא.

האם מישהו יודע מה כן עובד?

תגיות:

30 תשובות

  1. m_k הגיב:

    את ה – 1255 תשאיר רגיל..
    ובתחילת כל עמוד כשאתה בוחר באיזה שפה לכתוב את הקוד תוסיף codepage = 1255. html dir = rtl גם לא יזיק…

  2. m_k הגיב:

    שיט התבלגן לי הכל
    הנה הכל מחדש:
    בתחילת כל עמוד כשאתה בוחר באיזה שפה לכתוב את הקוד תוסיף:
    codepage = 1255.
    html dir = rtl גם לא יזיק

  3. derrida הגיב:

    היי זה לא עובד
    היי
    ניסיתי גם קידוד וגם כיוון, אבל שום דבר לא עובד.

    האם יש דרך אחרת? בעצם חייבת להיות דרך אחרת משום שיש טפסים השולחים את תוכנם העברי.

    האם תוכלו לעזור?

    רון

  4. בניה הגיב:

    שליחת טופס לאיפה?
    לש"ש

    תראה את הקוד.

  5. derrida הגיב:

    הנה הקוד
    הקוד מצורף במסמך.

    רון

  6. בניה הגיב:

    כנראה אתה צריך להוסיף header.
    לש"ש

    יש איפה שהוא הוראות לאוביקט שאתה משתמש בו שאולי כתוב בהם איך מוסיפים header?

  7. derrida הגיב:

    סליחה על הבורות
    אבל מהו header ?
    איך ואיפה אני כותב אותו? אין לי שום ידע בasp.

    אודה מאד על תשובה מהירה

    רון

  8. בניה הגיב:

    נתחיל מהתחלה.
    לש"ש

    מה בדיוק הבעיה?
    טקסט בעברית לא מוצג?
    הוא מוצג כגבריש?
    אם אתה רוצה את זה בPHP זה לא תהיה בעיה.

  9. derrida הגיב:

    פירוט
    היי
    תודה על ההתייחסות.
    הבעיה: נתוני הטופס מגיעים ומופיעים מצויין כל זמן שהגולש כתב באנגלית.
    אם הגולש מילא הטופס בעיברית הנתונים מגיעים כסימני שאלה.
    אני רק מתחיל ללמוד php וasp איני יודע כלל.
    פשוט עבדתי המון לפי דוגמאות שראיתי ברשת והצלחתי הכל חוץ מעניין העברית.

    בתודה

    רון

  10. derrida הגיב:

    אני מאמין שכן
    אני על שרת וינדוס, אבל ככל שאני הבנתי באתר החברה שמארחת אותי (גו-דדי) ניתן להשתמש בphp על שרת וינדוס.

    בתודה

    רון

  11. בניה הגיב:

    תנסה עוד משהוא לפני שננסה בPHP
    לש"ש

    בטופס שליחה הcharset הוא utf-8
    תנסה לשנות ל
    windows-1255
    פשוט תחליף אותם.

  12. derrida הגיב:

    היי כבר ניסיתי
    היי
    ניסיתי כבר את כל הקידודים האפשריים לעברית. ויזואלית,לוגית ווינדוסית:)
    שום דבר לא עבד.

    רון
    מודה לך מאד על ההתייחסות

  13. סורי שאני מתפרץ אבל אשמח לעזרה!
    סורי שאני מתפרץ אבל חבל לפתוח עוד טופיק על טפסים.
    אז הנה,
    הכנתי טופס הכל טוב ויפה עובד משהו משהו ב-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 אז סבבה ממש לא איכפת לי
    למה אין לי צורך בו כאשר זה יעבור לי לעמוד הרצוי

    תודה!

  14. בניה הגיב:

    רון-תן פה את הקוד של הטופס שליחה

  15. בניה הגיב:

    תחליף את השורה של הecho
    לש"ש

    בקוד שנתנו לך

  16. derrida הגיב:

    הנה הקוד

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
    <html xmlns="http://www.w3.org/1999/xhtml"&gt;
    <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&quot😉 = "relay-hosting.secureserver.net"

    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport&quot😉 = 25

    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing&quot😉 = 2

    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout&quot😉 = 60

    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate&quot😉 = 1

    ' Should be existent Mail Box

    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername&quot😉 = brener74

    ' Mailbox Password

    objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword&quot😉 = "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>

    מקווה שיש עצה:)

    רון

  17. בניה הגיב:

    לא זה..
    לש"ש

    של הטופס שליחה.
    זה הדף ששולח

  18. זה כותב לי את השגיאה הבאה:

    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">

  19. derrida הגיב:

    הנה הקוד
    </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>

    רון

  20. בניה הגיב:

    תנסה את הקוד שמצורף בקובץ
    לש"ש

    (ליתר ביטחון אני שם גם פה) אל תשכח לשמור את הקובץ כקובץ 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 'שגיאה בשליחה!';
    ?>

  21. אני הצלחתי ואני גם על 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
    כאילו מה איכפת לי חחח…
    בכל מקרה יכול להיות שזה מה שעושה את השינוי הדבר הקטן הזה
    הנה תמונה שאני מצרף במידה ואתה לא יודע איפה זה נמצע:
    לתמונה לחץ כאן!

  22. derrida הגיב:

    היי תודה ושאלה
    היי
    ראשית תודה.
    משום שאיני יודע php איני יודע היכן ואיך בקוד השליחה אני שם את הנתונים של גו-דדי?

    בתודה  

    רון

  23. derrida הגיב:

    היי
    היי
    אם אני מבין נכון אני צריך לשלב בקוד את הsmtp ואת הפורט,לא?

    רון

  24. בניה הגיב:

    כמעט בטוח שלא
    לש"ש

    תנסה את הקוד ואז נראה.

  25. derrida הגיב:

    היי זו הודעת השגיאה שאני מקבל

    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.

  26. derrida הגיב:

    לצערי גם זה לא עוזר
    היי
    הכל מוגדר בכיוון הנכון ובגו-דדי זה מוגדר כ לא-לטיני.

    בתודה

    רון

  27. derrida הגיב:

    האם אתה משתמש
    היי
    האם אתה משתמש בform mailer של גו-דדי? או שמא כתבת קוד עצמאי?

    רון

  28. מממ…כנס.
    אם אתה מתכוון לכך שרשמתי לו פה באיזה אימייל לעשות פורם אז כן.
    לחץ כאן לתמונה.

    אבל את הקוד שליחה ב-php הכנתי אני
    (יותר נכון גנבתי ועשיתי שינויים למה אני לא יודע php עדיין אבל חפיף בהמשך נלמד)

    אולי בכלל הבעייה בהאוטלוק שלך או בתוכנה שאיתה אתה פותח את האימיילים אולי אין בה עברית.

שלח תשובה