PDA

View Full Version : مبتدی: كار با كوكي ها



sahar15125
یک شنبه 28 شهریور 1389, 14:37 عصر
سلام
اشكال برنامه اينه كه كوكي ايي نميسازه
لطفا راهنمايي كنيد:ناراحت:
توضيح برنامه:
برنامه كه ضميمه كردم از 3 صفحه تشكيل شده كه در صفحه اول نامي را دريافت ميكند و به صفحه دوم مي فرستد دراين صفحه نام دريافتي را در يك كوكي به نام userذخيره مي كند و سپس توسط لينكي كه در صفحه دوم وجود دارد وارد صفحه سوم مي شود و نام را از كوكي ساخته شده مي خواند و يك پيغام را همراه نام خوانده شده در صفحه سوم نمايش مي دهد.

Hell Lord
یک شنبه 28 شهریور 1389, 15:14 عصر
برنامه درست کار میکند که!! (در این ضمیمه آدرس را تغییر دادم)

sahar15125
یک شنبه 28 شهریور 1389, 16:50 عصر
ممنون
ولي من نتونستم فايلي كه تغيير دادي ببينم:ناراحت:
جديدا هرفايل ضميمه ايي كه از سايت دانلود مي كنم باز نميشه يعني ميشه ولي كدهاي پي اچ پي مربوط به كل سايت هست و اصلا ربطي به چيزي كه دانلود كردم نداره!!!!
نميدونم چي كارش كنم ؟
ميشه راهنمايي كني:خجالت:

Hell Lord
یک شنبه 28 شهریور 1389, 16:55 عصر
php1 :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Hello!</title>
</head>

<body>
<form action="php2.php" method="GET">
welcome , please tell us your name : <input type="text" name="user" /> <br />
<input type="submit" value="submit" />


</form>
</body>

</html>


php2 :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Hello!</title>
</head>

<body>

<?php
if (isset($_GET["user"]))
{
$user=$_GET["user"] ;
$a=setcookie("user",$user,time()+3600);
echo "page 2 : Hello :". $user ;
?>
<p><a href="php3.php" >Go to page3</a></p>
<?php
}
else
echo "please start from page1.php";
?>

</body>

</html>


php3 :


<?php
if (isset($_COOKIE["user"])){
$user=$_COOKIE["user"];
echo "page3 : Hello : ".$user ."<br> ";

}
else
echo "can not find cookie";
?>

sahar15125
یک شنبه 28 شهریور 1389, 17:11 عصر
لطف كردي :قلب:
ولي من همچنان با اجراي php1.phpپيغام :

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\php22.php:12) in C:\wamp\www\php2.php on line 16
page 2 : Hello :rwew
رو دريافت و وقتي هم وارد صفحه سوم مي شم پيغام :
can not find cookie
رو مي بينم :ناراحت::گریه:
==============================================
ايراد ديگه اي هم دارم با اجراي تابع

session_start

هم پيغام هاي خطاي :

Warning: session_start() [function.session-start (http://localhost:89/~C/wamp/www/function.session-start)]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\SESSION.PHP:3) in C:\wamp\www\SESSION.PHP on line 4

Warning: session_start() [function.session-start (http://localhost:89/~C/wamp/www/function.session-start)]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\SESSION.PHP:3) in C:\wamp\www\SESSION.PHP on line 4
رو دريافت مي كنم
ممكنه كه ايراد در نصب باشه؟يا فايل php.iniروي كامپيوتر من ايرادي داشته باشه؟؟؟

بازم ممنون :قلب:

Hell Lord
یک شنبه 28 شهریور 1389, 17:46 عصر
اول فایل php2 و php3 این را قرار بدید :

<?php
ob_start()
?>
و در اخر هم این :


<?php
ob_end_flush();
?> برای ارسال هدر ها (کوکی و سشن ها هم جزوش هستند) ، نباید خرو جی ای ارسال شده باشد، با این دستور خروجی در بافر قرار میگیرد و همه را بعد از کامپابل میفرستد.

همچنین میتوانید در فایل php.ini گزینه ای است به نام output_buffering
مقدار آن را برابر 4096 (4 کیلو بایت) قرار دهید تا دیگر از این دست مشکلات نداشته باشید.