עבור לתוכן

בעיה ביצירת טופס יצירת קשר ב php

Featured Replies

פורסם

שלום

מצאתי באינטרנט קוד php של טופס יצירת קשר.

בטופס יש רק שלושה שדות למלא - sender, subject, message. ואני רוצה להוסיף גם את השדה טלפון.

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

Warning: mail() [function.mail]: SAFE MODE Restriction in effect. The fifth parameter is disabled in SAFE MODE on line 21

הנה הקוד php המקורי:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<?php
$sender= $_POST['sender'];
$subject = $_POST['subject'];
$message = $_POST['message'];
if($sender == '' || $subject == '' || $message =='')
{
echo("ישנם פרטים חסרים בטופס");
}
elseif ($sender == $subject || $sender == $message || $message == $subject)
{
echo("אין באפשרותך לכתוב בשני שדות טקסט זהה");
}
else
{
mail('your-email-here', $subject, $message, "From:".$sender);
echo("<h3 align=center><b>הודעתך נשלחה בהצלחה</b></h3>");
}
?>

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

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<?php
$sender= $_POST['sender'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$phone = $_POST['phone'];
if($sender == '' || $subject == '' || $message =='' || $phone =='')
{
echo("אין באפשרותך לכתוב בשני שדות טקסט זהה");
}
elseif ($sender == $subject || $sender == $message || $message == $subject || $sender == $phone || $message == $phone || $subject == $phone)
{
echo("אין באפשרותך לכתוב בשני שדות טקסט זהה");
}
else
{
mail('your-email-here', $subject, $message, $phone, "From:".$sender);
echo("<h3 align=center><b>הודעתך נשלחה בהצלחה</b></h3>");
}
?>

האם הכנסתי את הערך phone בקוד ה php בצורה טובה?

לפי ההודעה, יש בעיה בשורה 21, ששם זה הפונקציה של המייל.

דרך אגב, אם אני מוציא את המילה phone$ משורה 21(מהפונקציה של המייל) אז ההודעה נשלחת, אבל כמובן ללא המספר טלפון.

אז מה הבעיה עם פונקציית המייל שם?

תודה לעונים זה מאוד חשוב

פורסם

נסה את זה:

mail('your-email-here', $subject, $message . "\nphonme num: $phone", "From:".$sender); 

אתה מוסיף את phone כפרמטר נוסף, וזה לא אמור ליהיות ככה..

כאן אני מוסיף אותו להודעה עצמה.

פורסם
  • מחבר

עובד, תודה רבה :xyxthumbs:

רק יש לי שאלה.

לא הבנתי למה בדיוק עשית את השינוי הזה : "\nphonme num: $phone" בפונקציית המייל.

כמו שאני רואה, בפונקציית המייל(שורה 21) רשום רק ה $subject ורק ה $message,, ובגלל זה גם הוספתי רק $phone, ואני לא מבין למה זה לא נכון.

למה הוספת: nphonme num: ואז רק $phone?

אשמח לתושבה.

ואם כבר אני כותב, אז יש לי עוד שאלה קטנה ואחרונה 8)

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

אני רוצה לשנות את זה ולעשות שאת כתובת המייל יהיה רשום כחלק מתוכן(גוף) המכתב, ובכותרת של המייל שנשלח במקום המייל שלו יהיה רשום -

"התקבלה הודעה מהאתר".

איך אני עושה את זה? תוכל לבצע את זה בשבילי?

תודה רבה חבר, וצהריים טובים

פורסם

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

כדי לפתור את הבעיה החלפתי את הפסיק בנקודה כדי להוסיף את הטלפון להודעה עצמה ולא כפרמט.

היתי יכול לוותר על החלק של הphone num: זה רק כדי שתזהה שזה המספר...

ואם אתה רוצה לשנות את הכותרת והתוכן ההודעה זה בכלל לא בעיה.


$msg = "sender: $sender\n";
$msg .= "subject: $subject\n;
$msg .= "message: \n$message\n";
$msg .= "phone: $phone";

mail('your-email-here', "התקבלה הודעה מהאתר", $msg, "From:".$sender);

פורסם
  • מחבר

לא הבנתי בדיוק איפה לשים את כל ה msg$.

הנה הקוד php שאני משתמש בו עכשיו:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<?php
$sender= $_POST['sender'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$phone = $_POST['phone'];
if($sender == '' || $subject == '' || $message =='' || $phone =='')
{
echo("אין באפשרותך לכתוב בשני שדות טקסט זהה");
}
elseif ($sender == $subject || $sender == $message || $message == $subject || $sender == $phone || $message == $phone || $subject == $phone)
{
echo("אין באפשרותך לכתוב בשני שדות טקסט זהה");
}
else
{
mail('your-email-here', $subject, $message . "$phone", "From:".$sender);
echo("<h3 align=center><b>הודעתך נשלחה בהצלחה</b></h3>");
}
?>

תוכל להוסיף לי את זה ולהביא לי את הphp המתוקן.

אלוף אתה :smile1:

פורסם
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>

<?php
$sender= $_POST['sender'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$phone = $_POST['phone'];
if($sender == '' || $subject == '' || $message =='' || $phone =='')
{
echo("אין באפשרותך לכתוב בשני שדות טקסט זהה");
}
elseif ($sender == $subject || $sender == $message || $message == $subject || $sender == $phone || $message == $phone || $subject == $phone)
{
echo("אין באפשרותך לכתוב בשני שדות טקסט זהה");
}
else
{
$msg = "sender: $sender\n";
$msg .= "subject: $subject\n;
$msg .= "message: \n$message\n";
$msg .= "phone: $phone";

mail('your-email-here', "התקבלה הודעה מהאתר", $msg, "From:".$sender);
echo("<h3 align=center><b>הודעתך נשלחה בהצלחה</b></h3>");
}
?>

פורסם
  • מחבר

הוספתי, וכאשר אני לוחץ על שלח טופס יש לי את הודעת שגיאה הבאה:

Parse error: syntax error, unexpected T_STRING on line 22

פורסם

אהה אופס, שכחתי לשים איזה מרכאות :nixweiss:

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

</head>

<?php

$sender= $_POST['sender'];

$subject = $_POST['subject'];

$message = $_POST['message'];

$phone = $_POST['phone'];

if($sender == '' || $subject == '' || $message =='' || $phone =='')

{

echo("אין באפשרותך לכתוב בשני שדות טקסט זהה");

}

elseif ($sender == $subject || $sender == $message || $message == $subject || $sender == $phone || $message == $phone || $subject == $phone)

{

echo("אין באפשרותך לכתוב בשני שדות טקסט זהה");

}

else

{

$msg = "sender: $sender\n";

$msg .= "subject: $subject\n";

$msg .= "message: n$message\n";

$msg .= "phone: $phone";

mail('your-email-here', "התקבלה הודעה מהאתר", $msg, "From:".$sender);

echo("<h3 align=center><b>הודעתך נשלחה בהצלחה</b></h3>");

}

?>

בעע משהו מוזר קורה לקוד... טוב, ציטוט יספיק... משהו דפוק קורה עם הBB של הקוד

פורסם
  • מחבר

אתה גדול בנאדם, תודה עזרת לי מאוד ::)

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים