برگزیده های پرشین تولز

يه مشكل با ارسال اطلاعات فرم به ديتابيس

natanail2001

کاربر تازه وارد
تاریخ عضویت
6 ژانویه 2006
نوشته‌ها
69
لایک‌ها
0
روي لوكال تست ميكنم. كار ها خوب پيش ميره اما وقتي صفحه رو refresh ميكنم آخرين اطلاعاتي كه با submit كردن به ديتا بيس اضافه كردم دوباره اضافه ميشن(هر چند بار كه refresh كنم) بدون اينكه حتي فيلدي پر باشه.
كد php تو همون صفحه فرمه. $_POST با referesh كردن خالي نميشه . unset هم كردم فايده نداشت. نمي دونم شايد بايد cache رو غير فعال كنم. اين همه اون چيزي بود كه به ذهنم ميرسيد.:D
لطفا راهنمايي كنيد.
ممنونم.
 

peymanafraz

کاربر تازه وارد
تاریخ عضویت
28 دسامبر 2005
نوشته‌ها
137
لایک‌ها
0
محل سکونت
$strHome
دوست عزيز اين يه قانونه و البته يکي از مزاياي متد Post نسبت به Get هست که وقتي صفحه رو ارسال کردي اگر Refresh کني پيغامي بهت داده ميشه که اطلاعات فرستاده شده بايد دوباره فزستاده بشن و خود به خود کار ارسال مجدد رو انجام نميده. پس اين چيزي نيست که شما بخواين غيرفعالش کنين.
البته راههايي براي گذشتن از اين مشکل وجود داره مثلا ميتونين اطلاعات رو به يه صفحه ديگه که کارش فقط افزودن اطلاعات به ديتابيس هست بفرستين و بعد از اضافه کردن اطلاعات کاربر رو با هدر به صفحه فرم برگردونين در اينصورت ديگه با رفرش اطلاعات دوباره فرستاده نميشن.
 

natanail2001

کاربر تازه وارد
تاریخ عضویت
6 ژانویه 2006
نوشته‌ها
69
لایک‌ها
0
خيلي ممنونم. ميشه اين قسمت رو بيشتر توضيح بديد؟

بعد از اضافه کردن اطلاعات کاربر رو با هدر به صفحه فرم برگردونين در اينصورت ديگه با رفرش اطلاعات دوباره فرستاده نميشن.
 

سیب موز

کاربر تازه وارد
تاریخ عضویت
20 فوریه 2007
نوشته‌ها
62
لایک‌ها
0
سن
34
محل سکونت
اون ور تر
خيلي ممنونم. ميشه اين قسمت رو بيشتر توضيح بديد؟
دوست عزیز شما باید یک صفحه درست کنید
مثلا db.php
توی این صفحه با سرور و دیتا بیس ازتباط برقرار می کنی
بعد اطلاعاتت رو توی دیتا بیس اضافه می کنی
بعد دستور زیر رو بعد از این نوشته ها می نویسی
header("Location: aaa.php);
به جای aaa.php
باید اسم فایلت رو بزاری
البته این رو به یاد داشته باش که قبل از این دستور نباید هیچ اطلاعاتی برای نمایش به صفحه فرستاده بشه مثل عنوان صفحه و از این چیز ها حتی یک نقطه هم قبل از این دستور ارسال شود پی اچ پی ارور می دهد
می تونی کمی هم مجکم کاری کنی
یعنی
یک دستور شرطی بزاری
یعنی
دستوری رو که می خواهی مقادیری رو به جدول اضافه کنی رو یک متغییر در نظر بگیر
مثلا:
$query=mysql_query("insert into pm (`id`, `name`) VALUES ('', '$name')");
if (!$query) echo "Your name not send ";
else header("Location: aaa.php);
در این مثال اگر اطلاعات وارد دیتا بیس شدن صفح هدر پیدا می کنه یعنی بر میگرده به حالت قبلی ولی اگر اطلاعات وارد دیتا بیس نشدن یک نوشته می اید و به آنها اطلاع می دهد که اطلاعات وارد دیتا بیس نشد و می تونی توی اون نوشته یک لینک هم برای هدایت کاربر به صفحه ارسال مجدد بفرستی
 

میلاد

کاربر فعال
کاربر فعال
تاریخ عضویت
7 ژوئن 2005
نوشته‌ها
1,810
لایک‌ها
4
سن
38
محل سکونت
Esfahan
فکر میکنم اگه کد هایی که توی فروم قرار میدین بین تگ های PHP یا CODE باشه خیلی بهتره.
 

علی آبادانی

Registered User
تاریخ عضویت
30 اکتبر 2006
نوشته‌ها
898
لایک‌ها
11
محل سکونت
Abadan
منم همین مشکل رو دارم یه فرم دارم که وقتی اطلاعات رو وارد میکنیم و submit میزنیم صفخه cannot page میاد و باید یه بار رفرش کنی وقتی هم که رفرش میکنی یه سطر اطلاعات خالی میزاره توی phpmyadmin و مجبورم برم ازاونجا پاکش کنم که یه ستون خالی توی خبرهام نداشته باشم
مشکل منم با همین موضوع رفع میشه؟
 
بالا