PDA

View Full Version : سوال: insert در جدول با refresh صفحه



zohremehran
چهارشنبه 27 اردیبهشت 1396, 12:14 عصر
با سلام خدمت دوستان من کدی نوشتم برای insert کردن در جدول ولی هر بار که صفحه رو refresh میکنم همون سطر قبلی به جدول اضافه میشه با این که از isset استفاده کردم ممنون میشم راهنماییم کنید

مهرداد سیف زاده
پنج شنبه 28 اردیبهشت 1396, 07:46 صبح
وقتی مقداری برای صفحه ارسال میشه، با هر بار رفرش باز هم همون مقدار در صفحه هست و دوباره به سمت سرور ارسال میشه
برای جلوگیری از این کار میتونید در صفحه فرم رشته ای رو به عنوان توکن در نظر بگیرید، که فقط یک بار برای submit اعتبار داره و اگر کاربر چندین بار هم صفحه رو رفرش کنه دیگه مقدارها سمت سرور معتبر نیست

zohremehran
پنج شنبه 28 اردیبهشت 1396, 13:21 عصر
ممنون از راهنمایی شما . فقط یه کم میشه بیشتر توضیح بدین؟ منظور از توکن چی هست ؟ کجا باید بزارم؟ ممنون میشم یه مثال بزنید

reza_alie
سه شنبه 02 خرداد 1396, 07:08 صبح
ممنون از راهنمایی شما . فقط یه کم میشه بیشتر توضیح بدین؟ منظور از توکن چی هست ؟ کجا باید بزارم؟ ممنون میشم یه مثال بزنید
خدمت شما

<form name="new user" method="post" action="step2_check.php"><input type="text" name="mail"/> <br />
<input type="password" name="password"/><br />
<input type="submit" value="continue"/> </form>


بعد از سابمیت کردن بررسی میشه:

if (isset($_POST["mail"])) { echo "Yes, mail is set";
}else{
echo "N0, mail is not set"; }

موفق باشی
(http://www.simplebits.ir)

plague
سه شنبه 02 خرداد 1396, 17:49 عصر
بعدا از insert کردن بجای اینکه بزاری بقیه کد ها اجرا بشه صفحه رو ریدایرکت کن به آدرس خودش با دستور header
اینجوری همون صفحه باز میشه ولی پارامتر های پست شده از بین میره

zohremehran
شنبه 10 تیر 1396, 08:56 صبح
سلام دوستان یه سوال داشتم ممنون میشم راهنماییم کنید
من لینکی دارم که در آخر صفحه قرار داره و با کلیک روی اون مقداری به روش query string داخل یک متغیر قرار میگیره
مشکل اینجاس که من هر وقت روی اون کلیک میکنم به بالای صفحه پرش میکنه در صورتی که من میخوام همون پایین صفحه بمونه
<a href="?admin=10">send</a>

parsaasefi
شنبه 10 تیر 1396, 16:28 عصر
سلام دوستان یه سوال داشتم ممنون میشم راهنماییم کنید
من لینکی دارم که در آخر صفحه قرار داره و با کلیک روی اون مقداری به روش query string داخل یک متغیر قرار میگیره
مشکل اینجاس که من هر وقت روی اون کلیک میکنم به بالای صفحه پرش میکنه در صورتی که من میخوام همون پایین صفحه بمونه
<a href="?admin=10">send</a>


درود دوست عزیز ، میدونم که نباید تذکر بدم ولی سوال شما نه به این تاپیک و نه حتی به php مربوط می شه ولی با این کد می تویند مشکلتون رو رفع کنید :


<a name="end"><a href="?admin=10#end">send</a></a>

این کد رو جایگزین کدی که قرار دادید کنید .
موفق و پایدار باشید :چشمک:

zohremehran
شنبه 10 تیر 1396, 18:34 عصر
درود دوست عزیز ، میدونم که نباید تذکر بدم ولی سوال شما نه به این تاپیک و نه حتی به php مربوط می شه ولی با این کد می تویند مشکلتون رو رفع کنید :


<a name="end"><a href="?admin=10#end">send</a></a>

این کد رو جایگزین کدی که قرار دادید کنید .
موفق و پایدار باشید :چشمک:



ممنون از لطفتون مشکلم حل شد . بله میدونم شرمنده
ولی اگر لینک وسط صفحه باشه با زدن این کد به آخر صفحه میره راه حلی هست که در اون مکانی که هست باقی بمونه؟

parsaasefi
یک شنبه 11 تیر 1396, 10:18 صبح
در جواب استارتر تاپیک : دوست عزیز همون طور که یک از دوستان هم گفتند می تونید از header استفاده کنید و در اخر عملیاتتون با استفاده از هدر به همون صفحه کاربر رو ریدایرکت کنید
کد :


if(isset($_POST["submit"])){
function redirect(){
header("Location: " . __FILE__);
}
$redirect = false;
// ادامه کد مورد نظر
$redirect = true;
if($redirect){
redirect();
}
}


موفق باشید :چشمک:

ممنون از لطفتون مشکلم حل شد . بله میدونم شرمنده
ولی اگر لینک وسط صفحه باشه با زدن این کد به آخر صفحه میره راه حلی هست که در اون مکانی که هست باقی بمونه؟
و اما در جواب شما دوست عزیز ،
شما در کل باید از لینک های درون صفحه استفاده کنید ( اسمش رو از خودم در اوردم اگه اشتباه گفتم ببخشید :لبخند: )
در کل این مدل لینک ها باید دو بخش داشته باشند
اولین بخش :


<a name="name-of-the-part"></a>

در این بخش شما باید اسم بخش مورد نظر از صفحه را به دلخواه انتخاب کنید
دومین بخش :


<a href="#name-of-the-part"></a>

در این بخش کاربر بعد از کلیک بر روی لینک به جایی که بخش قبلی رو قرار دادید منتقل می شه
حالا بر فرض شما این کد رو دارید :


<meta charset="utf-8">
<style>
div{
text-align:center;
padding-top:100px;
padding-bottom:100px;
}
</style>
<div>بخش اول</div>
<div>بخش دوم</div>
<div>بخش سوم</div>
<a name="this-part">
<div>
<a href="?admin=10#this-part">لینک مورد نظر</a>
</div>
</a>
<div>بخش اخر</div>

در کد بالا قسمتی که لینکمون قرار داره رو با تگ a نام گذاری کردم و بعد در لینکی که دادم در اخر ادرس لینک از #this-part استفاده کردم در واقع بعد از # نامی که در قسمت قبل دادم رو وارد می کنم
در این حالت کاربر بعد از کلیک کردن دوباره به همون بخش منتقل می شه ، امیدوارم که تونسته باشم کمکتون کنم
موفق باشید :چشمک:

zohremehran
سه شنبه 13 تیر 1396, 10:39 صبح
[QUOTE=parsaasefi;2370431]در جواب استارتر تاپیک : دوست عزیز همون طور که یک از دوستان هم گفتند می تونید از header استفاده کنید و در اخر عملیاتتون با استفاده از هدر به همون صفحه کاربر رو ریدایرکت کنید
کد :


if(isset($_POST["submit"])){
function redirect(){
header("Location: " . __FILE__);
}
$redirect = false;
// ادامه کد مورد نظر
$redirect = true;
if($redirect){
redirect();
}
}


موفق باشید :چشمک:

و اما در جواب شما دوست عزیز ،
شما در کل باید از لینک های درون صفحه استفاده کنید ( اسمش رو از خودم در اوردم اگه اشتباه گفتم ببخشید :لبخند: )
در کل این مدل لینک ها باید دو بخش داشته باشند
اولین بخش :


<a name="name-of-the-part"></a>

در این بخش شما باید اسم بخش مورد نظر از صفحه را به دلخواه انتخاب کنید
دومین بخش :


<a href="#name-of-the-part"></a>

در این بخش کاربر بعد از کلیک بر روی لینک به جایی که بخش قبلی رو قرار دادید منتقل می شه
حالا بر فرض شما این کد رو دارید :


<meta charset="utf-8">
<style>
div{
text-align:center;
padding-top:100px;
padding-bottom:100px;
}
</style>
<div>بخش اول</div>
<div>بخش دوم</div>
<div>بخش سوم</div>
<a name="this-part">
<div>
<a href="?admin=10#this-part">لینک مورد نظر</a>
</div>
</a>
<div>بخش اخر</div>

در کد بالا قسمتی که لینکمون قرار داره رو با تگ a نام گذاری کردم و بعد در لینکی که دادم در اخر ادرس لینک از #this-part استفاده کردم در واقع بعد از # نامی که در قسمت قبل دادم رو وارد می کنم
در این حالت کاربر بعد از کلیک کردن دوباره به همون بخش منتقل می شه ، امیدوارم که تونسته باشم کمکتون کنم
موفق باشید :چشمک:[/QUOTE


ممنون از راهنماییتون:لبخندساده:
لطف کردین