PDA

View Full Version : سوال: کار با کوکی



nunegandom
دوشنبه 15 مهر 1392, 22:01 عصر
سلام، این کد من هست در صفحه اول:

<php
setcookie('str',$_POST['name'],time()+3600);
?>
<html>
<head>
<title></title>
</head>
<body>
<div>
<?php
print '<form method="post" action="MyPage.php">';
print "<lable>Name:<input type='text' value='' name='name'/> </lable>";
print '<input type="submit" />';
?>
</div>
</body>
</html>

اینم کد صفحه دوم:


<html><head>
<title></title>
</head>
<body>
<?php
$value = $_COOKIE['name'];
print "<p>$value</p>";
?>
</body>
</html>

ارور میده :متفکر:
Notice: Undefined index: name in C:\xampp\htdocs\MyPage.php on line 6

SilverLearn
دوشنبه 15 مهر 1392, 22:08 عصر
خوب دوست عزیز شما که کوکی خاصی ست نکردید به نام name که الان می خواین ازش استفاده کنید

بعد از ست کردن پیشنهاد میشه حتما از تابع isset برای صحت ارسال استفاده کنید ...

مثل مثال زیر




<?php
if (isset($_COOKIE["user"]))
echo "Welcome " . $_COOKIE["user"] . "!<br>";
else
echo "Welcome guest!<br>";
?>

SilverLearn
دوشنبه 15 مهر 1392, 22:14 عصر
الان action رو هم روی mypage.php قرار دادید پس $_POST['name']

هم در ست کوکی اشتباه هست...

nunegandom
دوشنبه 15 مهر 1392, 22:18 عصر
ممنون ک جواب دادید، ی مثال ساده برام میزنید که ۲ تا صفحه داشته باشه؟ ممنون

SilverLearn
دوشنبه 15 مهر 1392, 22:28 عصر
لینک زیر می تونه بهت کمک کنه


http://www.abdollahi.us/index.php/education/php-language-tutorial/133-php-tutorial-cookie.html

nunegandom
دوشنبه 15 مهر 1392, 22:56 عصر
آقا ممنون ولی من نتونستم توی صفحه اول محتوای کوکی رو ست کنم که بتونم توی صفحه دوم بخونم :اشتباه:
میشه ی راهنمایی کنید؟

SilverLearn
دوشنبه 15 مهر 1392, 23:30 عصر
دوست عزیز میدونید مشکل شما چیه ؟

مشکلتون این هست که سنتکس استفاده از کوکی رو بلد نیستید

اصل کوکی اینجوری ست میشه :



setcookie(name, value, expire, path, domain);


پس بنابراین شما نام کوکی رو str دخیره کردید و بعد از name استفاده می کنید برای فراخوانی ....

SilverLearn
دوشنبه 15 مهر 1392, 23:33 عصر
مثال خودتون رو درست کردم که یاد بگیرید :

nunegandom
دوشنبه 15 مهر 1392, 23:52 عصر
تا اینجاشو فهمیدم، فقط ی چیزی، الان مثلا من توی صفحه اول مینویسم user و ارسال میکنم...
توی صفحه دوم وقتی بار اول اجرا بشه کوکی تازه ست میشه، و بعدش اگه رفرش بدم همون صفحه رو اونوقت میتونم از کوکی استفاده کنم.
یعنی نمیشه توی همون صفحه اول کوکی رو ست کنم که توی صفحه دوم برم واسه استفاده ازش؟

SilverLearn
سه شنبه 16 مهر 1392, 00:14 صبح
خوب action فرم شما روی صفحه MyPage.php ست شده بنابراین مقادیر ارسالی به این صفحه ارسال خواهد شد..

حالا اگه بخواین همونجا ست کنید قسمت action رو خالی بگذارید و بعد از ست کردن کوکی با استفاده از مثلا header کاربر رو به صفحه Mypage.php هدایت کنید...