PDA

View Full Version : مشکل در cookie



mojdeh,k
دوشنبه 21 مرداد 1387, 18:40 عصر
سلام دوستان،
من میخوام برای قسمت login سایتم از cookie استفاده کنم ، به طوری که بعد از وارد کردن user&pass چک کنه اگه user&pass در بانک موجود بود ، اگر قبلا کوکی ای با نام این user وجود داشت اون کوکی رو فراخواتی کنه در غیر این صورت یه کوکی با اون نام بسازه.
کدهای زیر نوشتم ،
این پیغام میده:


Warning: Cannot modify header information - headers already sent by (output started at C:\wwamp\www\Example\test\cookie.php:9) in C:\wwamp\www\Example\test\cookie.php on line 14

لطفا کمکم کنین ....





<?php

$submit1= $_POST['action'];
switch ($submit1)
{
case "Login":
Login();

break;

default:;
First();
}
exit;

/////////////////////////////////////

function Login()
{
$db1=mysql_connect("localhost","root","");
mysql_select_db('project',$db1) or die(mysql_error());

$username = $_POST['username'];
$password = $_POST['password'];

$query = "SELECT * FROM inf WHERE username='$username' && password='$password'";
$result1= mysql_query($query);
$row1 = mysql_fetch_array($result1);
$id = $row1['id'];
if(!empty($id))
{
if(isset($_COOKIE['$username']))
{
$last = $_COOKIE['$name'];
echo "Welcome back! <br> You last visited on ". $last;
}
else
{
$Month = 2592000 + time();
//this adds 30 days to the current time
setcookie($username, date("F jS - g:i a"), $Month);
echo "Welcome to our site!";
echo "<br>.the cookie was made" ;}

}//if(!empty($id))
else
echo "No";

}

////////////////////////////////////////////
function First(){
include("mmm.htm");
}
?>

cybercoder
دوشنبه 21 مرداد 1387, 19:54 عصر
بعد از setcookie فرمان echo رو صادر نكن
مي خواي Config‌ ي كه User‌روي سايت انجام مي ده رو در خود Client ذخيره كني ؟
اگه براي احراز هويته چرا از session استفاده نمي كني ؟

mojdeh,k
دوشنبه 21 مرداد 1387, 21:04 عصر
اینکار کردم بازم درست نشد...
میخوام حتما با cookie باشه ..

yaqubian
دوشنبه 21 مرداد 1387, 21:09 عصر
دوست عزیز
1- editor تون چی بوده؟
2- چک کنید ببینید قبل از دستور <?php هیچ کاراکتر یا فاصله اضافی نذاشتید؟
موفق باشید

mojdeh,k
دوشنبه 21 مرداد 1387, 21:28 عصر
از magma stuio استفاده میکنم ...

نه چیز اضافه ای نذاشتم ..

mojdeh,k
دوشنبه 21 مرداد 1387, 22:22 عصر
اون مشکل حل شد ... اما انگار هر دفعه کوکی جدید ایجاد می کنه ..
خودم فکر میکنم به isset مربوطه، چون احتمالا isset محتوای کوکی رو بررسی میکنه ، نه وجود آنرا ...
برای بررسی وجود کوکی با نام مشخص باید چیکار کنم؟ چه کدی بنویسم ؟؟؟

yaqubian
سه شنبه 22 مرداد 1387, 08:20 صبح
دوست عزیز

<?php
setcookie("user", "ALIREZA", time()+3600);
?>
موفق باشید

alimooghashang
سه شنبه 12 شهریور 1387, 14:30 عصر
آقا سلام
یه مشکل جالب خنده دار
وقتی من تابع setcookie را اول فایل مینویسم مشکلی ندارم
ولی وقتی وسط فایل یا جایی غیر از اول فایل مینویسم این ارر را میده


Warning: Cannot modify header information
با hex editor هم چک کردم ... نداشت اولش

paksar
سه شنبه 12 شهریور 1387, 15:19 عصر
آقا سلام
یه مشکل جالب خنده دار
وقتی من تابع setcookie را اول فایل مینویسم مشکلی ندارم
ولی وقتی وسط فایل یا جایی غیر از اول فایل مینویسم این ارر را میده


Warning: Cannot modify header informationبا hex editor هم چک کردم ... نداشت اولش

سلام
حتما یه جاییش مشکل داره!
حتی آخره فایل هم نوشتم مشکلی نداشت.

alimooghashang
سه شنبه 12 شهریور 1387, 15:30 عصر
سلام
حتما یه جاییش مشکل داره!
حتی آخره فایل هم نوشتم مشکلی نداشت.

نه هیچ جاش مشکل نداره
:لبخند:

cybercoder
سه شنبه 12 شهریور 1387, 16:13 عصر
نمی دونم این سوال header چندین هزار بار دیگه باید پرسیده بشه
جستجو کنید

sama01
سه شنبه 12 شهریور 1387, 16:19 عصر
شما به محض این که چیزی در html صفحه وارد کردید، header ارسال می‌شود. در چنین حالتی دیگر نمی‌توانید با سشن‌ها کار کنید. دیگر نمی‌توانید از دستور header استفاده کنید. به احتمال زیاد دیگر از کوکی هم نمی‌توانید استفاده کنید.
این عبارت را جستجو کنید: Header already sent

alimooghashang
سه شنبه 12 شهریور 1387, 17:00 عصر
اقا اگه بخوام اسم یه کاربر را با کوکی سیو کنم چیکار باید کنم؟
یا یه اطلاعاتی که خودم مشخص کنم و بتونم از کوکی بخونم
لطفا کمک کنید
مرسی

sama01
سه شنبه 12 شهریور 1387, 18:18 عصر
خوب این ربطی به سوال اول شما نداره. شما سوال‌تون در مورد یک پیام خطا بود. و حالا سوالتون درباره خود کوکی.

شما با همان دستور setcookie باید کار کنید. ولی قبلش نباید چیزی در صفحه‌ی html وارد شده باشه. هز چه‌قدر کد php هم که بنویسید اشکالی نداره. ولی html نه.
هیچ چیز نباید echo بشه. با اینکه قبل از دستور شما و خارج از تگ php نباید چیزی نوشته شده باشه.