הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה ב-cookies (https://hosts.co.il/forums/showthread.php?t=74503)

Jonathan Zeierman 14-05-09 05:07

בעיה ב-cookies
 
שלום לכולם.
אני עושה התחברות ע"י cookies, אך בIE 7 משום מה לא עובד וב-FF כן עובד.
ניסתי למחוק את העוגיות והיסטוריה וכו'.
הנה הכתובת:
http://www.ventrilo.co.il/cms/cookie/login.php
שם משתמש וסיסמא: 1.
הקודים:
login.php
PHP קוד:

<?php
//////////////////////////////////////////////////////////////////
// Set user & pass for login and md5. ////////////////////////////
//////////////////////////////////////////////////////////////////
$user "1";
$user md5($user);
$pass "1";
$pass md5($pass);
//////////////////////////////////////////////////////////////////
// If i click login then... //////////////////////////////////////
//////////////////////////////////////////////////////////////////
if(isset($_POST['login']))
{
//////////////////////////////////////////////////////////////////
// If i get the right user and pass, login & set cookie. /////////
//////////////////////////////////////////////////////////////////
if ($user == md5($_POST['user']) && $pass == md5($_POST['pass']))
{
    
header("refresh: 0; url=manage.php");
    
setcookie("login_cookie","1",time()+3600);
}
//////////////////////////////////////////////////////////////////
// Else print us a message. //////////////////////////////////////
//////////////////////////////////////////////////////////////////
else
{
    
header("refresh: 2; url=login.php");
    echo (
"<center>Worng details!<center>");
}
}
//////////////////////////////////////////////////////////////////
?>

manage.php
PHP קוד:

<?php
//////////////////////////////////////////////////////////////////
// If the client have a cookie, show menu. ///////////////////////
//////////////////////////////////////////////////////////////////
if ($_COOKIE["login_cookie"])
{
    echo 
'<center><h1>Welcome '.$_COOKIE['login_cookie'].'</h1></center>';
    echo (
"<br>");
    echo (
"<center>You are connected with cookies!</center>");
    echo (
"<br>");
    echo (
"<center><p><a href='logout.php'>Log out</a></p></center>");
}
//////////////////////////////////////////////////////////////////
// Else print us a worng message. ////////////////////////////////
//////////////////////////////////////////////////////////////////
else
{
    
header("refresh: 2; url=login.php");
    
setcookie("login_cookie","1",time()-3600);
    echo (
"<center>Pleas log in!</center>");
}
//////////////////////////////////////////////////////////////////
?>

logout.php
PHP קוד:

<?php
//////////////////////////////////////////////////////////////////
// Delete the cookie on client computer. /////////////////////////
//////////////////////////////////////////////////////////////////
    
header("refresh: 2; url=login.php");
    
setcookie("login_cookie","1",time()-3600);
    echo (
"<center>You are log out!</center>");
//////////////////////////////////////////////////////////////////
?>

למה ב-IE לא עובד? תודה לעוזרים.

vadimg88 14-05-09 07:19

אתה לא יכול לשלוח HEADERS ואז לבצע COOKIE. זה לא עובד ככה. גם ההפך תיהיה לך בעיה אלה אם כן תשתמש באופרטור @ אשר מסתיר את השגיאות. בכל מקרה לא ככה עובדים בישביל לבצע את מה שאתה רוצה. הייתי מציע לך לקרוא אודות HEADERS ו COOKIES

Jonathan Zeierman 14-05-09 08:18

ציטוט:

נכתב במקור על ידי vadimg88 (פרסם 714874)
אתה לא יכול לשלוח HEADERS ואז לבצע COOKIE. זה לא עובד ככה. גם ההפך תיהיה לך בעיה אלה אם כן תשתמש באופרטור @ אשר מסתיר את השגיאות. בכל מקרה לא ככה עובדים בישביל לבצע את מה שאתה רוצה. הייתי מציע לך לקרוא אודות HEADERS ו COOKIES

הבנתי אז בעייה של ההדר.
קראתי את האודות כל המדריכים הם איך ליצור קוקי ולבדוק אם היא קיימת אז תציג ככה וככה.
יש לך דרך עבודה אחרת? אשמח לראות בינתיים ככה אני עובד.

yard2010 15-05-09 20:06

ציטוט:

נכתב במקור על ידי vadimg88 (פרסם 714874)
אתה לא יכול לשלוח HEADERS ואז לבצע COOKIE. זה לא עובד ככה. גם ההפך תיהיה לך בעיה אלה אם כן תשתמש באופרטור @ אשר מסתיר את השגיאות. בכל מקרה לא ככה עובדים בישביל לבצע את מה שאתה רוצה. הייתי מציע לך לקרוא אודות HEADERS ו COOKIES

פיירפוקס מקל ואפשר לעשות בו את זה, ב-IE הוא ייתן HEADERS ALREADY SENT אם אני לא טועה, בשל באג ב-FF או ב-IE.

Shay Ben Moshe 15-05-09 20:42

תשתמש בob_start(); וob_end_flush();
הכי פשוט, הכי נוח.


כל הזמנים הם GMT +2. הזמן כעת הוא 18:24.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ