הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שאלה (https://hosts.co.il/forums/showthread.php?t=7138)

ozxbar 26-11-05 15:17

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

<?
$_post
["m"]=trim($_post["m"]);
$_post["n"]=trim($_post["n"]);
$_post["s"]=trim($_post["s"]);
$_post["t"]=trim($_post["t"]);
?>
<form action=<? $_server['php_self']; ?> method="post">
שמך: <br> <input type="text" maxlength="10" size="25" name="n"> <br>
נושא ההודעה::<br> <input type="text" size="25" maxlength=10 name="s"> <br>
אימייל::<br> <input type="text" size="25" maxlength=10 name="m"> <br>
תוכן ההודעה: <br> <TEXTAREA ROWS=10 COLS=40 NAME="t"></TEXTAREA> <br>
<input type="submit" name="submit" value="שלח">

<?
$mail_ok
=true;

if (
$_post["m"]=="")
{
echo 
"<font color='red'>אנא מלא את שדה האימייל</font><br>";
$mail_ok=false;
}


if (
$_post["n"]=="")
{
echo 
"<font color='red'>אנא מלא את שדה שמך</font><br>";
$mail_ok=false;
}


if (
$_post["s"]=="")
{
echo 
"<font color='red'>אנא מלא שדה נושא ההודעה</font><br>";
$mail_ok=false;
}


if (
$_post["t"]=="")
{
echo 
"<font color='red'>אנא מלא את שדה תוכן ההודעה</font><br>";
$mail_ok=false;
}





if (
$mail_ok)
{
$name=$_post["n"];
$mail=$_post["m"];
$subject=$_post["s"];
$body=$_post["t"];


$mail_ok=mail("ozxbar@gmail.com",$name,$mail,$subject,body);

if (
$mail_ok)

echo 
"האימייל נשלח בהצלחה, <br>
אנו נפנה אלייך בהקדם האפשרי."
;

} else {

echo 
"שליחת האימייל נכשלה, <br> אנא נסה מאוחר יותר, תודה.";
}
?>

אני מודה למי שיעזור לי.

meshuga 26-11-05 15:27

ציטוט:

נכתב במקור על ידי ozxbar
אני ניסיתי לעשות "תוכנית" ששולחת מייל וניסיתי לעשות אותה
טובה יותר מאשר הרגילה שיש אצל כולם.
משום מה היא לא פועלת לי טוב ואני מנסה כבר כמה שעות להפעילת את
זה וזה לא פועל.
הנה הקוד..
PHP קוד:

<form action=<? $_server['php_self']; ?> method="post">
שמך: <br> <input type="text" maxlength="10" size="25" name="n"> <br>
נושא ההודעה::<br> <input type="text" size="25" maxlength=10 name="s"> <br>
אימייל::<br> <input type="text" size="25" maxlength=10 name="m"> <br>
תוכן ההודעה: <br> <TEXTAREA ROWS=10 COLS=40 NAME="t"></TEXTAREA> <br>
<input type="submit" name="submit" value="שלח">

<?
$mail_ok
=true;

if (
trim($_POST["m"])=="")
{
echo 
"<font color='red'>אנא מלא את שדה האימייל</font><br>";
$mail_ok=false;
}


if (
trim($_POST["n"])=="")
{
echo 
"<font color='red'>אנא מלא את שדה שמך</font><br>";
$mail_ok=false;
}


if (
trim($_POST["s"])=="")
{
echo 
"<font color='red'>אנא מלא שדה נושא ההודעה</font><br>";
$mail_ok=false;
}


if (
trim($_POST["t"])=="")
{
echo 
"<font color='red'>אנא מלא את שדה תוכן ההודעה</font><br>";
$mail_ok=false;
}





if (
$mail_ok)
{
$name=$_POST["n"];
$mail=$_POST["m"];
$subject=$_POST["s"];
$body=$_POST["t"];

$headers  'MIME-Version: 1.0' "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

$headers .= 'To: שם <ozxbar@gmail.com>' "\r\n";
$headers .= 'From: '.$name.' <'.$mail.'>' "\r\n";

$mail_ok=mail("ozxbar@gmail.com",$subject,$body,$headers);

if (
$mail_ok)

echo 
"האימייל נשלח בהצלחה, <br>
אנו נפנה אלייך בהקדם האפשרי."
;

} else {

echo 
"שליחת האימייל נכשלה, <br> אנא נסה מאוחר יותר, תודה.";
}
?>

אני מודה למי שיעזור לי.

אם כבר ככה....אבל לא הבנתי איך אתה רוצה שיראו באי מייל...אם תסביר אני יעזור יותר


עריכה:
תיקנתי שם משהו...בטעות שכחתי למחוק

ozxbar 26-11-05 15:31

ציטוט:

נכתב במקור על ידי meshuga
אם כבר ככה....אבל לא הבנתי איך אתה רוצה שיראו באי מייל...אם תסביר אני יעזור יותר

אממ.. אני רוצה שזה יראה משהו כזה...
ציטוט:

שם:
אימייל:
נושא ההודעה:

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

תודה למי שיעזור!

עריכה: אהה ערכת את זה.... חח לא שמתי לב... אני אבדוק..
אם זה פועל אז תודה רבה...
אבל זה גם לא כל כך הכרחי,
חחח אני מעדיף שלא יהיה לי את זה אפילו,
העיקר ללמוד לבנות את זה.

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

meshuga 26-11-05 15:38

ציטוט:

נכתב במקור על ידי ozxbar
אממ.. אני רוצה שזה יראה משהו כזה...


אבל זה החלק הפחות הכרחי... החלק ההכרחי הוא
שזה ישלח את ההודעה למייל...
בנתיים זה לא שולח לי.

תודה למי שיעזור!

אז לא עושים ככה....בוא אני יסביר לך קצת על מייל...מייל צריך להיות ככה..
PHP קוד:

mail($to$subject$body$headers); 

$to=האי מייל שאליו ישלח
$subject=נושא האי מייל...כמו ששולחים אי מייל רגיל יש לו כותרת/נושא
$body=זה מה שאתה כותב בתוך האי מייל,זה מה שיראו בדף החלק של קבלת האי מייל(בדומה לדף אינטרנט)
$headers=זה קידודים,זה בעקרון די נסתר אבל יש מצבים שאם לא שמים את זה האי מייל מתקבל בג'יבריש ובתור ספאם ברוב המקרים..
עכשיו,אם אתה רוצה שיראו כמו שאמרת אתה צריך שבתוך הBODY יהיה לך את זה בHTML (בתקווה שהאי מייל עצמו תומך HTML)..
למשל
PHP קוד:

$emailbody="שם:".$name."<br>
אי מייל:"
.$mail."<br>
נושא ההודעה:"
.$subject."<br>
תוכן:"
.$body

ואז בשליחה תעשה ככה:
PHP קוד:

$headers  'MIME-Version: 1.0' "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

$headers .= 'To: השם שלך אם בא לך <your@email.com>' "\r\n";
$headers .= 'From: '.$name.' <'.$mail.'>' "\r\n";

mail("your@email.com"$subject$emailbody$headers); 


ozxbar 26-11-05 15:53

ציטוט:

נכתב במקור על ידי meshuga
אז לא עושים ככה....בוא אני יסביר לך קצת על מייל...מייל צריך להיות ככה..
PHP קוד:

mail($to$subject$body$headers); 

$to=האי מייל שאליו ישלח
$subject=נושא האי מייל...כמו ששולחים אי מייל רגיל יש לו כותרת/נושא
$body=זה מה שאתה כותב בתוך האי מייל,זה מה שיראו בדף החלק של קבלת האי מייל(בדומה לדף אינטרנט)
$headers=זה קידודים,זה בעקרון די נסתר אבל יש מצבים שאם לא שמים את זה האי מייל מתקבל בג'יבריש ובתור ספאם ברוב המקרים..
עכשיו,אם אתה רוצה שיראו כמו שאמרת אתה צריך שבתוך הBODY יהיה לך את זה בHTML (בתקווה שהאי מייל עצמו תומך HTML)..
למשל
PHP קוד:

$emailbody="שם:".$name."<br>
אי מייל:"
.$mail."<br>
נושא ההודעה:"
.$subject."<br>
תוכן:"
.$body

ואז בשליחה תעשה ככה:
PHP קוד:

$headers  'MIME-Version: 1.0' "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

$headers .= 'To: השם שלך אם בא לך <your@email.com>' "\r\n";
$headers .= 'From: '.$name.' <'.$mail.'>' "\r\n";

mail("your@email.com"$subject$emailbody$headers); 


לא כל כך הבנתי את מה שעשית פה =/
עם הקידוד וכל זה..

meshuga 26-11-05 15:55

ציטוט:

נכתב במקור על ידי ozxbar
לא כל כך הבנתי את מה שעשית פה =/
עם הקידוד וכל זה..

אני לא יודע איך אפשר יותר להסביר את זה :\..

ozxbar 26-11-05 16:04

ציטוט:

נכתב במקור על ידי meshuga
אני לא יודע איך אפשר יותר להסביר את זה :\..

תראה, הנה עוד דוגמא שמצאתי...
PHP קוד:

<?php 
If($_POST["posted"] != 1) { 
?> 
<form action="mail.php" method="post"> 
<input type="hidden" name="posted" value="1"> 
<font size=4>Powered By GuideMaster.net</font><hr> 
שמך: <input type="text" name="name"><Br /> 
כתובת האימייל שלך: <input type="text" name="email"><br /> 
תוכן ההודעה: <br /> 
<textarea cols=50 rows=10 name="text"></textarea><br /> 
<input type="submit" name="submit" value="שלח"> 
</form> 
<?php 
} else { 
$to "youremail@yourdomain.com"
$title "Contact Form (Powered By GuideMaster)"
$msg "<html dir='rtl'>"
$msg .= $_POST["text"]; 
$msg str_replace("\n","<br />",$msg); 
$head "Content-type: text/html; charset=WINDOWS-1255\r\n"
$head .= "From: ".$_POST["name"]." <".$_POST["email"].">\r\n"
mail($to,$title,$msg,$head); 
echo 
"ההודעה נשלחה בהצלחה."

?>

אוקיי לא הבנתי כמה דברים,
ראיתי שרשום בהתחלה
PHP קוד:

<?php 
If($_POST["posted"] != 1) { 
?>

לא הבנתי מה זה ה-posted הזה..
ז"א הבנתי שזה מתקשר ל-
HTML קוד:

<input type="hidden" name="posted" value="1">
אבל לא הבנתי מה הקוד html הזה אומר...
תקן אותי אם אני טועה, הקוד html הזה (hidden) זה אומר שזה לא נגלה
לכולם, אבל במה זה עוזר?

2. ראיתי שאחרי כל הקוד של הטפסים רשום else
למה רשום ה-else הזה? אני יודע מה זה אמור לעשות אבל איך זה מתקשר
לפה ? למה שמו אותו ולא המשיכו בקוד? רשום את הטפסים ואז אחרת?
מקווה שאתה מבין למה אני מתכוון ותוכל להסביר לי..

3. כל החלק שמתחת ל-else אלה לא פונקציות גלובאליות אז איך זה יודע למה הקוד מתכוון?
לדוגמא, רשום $to אז איך זה יודע שזה מיועד לשלוח למייל שרשום אחריו?

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

meshuga 26-11-05 16:33

ציטוט:

נכתב במקור על ידי ozxbar
תראה, הנה עוד דוגמא שמצאתי...
PHP קוד:

<?php 
If($_POST["posted"] != 1) { 
?> 
<form action="mail.php" method="post"> 
<input type="hidden" name="posted" value="1"> 
<font size=4>Powered By GuideMaster.net</font><hr> 
שמך: <input type="text" name="name"><Br /> 
כתובת האימייל שלך: <input type="text" name="email"><br /> 
תוכן ההודעה: <br /> 
<textarea cols=50 rows=10 name="text"></textarea><br /> 
<input type="submit" name="submit" value="שלח"> 
</form> 
<?php 
} else { 
$to "youremail@yourdomain.com"
$title "Contact Form (Powered By GuideMaster)"
$msg "<html dir='rtl'>"
$msg .= $_POST["text"]; 
$msg str_replace("\n","<br />",$msg); 
$head "Content-type: text/html; charset=WINDOWS-1255\r\n"
$head .= "From: ".$_POST["name"]." <".$_POST["email"].">\r\n"
mail($to,$title,$msg,$head); 
echo 
"ההודעה נשלחה בהצלחה."

?>

אוקיי לא הבנתי כמה דברים,
ראיתי שרשום בהתחלה
PHP קוד:

<?php 
If($_POST["posted"] != 1) { 
?>

לא הבנתי מה זה ה-posted הזה..
ז"א הבנתי שזה מתקשר ל-
HTML קוד:

<input type="hidden" name="posted" value="1">
אבל לא הבנתי מה הקוד html הזה אומר...
תקן אותי אם אני טועה, הקוד html הזה (hidden) זה אומר שזה לא נגלה
לכולם, אבל במה זה עוזר?

2. ראיתי שאחרי כל הקוד של הטפסים רשום else
למה רשום ה-else הזה? אני יודע מה זה אמור לעשות אבל איך זה מתקשר
לפה ? למה שמו אותו ולא המשיכו בקוד? רשום את הטפסים ואז אחרת?
מקווה שאתה מבין למה אני מתכוון ותוכל להסביר לי..

3. כל החלק שמתחת ל-else אלה לא פונקציות גלובאליות אז איך זה יודע למה הקוד מתכוון?
לדוגמא, רשום $to אז איך זה יודע שזה מיועד לשלוח למייל שרשום אחריו?

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

את הPOSTED לא צריך אלא אם כן יש לך יותר מטופס אחד בדף...אפשר להשתמש ב
PHP קוד:

if($_POST){



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


כל הזמנים הם GMT +2. הזמן כעת הוא 21:29.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ