اريد تغير كود php من السيشن الى الكوكيز

السلام عليكم

لدي هذا الكود لحماية الصفحات بكلمة المرور بالسيشن session

<?php

session_start();

$pass='pass';

if(!isset($_SESSION['login'])) {$_SESSION['login']=false;}

if(isset($_POST['pass'])) {

if($_POST['pass']==$pass) {$_SESSION['login']=true;}

else {die ('Incorrect pass');}

}

if(!$_SESSION['login']):

?>

<center><h2>You need to login</h2>

<form action="" method="post">

<input type="password" placeholder="Enter Your Password" name="pass"/><br/>

<button type="submit" name="submit" value="submit">Login</button>

</form></center>

<?php

exit();

endif;

?>

<h1> here put your code html </h1></br>

<h1> test code html </h1>

وانا الان اريد تغير من السيشن الى الكوكيز فقط . change from session to cookies

ولكم جزيل الشكر.

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

يمكنك استعمال $_COOKIE للقراءة و setcookie للاسناد بشكل مباشر، على نحو:

<?php

$pass='pass';

if(!isset($_COOKIE['login'])) {
 setcookie('login', false);
}

if(isset($_POST['pass'])) {

if($_POST['pass']==$pass) {
setcookie('login', false);
}

else {die ('Incorrect pass');}

}

if(!$_SESSION['login']):

?>

<center><h2>You need to login</h2>

<form action="" method="post">

<input type="password" placeholder="Enter Your Password" name="pass"/><br/>

<button type="submit" name="submit" value="submit">Login</button>

</form></center>

<?php

exit();

endif;

?>

<h1> here put your code html </h1></br>

<h1> test code html </h1>

رغم نجاعة الفكرة الا انه لا يقترح العمل بها، لا يجب عليك ادارة عمليات التوثيق عن طريق ملفات تعريف الارتباط، الأفضل ان يتم ذلك عن طريق الجلسات. مثلما ما تقوم به.

  • حذف بواسطة المستخدم
  • حذف بواسطة المستخدم

للاسف اخي @Adnane_Kadri

الكود لم يعمل . ولم يستطيع الدخول للصفحة.

ولكن تم الحل من عندي .

<?php

$pass='pass';

$_COOKIE['pass'] = $pass;

if(!isset($_COOKIE['login'])) {$_COOKIE['login']=false;}

if(isset($_POST['pass'])) {

if($_POST['pass']==$pass) {$_COOKIE['login']=true;

setcookie('login', $pass, time() + (7 * 24 * 60 * 60), '/'); // 7 * 24 * 60 * 60 = 604800 = 7Days

}

else {die ('Incorrect pass');}

}

if(!$_COOKIE['login']):

?>

وشكرا على الرد.