|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
![]() |
# 1 |
חסום
|
שגיאה עם קוקיס ו headers
זה השגיאה :
קוד:
Warning: Cannot modify header information - headers already sent by (output started קוד:
<html dir="rtl"> <head> <title>דף ראשי</title> <? include "config.php"; ?> </head> <body> <? $hour = time() + 3600; $username = $_COOKIE['user']; $password = $_COOKIE['pass']; if(!isset($_COOKIE['user'])) { echo "אתה אינך מחובר :: <a href=\"?act=loginform\">התחברות</a><br />"; } else echo "ברוך הבא $username :: <a href=\"?act=logout\">התנתק</a><br />"; $act = $_GET['act']; // הגדרת משתנה ראשי if ($act == "logincheck") // בדיקת התחברות { // הכנסת פרטי הטופס למשתנים $user = $_POST['User']; $pass = $_POST['Pass']; // בדיקת טופס echo " <table class=\"loginchecktable\"> <tr><td valign=\"top\" dir=\"rtl\" class=\"login_check_td_table\">"; if ($pass == "") { echo "סיסמא לא הוזנה"; echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1;URL=?act=loginform\">"; } else if ($user == "") { echo "שם משתמש לא הוזן"; echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1;URL=?act=loginform\">"; } else { $s = mysql_query("SELECT * FROM members WHERE username='$user' && password='$pass'") or die(mysql_error()); $checkform = mysql_num_rows($s); if ($checkform == "0") { echo "אחד מהפרטים אינו נכון"; echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1;URL=?act=loginform\">"; } else { echo "התחברת בהצלחה"; setcookie(user, $user, $hour); setcookie(pass, $pass, $hour); echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1;URL=index.php\">"; } } echo "</td></tr>"; echo "</table>"; } else if ($act =="loginform") // טופס התחברות { if(!isset($_COOKIE['user'])) { echo <<<LOGINFORM <form action="?act=logincheck" method="post"> <table class="logintable"> <tr><td valign="top" dir="rtl" class="logintdtable">שם משתמש: </td> <td valign="top" dir="rtl" class="logintdtable"><input type="text" name="User"></td> </tr> <tr><td valign="top" dir="rtl" class="logintdtable">סיסמא: </td> <td valign="top" dir="rtl" class="logintdtable"><input type="password" name="Pass"></td> </tr> <tr><td valign="top" dir="rtl" class="logintdtable"></td> <td valign="top" dir="rtl" class="logintdtable"><input type="reset" value="נקה"><input type="submit" value="התחבר"></td> </tr> </table> </form> LOGINFORM; } else { echo "אתה מחובר למערכת"; echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1;URL=index.php\">"; } } else if($act == "logout") { $past = time() - 100; setcookie(user, gone, $past); setcookie(pass, gone, $past); echo "התנתקת בהצלחה"; echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1;URL=index.php\">"; } ?> </body> </html> קוד:
setcookie(user, $user, $hour); setcookie(pass, $pass, $hour); |
![]() |
![]() |
# 2 |
הוסטסניון
|
זה בגלל ששלחת HTML לפני יצירת העוגיה..
אתה צריך לרשום בראש העמוד: PHP קוד:
PHP קוד:
__________________
אימיל \ מסן : amirs91 [at] gmail.com |
![]() |
![]() |
# 3 |
חסום
|
ניסי י מקודם לעשות את זה עם ob_end_clean אבל משום מה הוא לא יצר את הקוקיס...
עריכה : הנה גם עכשיו ברגע שאני עושה מה שאמרת הוא באמת לא מציג תשגיאה אבל הוא לא מבצע ת setcookies יענו הוא מציג אתה לא מחובר לפי התנאי בקוד. שהוא אמור להציג "ברוך הבא" כי התחברתי Last edited by kfir91; 20-07-08 at 18:51.. |
![]() |
![]() |
# 4 |
הוסטסניון
|
העוגייה בכל מקרה אמורה להיווצר, תנסה להדפיס אותה כדי לאמת זאת, ותראה מה היא מציגה לך.
__________________
אימיל \ מסן : amirs91 [at] gmail.com |
![]() |
![]() |
# 5 |
אין כמו ב127.0.0.1
|
לפי מה שאני זוכר, אחרי SETCOOKIE לא מתבצע אתחול איבר במערך $_COOKIES, אתה צריך לבדוק בדרך אחרת אם העוגיה קיימת או לרענן את הדף.
אני לא בטוח ב-100% שזה נכון |
![]() |
![]() |
# 6 |
חסום
|
אני מרענן את הדף זה לא עובד..
והעוגיה מחזירה ריק... למה? |
![]() |
![]() |
# 7 |
הוסטסניון
|
תעשה print_r($_COOKIE); בדף ותרשום מה הפלט.
__________________
|
![]() |
![]() |
# 8 |
חסום
|
זה רושם את זה :
קוד:
Array ( [__utma] => 3769970.1222316683.1216412329.1216412329.1216412329.1 [__utmz] => 3769970.1216412329.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none) ) |
![]() |
![]() |
# 9 | |
חבר מתקדם
|
ציטוט:
![]() ואין פה את העוגייה שלך. PHP קוד:
עושים PHP קוד:
בברכה, יורי. |
|
![]() |
![]() |
# 10 |
חסום
|
עשיתי ככה לפני שאמרת.. זה לא עובד
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|