(13-04-16, 02:01 PM)محمد كريّم كتب : [ -> ]الشكر لله
موفق
اخي يوجد استفسار اخر وهو ان عند عدم كتابة الاسم مثلا يعترض ولذلك اقوم بكتابة الاسم ثم اذا لم اكتب الايميل يعترض ويقوم بتفريغ خانة الاسم فاضطر لاعادة كتابة خانة الاسم ثم الايميل وعند عدم كتابة خانة رقم التليفون يعترض ويفرغ الخانات الموجودة وهما الاسم والايميل فاضطر لكتابتهم ثانية عند ادخال خانة الرقم لذلك انا اريد عند الاعتراض واظهار رسالة التحذير بالادخال ان لا يقوم بتفريغ المحتويات الخانات الاخري
عند الاعتراض قم بتعبئة الخانات بالقيم المرسلة وهي موجودة عندك
$$_POST['name'];
$$_POST['mail'];
$$_POST['tel'];
$$_POST['sub'];
$$_POST['msg'];
هل هذا الكود اخي لا يفرغ باقي inputs الاخري الممتلئة في الفورم عند وجود حقل فارغ ثم ظهور الرسالة بضرورة ملأ الحقل فهذا ما أريده
ولو تفضلت في اي سطر اضع هذا الكود
هذا ليس كود
هذه القيم المرسلة الى النموذج وهي عبارة عن قيم الحقول المعبئة قبل الارسال
فاذا كان هناك مشكلة واعتراض سيتم افراغ كل الحقول كما تفضلت وهذا طبيعي
ولكن انت عليك ان تعيد اسنادها الى الخانات برمجيا
يعني في كود html تحط الـ value يساوي هذه القيمة -كل خانة لها قيمة خاصة كما هو واضح من الاسماء-
انا ما اقدر اشرح اكثر لان ما اعرف بنية html في السكربت عندك
لو عندك فكرة على ajax ممكن انك ترسل ايميل بدون اعادة تحميل الصفحة وحتى لو فيه اعتراض لن تفرغ الخانات
هذا كود ال html عندي
<form action="complains.php" method="post" style="position:relative;direction:rtl;height: 571px; width: 640px;margin-right:150px;float:right" >
<label style="margin-top: 0px;margin-right: 0px;margin-left:0px;padding:0px">الاسم</label>
<input type='text' value="" name='name' style="padding:0px;height:25px;width: 349px; margin-top: 0; margin-bottom: 0;" class="auto-style24" />
<br style="height:20px" />
<label style="margin-top: 0px;margin-right: 0px;margin-left:0px;padding:0px">البريد الالكتروني</label>
<input type='text' value="" name='mail' style="padding:0px;height:25px;width: 349px; margin-top: 0; margin-bottom: 0;" class="auto-style28" />
<br style="height:20px" />
<label style="margin-top: 0px;margin-right: 0px;margin-left:0px;padding:0px">رقم التليفون</label>
<input type='text' value="" name='tel' style="padding:0px;height:25px;width: 349px; margin-top: 0; margin-bottom: 0;" class="auto-style33" />
<br style="height:20px" />
<label style="margin-top: 0px;margin-right:0px;margin-left:0px;padding:0px">الموضوع</label>
<input value="شكوى" type='text' name='sub' style="color:maroon;height:25px;width: 348px; font-size:16px" class="auto-style34" />
<br style="height:20px" />
<label style="margin-top: 0px;margin-right: 0px;margin-left:0px;padding:0px">الرسالة</label>
<textarea name="msg" rows="8"style=" width: 347px" class="auto-style35" ></textarea>
<br /><br />
<input type="submit" name ="ارسال"value="ارسال" style="width: 70px;color:#14538a;font-weight:bold;font-size:14px;font-family:'Droid Arabic Kufi';height: 41px;background-color: #96C6DF;" class="auto-style32" />
<input type="reset" value="مسح" style="width: 70px;color:#14538a;font-weight:bold;font-size:14px;font-family:'Droid Arabic Kufi';height: 41px; background-color: #96C6DF;" />
ابحث عن
if(isset($_POST['send']))
أضف فوقها مباشرة
PHP كود :
if(isset($_POST['ارسال']))
{
$name = $_POST['name'];
$mail = $_POST['mail'];
$tel = $_POST['tel'];
$sub = $_POST['sub'];
$msg = $_POST['msg'];
}
else
{
$name = "";
$mail = "";
$tel = "";
$sub = "";
$msg = "";
}
وهذا كود html الجديد
استبدله بالقديم
كود :
<form action="complains.php" method="post" style="position:relative;direction:rtl;height: 571px; width: 640px;margin-right:150px;float:right" >
<label style="margin-top: 0px;margin-right: 0px;margin-left:0px;padding:0px">الاسم</label>
<input type='text' value="$name" name='name' style="padding:0px;height:25px;width: 349px; margin-top: 0; margin-bottom: 0;" class="auto-style24" />
<br style="height:20px" />
<label style="margin-top: 0px;margin-right: 0px;margin-left:0px;padding:0px">البريد الالكتروني</label>
<input type='text' value="$mail" name='mail' style="padding:0px;height:25px;width: 349px; margin-top: 0; margin-bottom: 0;" class="auto-style28" />
<br style="height:20px" />
<label style="margin-top: 0px;margin-right: 0px;margin-left:0px;padding:0px">رقم التليفون</label>
<input type='text' value="$tel" name='tel' style="padding:0px;height:25px;width: 349px; margin-top: 0; margin-bottom: 0;" class="auto-style33" />
<br style="height:20px" />
<label style="margin-top: 0px;margin-right:0px;margin-left:0px;padding:0px">الموضوع</label>
<input value="$sub" type='text' name='sub' style="color:maroon;height:25px;width: 348px; font-size:16px" class="auto-style34" />
<br style="height:20px" />
<label style="margin-top: 0px;margin-right: 0px;margin-left:0px;padding:0px">الرسالة</label>
<textarea name="msg" rows="8"style=" width: 347px" class="auto-style35" ></textarea>
<br /><br />
<input type="submit" name ="ارسال" value="ارسال" style="width: 70px;color:#14538a;font-weight:bold;font-size:14px;font-family:'Droid Arabic Kufi';height: 41px;background-color: #96C6DF;" class="auto-style32" />
<input type="reset" value="مسح" style="width: 70px;color:#14538a;font-weight:bold;font-size:14px;font-family:'Droid Arabic Kufi';height: 41px; background-color: #96C6DF;" />
جرب الآن
عفوا انت مغير name الفورم من send الى ارسال
لذلك في ردي السابق ابحث عن
if(isset($_POST['ارسال']))
اعتذر
جربته اخي ولكنه يفرغ الخانات جميعها عند وجود خانة فارغة وظهور الرسالة
هل اضعها فوق جملة if(isset($_POST['ارسال']))
ام بعدها
هل تتفضل بمراجعة ما فعلت حيث اني عندما قمت بنسخ الكود ثم رفع الصفحة لم يظهر الديزاين فربما فعلت شئ خطأ ولك الشكر اخي
<?php
$name = $_POST['name'];
$mail = $_POST['mail'];
$tel = $_POST['tel'];
$sub = $_POST['sub'];
$msg = $_POST['msg'];
if(isset($_POST['ارسال']))
{
$name = $_POST['name'];
$mail = $_POST['mail'];
$tel = $_POST['tel'];
$sub = $_POST['sub'];
$msg = $_POST['msg'];
}
else
{
$name = "";
$mail = "";
$tel = "";
$sub = "";
$msg = "";
}
if(isset($_POST['ارسال']))
if(empty($name) or is_int($name))
{
echo '<div class="no">ادخل الإسم</div>';
}
elseif(empty($mail))
{
echo '<div class="no">ادخل الايميل</div>';
}
elseif(empty($tel))
{
echo '<div class="no">ادخل رقم التليفون</div>';
}
elseif(empty($msg))
{
echo "<div class='no'>ادخل الرسالة</div>";
}else{
$ymail = "s@s.com";
$title = $sub . 'Is From : ' .$name;
$msg = $msg . " \r\n رقم الهاتف" . $tel . " \r\n البريد الاليكتروني" . $mail;
$header = "MIME-Version: 1.0 \r/n" ;
$header .= "From: $ymail $sub \r\n" ;
$header .= "Cc: d@d.com \r\n" ;
$header .= "Content-Type: Text/html ; charset=utf-8 \r\n" ;
$header .= "X-Priority: 3 \r\n";
mail ($ymail,$sub,$msg,$header);
echo '<div class="ok">شكرا تم الارسال ، وسنرد عليك في أقرب وقت </div>';
}//else Maail
}// start IF
?>
عندك قوس ناقص فوق
if(empty($name) or is_int($name))
أضف
{
سؤال: هل كود php وكود html في صفحة واحدة