ABA


"בעיה בטופס צור קשר PHP"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #14541 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14541
Sylver
חבר מתאריך 1.7.02
11915 הודעות, 2 פידבק
   22:41   01.11.08   
אל הפורום  
  בעיה בטופס צור קשר PHP  
 
   עבר עריכה לאחרונה בתאריך 07.11.08 בשעה 09:47 על-ידי Ice Cold (מנהל הפורום)
 
איזה בעסה לא מאמין שזה מה שתוקע אותי עכשיו...

מה שקורה זה שההודעה נשלחת למייל ואכן מגיעה אליו אבל אני מקבל UNKNOWN SENDER ואין שום דבר בתוכן ההודעה...

אגב, יש אפשרות שהטופס ישאר באותו דף ולא יפתח לי דף חדש עם התשובה "נשלח\נכשל" ?

תודה לעוזרים..

זה הקוד:


<script type="text/javascript">
<!--
function formCheck(formobj){
// Enter name of mandatory fields
var fieldRequired = Array("first_name", "last_name", "from_mail", "mail_subject", "mail_message");
// Enter field description to appear in the dialog box
var fieldDescription = Array("שם פרטי", "שם משפחה", "דואר אלקטרוני", "נושא", "מהות הפנייה");
// dialog message
var alertMsg = "אנא השלם את הפרטים הבאים:\n";
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "text":
case "textarea":
if (obj.value == "" || obj.value == null){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
default:
}
if (obj.type == undefined){
var blnchecked = false;
for (var j = 0; j < obj.length; j++){
if (obj[j].checked){
blnchecked = true;
}
}
if (!blnchecked){
alertMsg += " - " + fieldDescription[i] + "\n";
}
}
}
}
if (alertMsg.length == l_Msg){
return true;
}else{
alert(alertMsg);
return false;
}
}
//-->
</script>

<div class="header"> <!-- USES SAME BG AS HEADER -->

<div id="location">

עמוד הבית <img src="gui/arrow.jpg" alt="" /> צור קשר <img src="gui/arrow.jpg" alt="" /> שאלות, הצעות? כתבו לנו ונחזור אליכם כמה שיותר מהר...

</div>

</div>

<div id="bodyBg">

<div id="body">

<div id="content">

<form id="connect" onsubmit="return formCheck(this);" action="process.php" method="post">

<!-- FORM TABLE STARTS HERE -->

<table width="100%" cellspacing="0" cellpadding="0" dir="rtl">

<tr>

<td>

<!-- NEW TABLE STARTS HERE -->

<table cellspacing="0" cellpadding="0">

<tr>

<td colspan="2">אנא, מלאו את הטופס הבא ונחזור אליכם בהקדם. כל שאלה\הצעה תתקבל בשמחה ותענה בהקדם, תודה.</td>

</tr>

<!-- NEW ROW -->

<tr>

<td colspan="2" height="20"></td> <!-- SPACER -->

</tr>

<!-- NEW ROW -->

<tr>

<td style="padding-left: 10px;">שם פרטי</td>

<td><input type="text" id="first_name" /></td>

</tr>

<!-- NEW ROW -->

<tr>

<td colspan="2" height="10"></td> <!-- SPACER -->

</tr>

<!-- NEW ROW -->

<tr>

<td style="padding-left: 10px;">שם משפחה</td>

<td><input type="text" id="last_name" /></td>

</tr>

<!-- NEW ROW -->

<tr>

<td colspan="2" height="10"></td> <!-- SPACER -->

</tr>

<!-- NEW ROW -->

<tr>

<td style="padding-left: 10px;">דואר אלקטרוני</td>

<td><input type="text" id="from_mail" /></td>

</tr>

<!-- NEW ROW -->

<tr>

<td colspan="2" height="10"></td> <!-- SPACER -->

</tr>

<!-- NEW ROW -->

<tr>

<td style="padding-left: 10px;">נושא</td>

<td><input type="text" id="mail_subject" /></td>

</tr>

<!-- NEW ROW -->

<tr>

<td colspan="2" height="10"></td> <!-- SPACER -->

</tr>

<!-- NEW ROW -->

<tr>

<td valign="top" style="padding-left: 10px;">מהות הפנייה</td>

<td><textarea id="mail_message" cols="50" rows="5" style="font-family: Arial, Helvetica, sans-serif;"></td>

</tr>

</table>

<!-- NEW TABLE ENDS HERE -->

</td>

</tr>

<tr>

<td><div class="hr"></div></td>

</tr>

<!-- NEW ROW -->

<tr>

<td>

<input id="reset" type="reset" value="נקה" />

<input id="submit" onclick="return checkmail(this.form.from_mail);" type="submit" value="שלח" />

*חובה למלא את כל השדות בטרם שליחת הטופס.

</td>

</tr>

<!-- NEW ROW -->

<tr>

<td><div class="hr"></div></td>

</tr>

<!-- NEW ROW -->

<tr>

<td>

כמוכן, ניתן לצור קשר טלפונית במספרים הבאים, בין השעות 09:30-17:00:

<br />

<ul>
<li>נייד: 050-7663545</li>
<li>דואר אלקטרוני: <a href="mailto:[email protected]">[email protected]</a></li>
</ul>

</td>

</tr>

</table>

<!-- FORM TABLE ENDS HERE -->

</form>

</div>

</div>

</div>

וזה מה שנמצא בקובץ PHP ששולח את ההודעה:


<?php
{
$mail_to = "[email protected]";
$subject = $_POST["mail_subject"];
$message = $_POST["mail_message"];
$headers = "MIME-Version: 1.0 \r\n";
$headers .= "Content-type: text/html; charset=utf-8 \r\n";
$headers .= "From: ".$_POST["first_name"]." ".$_POST["last_name"]." <".$_POST["from_mail"].">\r\n";
$mail_ok=@mail($mail_to, $subject, $message, $headers );
if ($mail_ok)
{
switch($_GET[page])';
}
else
{
echo 'switch($_GET[page])';
}
}
?>


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  ... little O man 07.11.08 02:16 1
  חברה תשתמשו ב ''המרת סוגריים מרובעים'' כשאתם כותבים Ice Cold  07.11.08 09:48 2

       
little O man
חבר מתאריך 27.5.02
1109 הודעות
   02:16   07.11.08   
אל הפורום  
  1. ...  
בתגובה להודעה מספר 0
 
   עבר עריכה לאחרונה בתאריך 07.11.08 בשעה 09:47 על-ידי Ice Cold (מנהל הפורום)
 
שאתה למעשה רשמת
$_POST

אתה שלחת לו מחרוזת עם כל הנתונים ששלחת מהטופס.
כתיבה נכונה של הטופס היא בצורה כזו, במקום השורה הזו

<input type="text" id="from_mail" />

אתה צריך להוסיף תגית name לשדה שיראה ככה

<input type="text" id="from_mail" name="from_mail" />

ואז את השורה הזו בPHP לדוגמא


$headers .= "From: ".$_POST." ".$_POST." <".$_POST.">\r\n";

אתה משנה ל

$headers .= "From: ".$_POST['from_mail']." ".$_POST['from_mail']." <".$_POST['from_mail'].">\r\n";

כלומר המקום במערך מקבל את השם של השדה שנשלח, עם הערך שהוזן לו
בהצלחה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   09:48   07.11.08   
אל הפורום  
  2. חברה תשתמשו ב ''המרת סוגריים מרובעים'' כשאתם כותבים  
בתגובה להודעה מספר 0
 
בפורום, אחרת כל מה שנמצא בין סוגריים מרובעים לא יופיע לכם

כרגע ערכתי לשניכם.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net