درخواست کامل کردن این نمونه

armin_i7

New Member
سلام دوستان
این نمونه فایل رو در یک سایت خارجی دیدم و با تغیراتی ازش استفاده کردم
ولی یه ایرادی داره
خودم آشنایی کمی با php دارم و نتونستم انجام بدم

اینکه در فرم رجیستر، بعد از اینکه ثبت نام انجام شد، بجای اینکه به صفحه register-success.php ارجاع بشه، یه متن در بالای همین صفحه register-form نمایش داده بشه

و در فرم لاگین، اگر یوزرنیم و پسوورد اشتباه وارد شده بود، بجای اینکه به صفحه login-failed.php ارجاع بشه، یه متن و یه لینک در بالای همین صفحه login-form نمایش داده بشه

با تشکر
 
آخرین ویرایش:

Masoud1365

مدیر انجمن
البته انجمن php بیشتر برای آموزش php و رفع اشکال هست ! نه این که کد رو واستون بنویسند :rose:
اینو گفتم که اگر جواب پستتون طول کشید نگید چرا جواب نمیدن :wink:
 

armin_i7

New Member
بله درسته
من هم انتظاری ندارم ولی اگر دوستان لطفی کنند نگاهی اجمالی بر این داشته باشند ممنون می شم
 

masima

Member
پاسخ پرسش اولتون
در صفحه register-form این کدها را جایگزین قبلی ها کن:
PHP:
if( isset($_GET['action']) && $_GET['action']=='success' )
    {
        $msg="تبریک! ثبت نام با موفقیت انجام گرفت."
        echo $msg;
    }
    
 if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
  echo '<ul class="err">';
  foreach($_SESSION['ERRMSG_ARR'] as $msg) {
   echo '<li>',$msg,'</li>'; 
  }
  echo '</ul>';
  unset($_SESSION['ERRMSG_ARR']);
 }

و در صفحه register-exec کد زیر را در صفحه پیدا کنید :
PHP:
if($result) {
header("location: register-success.php");
exit();
}else {
die("Query failed");
و آن را به صورت زیر چایگزین نمایید :
PHP:
if($result) {
header("location: register-form.php?action=success");
exit();
}else {
die("Query failed");
پاسخ پرسش دومتون
شبیه قبلی که گفتمه. فکر میکنم خودتون بتونید بنویسید!

یک توضیح:
من این کدها رو آزمایش نکردم و همینجا نوشتم، ممکنه اشتباه هم داشته باشه!!!

و یک توضیح دیگه:
این روش امنیت بالایی ندارد!

به هر حال اگه دوستان پیشنهاد بهتری دارند، خوشحال میشم بفرمایند! :rose:
 
آخرین ویرایش:

armin_i7

New Member
ممنون، تست کردم ولی جواب نداد
فقط یه چیزی، اینکه مثلا در فایل register-exec یه سری شرط تعریف کرده که مثلا اگر فیلد یوزر نیم خالی بود یه پیامی نمایش بده

حالا نمیشه به همین طریق این دو مورد دیگه رو هم ایجاد کرد؟

باز هم ممنون از لطفتون
 
آخرین ویرایش:

masima

Member
کدها رو ویرایش کردم. آزمایش بفرمایید.

فقط یه چیزی، اینکه مثلا در فایل register-exec یه سری شرط تعریف کرده که مثلا اگر فیلد یوزر نیم خالی بود یه پیامی نمایش بده

حالا نمیشه به همین طریق این دو مورد دیگه رو هم ایجاد کرد؟

خوب توی پست اول خودتون خواستید که برگرده توی صفحه register-form پیغام رو نمایش بده!
خوب میشه چرا نشه!!
 

armin_i7

New Member
نه... در صفحه register-form هستیم ولی وقتی روی register-exec کلیک میشه، در همون صفحه register-form پیام رو نمایش میده

register-exec یه فایل که عملیات رو انجام میده

(مثل همون خطاهایی که برای فیلد ها ظاهر میشه، برای این دو موردی که در بالا اشاره شد هم اجرا بشه)

با تشکر
 

masima

Member
فکر میکنم یک سو تفاهم پیش اومده!
اگه شما وقتی فرمتون رو پر کردید و دکمه (که فایل register-exec) رو اجرا میکنه، زدید و پیغام ثبت نام در موفقیت در صفحه register-form نمایش داده شد (یعنی به صفحه register-success) نرفت، خوب این دقیقا کاری که من میخواستم انجام بدم!

خوب آیا این اتفاق افتاد؟

اگه آره، که دیگه مشکل حله!

(مثل همون خطاهایی که برای فیلد ها ظاهر میشه، برای این دو موردی که در بالا اشاره شد هم اجرا بشه)
این جور که شما میخواین، تغییر زیادی باید انجام بشه و اصلا منطق برنامه عوض میشه! و فقط با یک بررسی کوچولو نمیشه !


موفق باشید
 

armin_i7

New Member
فکر میکنم یک سو تفاهم پیش اومده!
اگه شما وقتی فرمتون رو پر کردید و دکمه (که فایل register-exec) رو اجرا میکنه، زدید و پیغام ثبت نام در موفقیت در صفحه register-form نمایش داده شد (یعنی به صفحه register-success) نرفت، خوب این دقیقا کاری که من میخواستم انجام بدم!

منظورم همینه ولی وقتی تغییرات رو اعمال کردم جواب نداد

صفحه فرم ما همین register-form هست که وقتی روی کلید register-exec کلیک میشه، در بالای همون صفحه register-form این پیغام رو ترجیحا با یه لینک نمایش بده

خودش برای فیلد های دیگه (مثل همون یوزر و پسوورد) خیلی ساده کار کرده ولی نمی دونم چرا برای این مورد کمی پیچیده شده

با تشکر
 

جدیدترین ارسال ها

بالا