الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

فورم ال feedback لا يعمل

بدأه muzamil87 في 21 يوليو 2010 · 5 رد · 514 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي الفورم تبع ال feedback لا يعمل بشك صحيح ولا تصلني اي رساله على الايميل مع العلم بان السيرفر محلي.

هذا هو الكود بالنسبه لكل صفحه متعلقه بالفورم. الرجاء المساعده في اكتشاف الحل.

feedback.html


<form method="post" action="sendmail.php">
Name: <input name="name" type="text" /><br />
Email: <input name="email" type="text" /><br />
Message:<br />
<textarea name="message" rows="15" cols="40">
</textarea><br />
<input type="submit" />
</form>


</body>
<body>

sendmail.php


$name = $_REQUEST['name'] ;
$email = $_REQUEST['email'] ;
$message = $_REQUEST['message'] ;

if (!isset($_REQUEST['email'])) {
header( "Location: feedback.html" );
}
elseif (empty($email) || empty($message)) {


header( "Expires: Mon, 20 Dec 1998 01:00:00 GMT" );
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );

?>
<head><title>Error</title></head>
<body>
<h1>Error</h1>
<p>
Oops, it appears you forgot to enter either your
email address or your message. Please press the BACK
button in your browser and try again.
</p>

<?php
}
else {
mail( "muzamil_2c9@hotmail.com", "Feedback Form Results",
$message, "From: $name <$email>" );
header( "Location: thankyou.html" );
}
?>
</body>
</head>
<?php

]

تم تعديل هذه المشاركة بواسطة muzamil87 في 21 يوليو 2010 في 10:11

#2

وعليكم السلام

ذلك يعود لإعدادات الـ php.ini

ولو قمت بإلغاء سطر الانتقال الأخير

header( "Location: thankyou.html" );

لرأيت الخطأ واضح ، يوجد طريقة لتعديل إعدادات الـ php.ini من خلال php كما في المثال :

ini_set("SMTP","smtp.gmail.com");
ini_set("smtp_port","465");

لكن في سيرفر الـ gmail ستفشل الطريقة لأن الـ gmail يتطلب اتصال آمن للإرسال وذلك ما لا تدعمه الدالة mail في php لكن ربما تجد الحل باستخدام الكلاس المطور التالي والخاص بالبريد الالكتروني على الرابط التالي ( وعلى ما أظن مجاني ) :

http://phpmailer.worxware.com/

لكن في النهاية هذا كله بسبب تجربة الدالة في السيرفر المحلي ولو قمت بالتجربة على موقعك الحقيقي لا أعتقد أنك ستواجه ذات المشكلة .

لك أجمل تحية :)

تم تعديل هذه المشاركة بواسطة hfsh80 في 21 يوليو 2010 في 12:10

#3
hfsh80 كتب:

وعليكم السلام

ذلك يعود لإعدادات الـ php.ini

ولو قمت بإلغاء سطر الانتقال الأخير

header( "Location: thankyou.html" );

لرأيت الخطأ واضح ، يوجد طريقة لتعديل إعدادات الـ php.ini من خلال php كما في المثال :

ini_set("SMTP","smtp.gmail.com");
ini_set("smtp_port","465");

لكن في سيرفر الـ gmail ستفشل الطريقة لأن الـ gmail يتطلب اتصال آمن للإرسال وذلك ما لا تدعمه الدالة mail في php لكن ربما تجد الحل باستخدام الكلاس المطور التالي والخاص بالبريد الالكتروني على الرابط التالي ( وعلى ما أظن مجاني ) :

http://phpmailer.worxware.com/

لكن في النهاية هذا كله بسبب تجربة الدالة في السيرفر المحلي ولو قمت بالتجربة على موقعك الحقيقي لا أعتقد أنك ستواجه ذات المشكلة .

لك أجمل تحية :)

مشكور اخي الكريم على المعلومات القيمه

يعني افهم من كلامك ان الاكواد التي لدي صحيحه ان شاء الله وستعمل بشكل سليم عند رفع الصفحات على السيرفر ؟

#4

إن شاء الله سيعمل بدون مشاكل عملته سابقاً في موقع ويعمل بامتياز :)

1
#5
hfsh80 كتب:

إن شاء الله سيعمل بدون مشاكل عملته سابقاً في موقع ويعمل بامتياز :)

مشكور اخي الكريم على خدماتك

#6
hfsh80 كتب:

لكن في سيرفر الـ gmail ستفشل الطريقة لأن الـ gmail يتطلب اتصال آمن للإرسال وذلك ما لا تدعمه الدالة mail في php لكن ربما تجد الحل باستخدام الكلاس المطور التالي والخاص بالبريد الالكتروني على الرابط التالي ( وعلى ما أظن مجاني ) :

هل تقصد أخي أن الرسائل المرسلة إلى الـ Gmail بواسطة الدالة Mail لا تصل أو يقوم سيرفر الـ Gmail بتجاهلها

أرجو ان توضح هذه النقطة أكثر و جزاك الله خيراً :)

Everything will be fine when we TALK LESS, DO MORE


مواضيع مشابهة