السلام عليكم ورحمة الله وبركاتة ..
عندي مشكلة بسيطة فالتعليق وهي التكرار يعني العضو يقدر يكرر تعليقه بمجرد الضغط على refersh
هل هناك form او اي شي يمنع التكرار ..
السلام عليكم ورحمة الله وبركاتة ..
عندي مشكلة بسيطة فالتعليق وهي التكرار يعني العضو يقدر يكرر تعليقه بمجرد الضغط على refersh
هل هناك form او اي شي يمنع التكرار ..
المرجو شرح المشكلة حتى نستطيع مساعدتك
هذا كود جافا يقوم باطفاء زر ارسال عند الارسال الاول
جربه
كود PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <head> <meta http-equiv="Content-Language" content="ar-sa" /> <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" /> <SCRIPT LANGUAGE=javascript>
function submitonce(theform){
if (document.all||document.getElementById){
for (i=0;i<theform.length;i++){
var tempobj=theform.elements[i]
if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true
}
}
}
</SCRIPT> </head> <body> <form method="POST" name="form2" onSubmit="submitonce(this);" action="test.php">
<input type='submit' value=' ارسل '>
</form>
اشكرك اخوي لكن ماراح ينفع
المشكلة اخواني عند الاضافه ينقله إلى صفحة شكر
بعدها العضو يقدر يعمل REFRESH للصفحه ويكرر العمليه ويضيف اكثر من تعليق
هذي راح تسبب مشكلة
اعتقد فهمتوني الان ؟ ؟
التعديل الأخير تم بواسطة iQ8y ; 23-07-2008 الساعة 10:43 PM
كمثال ...
هذا مثال مصغر عن لنظام تعليقي كتبته سريعا لايضاح المسأله ..كود PHP:
<?php
echo "<form id=\"comment_form\" action=\"comment.php?action=add\" method=\"post\">
التعليق:<textarea name=\"comment\" id=\"comment\" style=\"display: none;\"></textarea>
</form>";
$action = $HTTP_GET_VARS[action];
$comment = $_POST['comment'];
if($action == "add") {
mysql_query("INSERT INTO comment (comment) VALUES ('$coment')") or die (mysql_error());
echo "شكرا لإضافة تعليقك" ;
exit;
}
else
{
echo "لاتستطيع التعليق";
exit;
}
?>
التعديل الأخير تم بواسطة iQ8y ; 23-07-2008 الساعة 11:26 PM
يمكنك بعد اضافة التعليق استخدام location أو استخدام كود html Redirect لتحويل الشخص الذي قام بالتعليق من صفحة الشكر الي الصفحه التي يوجد بها التعليق
__________________
أحمد عبد الفتاح
www.servmix.com
لمراسلتي : admin@servmix.com
تماما أخي هذا هو الحل إستعمل كود جافا لتحويل الزائر لصفحة الشكر أو إستعمليمكنك بعد اضافة التعليق استخدام location أو استخدام كود html Redirect لتحويل الشخص الذي قام بالتعليق من صفحة الشكر الي الصفحه التي يوجد بها التعليق
كود PHP:
<?
header('location:thanks.php');
?>
يعطيكم الف عافية فعلا ... هذا هو الحل
شكرا مره اخرى
التحويل يمكن التغلب عليه بالضغط على ايقاف التنفيذ
الحل النهائي لهذه المشكلة هو ارسال session مع التعليق وعند نجاح اضافته تقوم بالغاء هذه الجلسة
مثال:
ترسل مع الفورم جلسة بمتغير ال id مثلاً
وفي صفحة الاضافة تضع شرط الاضافة هو تواجد هذه الجلسةكود PHP:
$_SESSION["COMMENT_SESSION"] = "COMMENT_NO".$_GET['ID']";
هنا مربط الفرس >>>>كود PHP:
if (isset($_SESSION["COMMENT_SESSION"]))
{
if ($_SESSION["COMMENT_SESSION"] == "COMMENT_NO".$_GET['ID'])
{
كود الاضافة
session_unregister("COMMENT_SESSION");
}
else
{
echo "Error";
}
}
بحيث سيتم الغاء هذه الجلسة اذا نجحت الاضافةكود PHP:
session_unregister("COMMENT_SESSION");
واذا قام الزائر باعادة تحديث الصفحة مرة اخرى فلن يتم اضافة اى شىء وسيخرج رسالة error
لعدم تحقق شرط وجود جلسة COMMENT_SESSION
يمكن مثلا تغيير كلمة error ووضع كود التحويل مكانها
وهذه افضل طريقة
يُمكن الاعتماد على صورة عشوائية ايضا لاكن لابد ان تعتمد ايضاً على الجلسات sessions
بالتوفيق
__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير
ممتاز ياسلام عليك هذا اللي كنت بوصله
وانا كنت عارف انه السيزون يحله بس ترردت باستخدامه
شكرا جزيلا وكثر الله خيرك ويعطيك الف عافية