פורסם 2011 בפברואר 2514 שנים היי לכולם, אני די הרבה לאחרונה בפורום הזה כתבתי קוד PHP לטופס 'צור קשר' ויש לי 2 בעיות: * אני מקבל למייל טופס בג'יבריש! * ואין התרעה כאשר מישהו לא ממלא את השדות חובה - זה תמיד נשלח * אשמח גם אם תגידו לי אם כתבתי סתם קודים שאפשר למחוק מהסקריפט
פורסם 2011 בפברואר 2514 שנים תנסה את זה:<?phpif (isset($_POST['submit'])){$name = $_POST["name"];$company = $_POST["company"];$phone = $_POST["phone"];$email = $_POST["email"];$msg_subject = $_POST["msg_subject"];$msg = $_POST["msg"]; $to = "my@email.com";$subject = "התקבלה הודעה חדשה מהאתר";$message = "<p>שם מלא:<BR>$name</p><p>חברה:<BR>$company</p><p>טלפון:<BR>$phone</p><p>דואר אלקטרוני:<BR>$email</p><p>נושא:<BR>$msg_subject</p><p>פירוט:<BR>$msg</p>";$headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=UTF-8\r\n"; $headers .= "From: $email\r\n";$headers .= "To: $to\r\n";$headers .= "X-Priority: 1\r\n"; $headers .= "X-MSMail-Priority: High\r\n"; if (mail( $to, $subject, $message, $headers))echo("<html><head><script language='JavaScript'>alert('הודעתך נשלחה בהצלחה');</script></head></html>"); elseecho ("<html><head><script language='JavaScript'> alert('נא עבור על הפרטים שוב');</script></head></html>");}?><html><head></head><body><form method="post" action=""><table width="550" border="0"> <tr> <td align="right" valign="middle"><label><input name="name" type="text" size="20" border="0" dir="rtl"></label></td> <td align="right" valign="middle"></td> <td align="right" valign="middle" class="content-text">* שם מלא:</td> </tr> <tr> <td align="right" valign="middle"><label><input name="company" type="text" size="20" border="0" dir="rtl"></label></td> <td align="right" valign="middle"></td> <td align="right" valign="middle" class="content-text">חברה:</td> </tr> <tr> <td align="right" valign="middle"><label><input name="phone" type="text" size="20" border="0" dir="rtl"></label></td> <td align="right" valign="middle"></td> <td align="right" valign="middle" class="content-text">טלפון:</td> </tr> <tr> <td align="right" valign="middle"><label><input name="email" type="text" size="20" border="0" dir="rtl"></label></td> <td align="right" valign="middle"></td> <td align="right" valign="middle" class="content-text">* דואר אלקטרוני:</td> </tr> <tr> <td align="right" valign="middle"><label><input name="msg_subject" type="text" size="50" border="0" dir="rtl"></label></td> <td align="right" valign="middle"></td> <td align="right" valign="middle" class="content-text">נושא ההודעה:</td> </tr> <tr> <td align="right" valign="middle"><label><textarea name="msg" type="text" cols="50" rows="10" border="0" dir="rtl"></textarea></label></td> <td align="right" valign="middle"></td> <td align="right" valign="middle" class="content-text">* פירוט:</td> </tr> <tr> <td align="center" valign="middle"><label><input name="submit" type="submit" value="שלח" class="button"></label></td> <td align="right" valign="middle"></td> <td align="right" valign="middle"></td> </tr></table></form></body></html>אני זוכר שגם אני הסתבכתי עם עברית בשליחת מייל...לגבי בדיקת תקינות שדות חובה, את זה אתה יכול לבדוק או באמצעות javascript לפני השליחה של הטופס לדוגמה(קודם כל לשנות את התג form ל- <form method="post" name="mailer" action="" onsubmit="validateFormFields();">) ולהוסיף את הסקריפט הבא:<script type="text/javascript">function validateFormFields(){ if(document.mailer.email.value.length <= 0) return false; return true;}</scipt>או לבצע בדיקה פשוטה בעזרת if ב php לדוגמהif(!isset($_POST["email"])) echo "Email is not set correctly"; exit();
פורסם 2011 בפברואר 2614 שנים מחבר היי אילן, תודה!עכשיו זה מתקבל בעברית!בקשר לוודאות:שיניתי את הפורם שכחתי משהו כי זה לא מקפיץ אף הודעה.איך אני קובע איזו הודעה הוא יקפיץ בהתאם לכל תא שלא מילאו?
פורסם 2011 בפברואר 2614 שנים <script type="text/javascript">function validateFormFields(){ if(document.mailer.email.value.length <= 0){ alert('אנא הכנס כתובת אימייל'); return false;} return true;}</script>
פורסם 2011 בפברואר 2614 שנים מחבר זה עובד, אך נוצרו 2 בעיות אחרות 1 אני מוסיף את הקוד שיכניסו שם מלא מתחת או מעל ל"הכניסו מייל" אבל הוא מתייחס רק לראשון מבניהם שבקוד 2. אחרי שהוא מקפיץ את ההודעה "אנא הכנס מייל" הוא מקפיץ את ההודעה "הטופס נשלח בהצלחה" ושולח
פורסם 2011 בפברואר 2814 שנים תנסה לשנות את השם של השדה במקום name ל fullnameאו סתם שם אחר שיהיה שונה מname
פורסם 2011 במרץ 114 שנים מחבר ניסיתי ולא עבד. somebody save meאני מאמין שיש בעיה בסקריפט שלא כתובה עד הסוף. זה הקוד הנוכחי כולל הסקריפט בסוף
פורסם 2011 במרץ 214 שנים יש לך סוגר שהוא אחרי התגית scriptזה עדיין נותן לך את אותם השגיאות שציינת מקודם או שעכשיו זה משהו אחר?
פורסם 2011 במרץ 214 שנים מחבר כן כן זו טעות שלי בהעתקה. הסוגר נמצא לפני סוגר הסקריפט.הבעיות שיש הןסיטואציה מס' 1כהטופס ריק ולוחצים שלח -> קופצת הודעה "אנא הכנס שם מלא" -> ואז קופצת הודעה "הודעתך נשלחה"סיטואציה מס' 2כשהטופס מלא רק בשם ולוחצים שלח -> קופצת הודעה "אנא מלא אי מייל -> ואז קופצת הודעה "הודעתך נשלחה"הוא מקפיץ את ההודעה הראשונה שכתובה בסקירפט לפי הסדר ואז בכל מקרה שולח את הטופסאני צריך שהוא לא ישלח את הטופס אלא יעצור ויתן לי להזין את השדות חובה
פורסם 2011 במרץ 214 שנים כשרושמים פונקציה בארוע onsubmit צריך לרשום<form onsubmit="return validateFormFields()">תוספת של המילה return
פורסם 2011 במרץ 714 שנים מחבר הבוקר שמתי לב לבעיה חדשהאמנם אין שום בעיה פונקציונלית עם הטופס והוא עובד כמו שצריך,אבל אחרי ששולחים אותו יש שינוי ויזואלי בעמוד - ממה זה יכול לנבוע?1. הטופס מתקרב לגבול העליון של הדף כאילו עולה שורה אחת למעלה2. הכפתור "שלח" ומתקטן קלותanyone?
פורסם 2011 במרץ 2614 שנים מחבר מנסה את מזלי שוב...עזבו את הכפתור. למה הטקסט קופץ אחרי השליחה?! מישהו שמע מכיר ראה?
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.