امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 2
  • 1
  • 2
  • 3
  • 4
  • 5
تشخیص refresh صفحه php
نویسنده پیام
crafcrab آفلاین
كاربر دو ستاره
**

ارسال‌ها: 216
موضوع‌ها: 79
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 42
( 33 تشکر در 31 ارسال )
ارسال: #1
Exclamation  تشخیص refresh صفحه php
با سلام
من یه صفحه html با کد زیر دارم :

کد:
<form name="money" action="a.php" method="post">
    <input name="LName" type="text" value="ali">
    <input type="submit" value="go"/>
</form>

و یه صفحه php با کد زیر :
کد php:
<?php
    
echo $_POST["LName"];
?>


من میخوام زمانی که کاربر روی دکمه کلیک کرد نامی که وارد کرده نمایش داده شود اما با این تفاوت که اگه کاربر صفحه php را refresh کرد بفهمه و بجای نمایش دوباره نام وارد شده پیام خطا بده

به قول معروف یجوری متد post را unset کنه

نکته : نمیخوام از سشن استفاده کنم
(آخرین ویرایش در این ارسال: ۰۶-مهر-۱۳۹۲, ۰۲:۵۰:۰۹، توسط crafcrab.)
۰۶-مهر-۱۳۹۲, ۰۲:۴۷:۱۲
ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #2
RE: تشخیص refresh صفحه php
سلام
بحثی که مطرح هست اینه که http پروتوکل فراموش کاریه؛
به این معنی که مثلا اگه کسی با نام کاربری و پوزرنیمش وارد سایتی بشه؛ و بعد اگه بخواد به صفحه‌ای محدود شده دسترسی پیدا کنه؛ http این اجازه رو بهش نمیده! چون یادش نمونده کاربری وارد شده!!

برای پوشش این ضعف اومدن کوکی و سشن رو درست کردند!‌ با این روش میتونیم کاربران رو شناسایی کنیم...

حالا شما هم میگین سشن نه؛
باید یه روش غیر معمول ایجاد کنید که کاربران رو بشناشید؛ مثلا از طریق آیپی؛ یا اینکه توی فرمتون یه تکست مخفی بزارید و بجار کوکی از اون استفاده کنید؛
۰۶-مهر-۱۳۹۲, ۰۲:۵۶:۳۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : omid_phoenix
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #3
RE: تشخیص refresh صفحه php
برای فهمیدن رفرش یا باید از ریفر استفاده کنید $_server['http_reffer'] یا همون طور که baby عزیز گفتن از یک hidden field استفاده کنید

[تصویر:  xshon.png]
از آن نماز که خود هیچ از آن نمی فهمی خدا چه فایده و بهره اکتساب کند
تفاخری نبود مر خدای عالم را که چون تو ابلهی او را خدا حساب کند
۰۶-مهر-۱۳۹۲, ۰۹:۳۸:۲۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : omid_phoenix, babyy
crafcrab آفلاین
كاربر دو ستاره
**

ارسال‌ها: 216
موضوع‌ها: 79
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 42
( 33 تشکر در 31 ارسال )
ارسال: #4
RE: تشخیص refresh صفحه php
این فرمی که گذاشتم واسه ورود نیست
فکر کنید این یه فرم ثبت تبلیغ کاربر در یک سایت تبلیغاتی هست

من بعد از ثبت تبلیغ کاربر post های گرفته شده را برابر null قرار میدم اما اگه صفحه رو کاربر refresh کنه باز محصول در db ذخیره میشه یعنی با هر با refresh صفحه دوباره اطلاعات رو درون db ذخیره میکنه میخوام جلو این کا رو بگیرم

یه همچین چیزی میخوام

کد php:
if (isset($_POST['submit'])) 
(آخرین ویرایش در این ارسال: ۰۶-مهر-۱۳۹۲, ۱۶:۰۷:۲۴، توسط crafcrab.)
۰۶-مهر-۱۳۹۲, ۱۵:۵۵:۱۶
ارسال‌ها
پاسخ
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #5
RE: تشخیص refresh صفحه php
(۰۶-مهر-۱۳۹۲, ۱۵:۵۵:۱۶)crafcrab نوشته است: این فرمی که گذاشتم واسه ورود نیست
فکر کنید این یه فرم ثبت تبلیغ کاربر در یک سایت تبلیغاتی هست

من بعد از ثبت تبلیغ کاربر post های گرفته شده را برابر null قرار میدم اما اگه صفحه رو کاربر refresh کنه باز محصول در db ذخیره میشه یعنی با هر با refresh صفحه دوباره اطلاعات رو درون db ذخیره میکنه میخوام جلو این کا رو بگیرم

یه همچین چیزی میخوام

کد php:
if (isset($_POST['submit'])) 

سلام
به نظر من قبل از درج برسی کن اگر قبلا درج نشده درج کنید!یا بعد از درج اول(پست شدن)کلا مسیر را تغییر بدید(البته این رفشها خیلی مبتی هست ولی .....)

موفق باشید

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
(آخرین ویرایش در این ارسال: ۰۶-مهر-۱۳۹۲, ۱۶:۱۶:۲۸، توسط Ghoghnus.)
۰۶-مهر-۱۳۹۲, ۱۶:۱۴:۱۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : code91
code91 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 25
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۱

تشکرها : 54
( 43 تشکر در 13 ارسال )
ارسال: #6
RE: تشخیص refresh صفحه php
سلام خدمت عزیزان

اگر براساس روند معمول بخواهی این کار رو انجام بدی همون گونه که گفته شد اول باید اسم رو داخل

دیتابیس جستجو کنی که این صورت میشه که: اول دریافت داده دوم بررسی داده در صورت وجود سوم عمل مناسب

نسبت به داده ها!!

داخل این مثال شما هم باید قبل از نمایش اسم باید اسم رو داخل دیتابیس بررسی کنی آیا این اسم در

دیتابیس هست در صورت وجود پیغام مناسب صادر بشه در غیر این صورت اسم ذخیره بشه و اسم به نمایش در

بیاد..

یک نمونه سورس هم میزارم:
PHP:
کد php:
<?php
mysql_connect
('Your localhost','YOUR root');
        
mysql_select_db('YOUR_db1');
        
$search=$_POST['search'];
        
$query ="SELECT Lname FROM YOUR_TABLE WHERE Fname='$search'";
        
$data=mysql_query($query);
        
$num_records=mysql_num_rows($data);
        if(
$num_records==0)
        {
            
$query "INSERT INTO YOUR_TABLE (Lname) VALUES ('$search')";
            
$data mysql_query($query);
            echo 
"First Name:";
            echo 
$_POST['search'];
        }
        else
        {
            echo 
"This Name Not new!!";
        }
?>
(آخرین ویرایش در این ارسال: ۰۶-مهر-۱۳۹۲, ۱۷:۳۴:۰۰، توسط code91.)
۰۶-مهر-۱۳۹۲, ۱۶:۴۱:۵۸
ارسال‌ها
پاسخ
تشکر شده توسط : babyy
crafcrab آفلاین
كاربر دو ستاره
**

ارسال‌ها: 216
موضوع‌ها: 79
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 42
( 33 تشکر در 31 ارسال )
ارسال: #7
RE: تشخیص refresh صفحه php
بله میشه با فرستادن کاربر به یک صفحه دیگه مشکل رو حل کرد اما من دنبال راه حل اصولی تری بودم واسه همین اینجا تاپیک زدم
۰۶-مهر-۱۳۹۲, ۱۶:۴۲:۱۲
ارسال‌ها
پاسخ
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #8
RE: تشخیص refresh صفحه php
(۰۶-مهر-۱۳۹۲, ۱۶:۴۲:۱۲)crafcrab نوشته است: بله میشه با فرستادن کاربر به یک صفحه دیگه مشکل رو حل کرد اما من دنبال راه حل اصولی تری بودم واسه همین اینجا تاپیک زدم
پس قبل از درج اطلاعات برسی کن قبلا درج نشده باشه!
حتما هم لازم نیست کلا صفحه عوض بشه ها.....همین که
iranled.com/index.php?p=1

به
iranled.com/index.php
تغییر کنه کفایت میکنه

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۰۶-مهر-۱۳۹۲, ۱۶:۵۳:۰۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, code91
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #9
RE: تشخیص refresh صفحه php
(۰۶-مهر-۱۳۹۲, ۱۶:۴۱:۵۸)code91 نوشته است: یک نمونه سورس هم میزارم:
PHP:
کد php:
mysql_connect('Your localhost','YOUR root');
        
mysql_select_db('YOUR_db1');
        
$search=$_POST['search'];
        
$query ="SELECT Fname,Lname,Email FROM t1 WHERE Fname='$search'";
        
$data=mysql_query($query);
        
$num_records=mysql_num_rows($data);
        if(
$num_records==0)
        {
            
$query "INSERT INTO t1 (Fname) VALUES ('$search')";
            
$data mysql_query($query);
            
header("location: dbTest.php");
            echo 
"First Name:";
            echo 
$_POST['search'];
        }
        else
        {
            echo 
"This Name Not new!!";
        } 

این الان باگ اینجشکشن داره Biggrin خطریه Biggrin

-----------------

نگاه کنید؛ شما یه فرم دارید؛ که میخوایین هر کاربری فقط بتونه یکبار توش بنویسه!!
بهترین راه همونیه که ققنوس فرمودند؛ نزارید اطلاعات مشابه ذخیره بشن!!
۰۶-مهر-۱۳۹۲, ۱۶:۵۳:۵۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : code91, Ghoghnus
code91 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 25
موضوع‌ها: 3
تاریخ عضویت: آبان ۱۳۹۱

تشکرها : 54
( 43 تشکر در 13 ارسال )
ارسال: #10
RE: تشخیص refresh صفحه php
کد php:
<?php
mysql_connect
('Your localhost','YOUR root');
        
mysql_select_db('YOUR_db1');
        
$search=$_POST['search'];
        
$query ="SELECT LName FROM YOUR_TABLE WHERE Fname='$search'";
        
$data=mysql_query($query);
        
$num_records=mysql_num_rows($data);
        if(
$num_records==0)
        {
            
$query "INSERT INTO YOUR_TABLE(LName) VALUES ('$search')";
            
$data mysql_query($query);
            echo 
"First Name:";
            echo 
$_POST['search'];
        }
        else
        {
            echo 
"This Name Not new!!";
        } 
?>
یک نمونه بود برای این که مطلب باز بشه :-)))) که به جای اینکه در صفحه ی php فقط نوشته بشه
کد php:
<?php
    
echo $_POST["LName"];
?>

باید بررسی انجام بشه که این داده وجود داره یا خیر برای روند جلو گیری از تکرار ..

باگش زیاد جدیدی نسیت گه دیتا بیس پسورد بزاره دیگه موردی نداره!! :-)))
(آخرین ویرایش در این ارسال: ۰۶-مهر-۱۳۹۲, ۱۷:۳۲:۳۲، توسط code91.)
۰۶-مهر-۱۳۹۲, ۱۷:۱۸:۵۵
ارسال‌ها
پاسخ
تشکر شده توسط : babyy


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تشخیص نسخه IE توسط PHP eljoomir 0 1,552 ۰۱-آبان-۱۳۹۲, ۱۲:۱۴:۳۷
آخرین ارسال: eljoomir
  ساخت صفحه ورود اطلاعات با PHP ΛΛ Θ l-l $ Σ Ω 7 17,484 ۳۰-فروردین-۱۳۹۱, ۰۱:۲۸:۰۲
آخرین ارسال: miyandari
Exclamation [سوال] می خوام محدودیت برا صفحه بزارم اما چطوری ؟ ramtin-w 1 1,907 ۱۸-بهمن-۱۳۹۰, ۱۵:۲۹:۴۹
آخرین ارسال: Ghoghnus
  تشخیص صحت کد ملی با استفاده از php P.H.P 1 4,911 ۲۶-دى-۱۳۸۹, ۲۱:۳۶:۱۹
آخرین ارسال: P.H.P
  هدايت صفحه به صورت اتوماتيك hamidsina 4 4,517 ۱۶-دى-۱۳۸۷, ۲۳:۱۲:۴۵
آخرین ارسال: ha_60
  فرستادن متغير به صفحه ديگر hamidsina 12 11,542 ۱۵-دى-۱۳۸۷, ۱۴:۴۶:۴۳
آخرین ارسال: hamidsina
  تابعی برای هدایت کاربر به صفحه مورد نظر marvel_vcpp 2 2,814 ۲۳-آذر-۱۳۸۵, ۱۱:۲۸:۰۲
آخرین ارسال: marvel_vcpp

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 5 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS