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

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

Shon12 24-11-07 11:41

עזרה | הצבת - COOKIE + הצבת השם.
 
יש לי מערכת הרשמה+התחברות סבבה?
עכשיו למשל משתמש בשם: shon נרשם. וה -id שלו הוא מספר 3.
שהמשתמש shon בא להתחבר הצבתי לו COOKIE ובכניסות הבאות אני רוצה לרשום כזה דבר:
שלום: שם המשתמש.
עכשיו בשם המשתמש אני רוצה לשלוף את ה- שם משתמש שהתחבר.
ואת זה איך אני עושה?
כי אם זו הייתה מערכת התחברות היית פשוט עושה משתנה אם השם ואז היית עושה:
שלום: $user.
ואצלי זה בעייה כי זה מערכת הרשמה+התחברות והשמות משתנים כל פעם.

talbeno 24-11-07 13:43

כשהוא מתחבר תציב עוגייה עם מספר המשתמש שלו, ואז תשלוף ע"פ מספר המשתמש:
PHP קוד:

$memeber_id $_COOKIE['id'];
$result mysql_query("select member_name from `users` where id = '$member_id'");
$r mysql_fetch_array($result);
echo 
"שלום {$r['member_name']}!"

תשנה את מה שצריך וזהו =]
תהנה :)

Shon12 24-11-07 15:13

ציטוט:

נכתב במקור על ידי talbeno (פרסם 582773)
כשהוא מתחבר תציב עוגייה עם מספר המשתמש שלו, ואז תשלוף ע"פ מספר המשתמש:
PHP קוד:

$memeber_id $_COOKIE['id'];
$result mysql_query("select member_name from `users` where id = '$member_id'");
$r mysql_fetch_array($result);
echo 
"שלום {$r['member_name']}!"

תשנה את מה שצריך וזהו =]
תהנה :)

לא עובד :\
גם לאחר שדיברנו באייסיקיו וניסית לתקן לא עבד...
עוד מישהו יכול לעזור בבקשה?

DavidBD 24-11-07 15:54

בסוף ההתחברות, כשאתה שולף מהמסד בשביל לוודא, נגיד שהFETCH_ARRAY שלך הוא $r אז אתה עושה:
PHP קוד:

setcookie("id"$r['id'], time()+3600); 

ואז כדיי לקרוא למשתמש:
PHP קוד:

$query "select `id`, `username` from `users` where id='" $_COOKIE['id'] . "'";
$query mysql_query($query) or die(mysql_error());
$result mysql_fetch_array($query);
if (
$result['username']) {
echo 
"ברוך הבא "$result['username'];
}
else {
echo 
"ברוך הבא אורח";


משהו כזה ^^
תתאים את זה לקוד שלך
בהצלחה!

talbeno 24-11-07 15:56

הקוד עצמו בסדר, פשוט הוא לא משתיל את העוגייה..
הsetcookie פשוט לא עובד..

DavidBD 24-11-07 15:58

ציטוט:

נכתב במקור על ידי talbeno (פרסם 582813)
הקוד עצמו בסד, פשוט הוא לא משתיל את העוגייה..
הsetcookie פשוט לא עובד..

כנראה בעיה אצלו בשרת.

Shon12 25-11-07 03:10

משהו מוזר הולך פה כשאני מנסה ככה לקבוע עוגייה:
HTML קוד:

setcookie("username",$member_id,time()+3600);
אז הוא פשוט לא יוצר אותה (הסתכלתי בתייקית העוגיות).
אבל שאני יוצר סתם עוגייה הוא יוצר אותה בלי שום בעיות:
HTML קוד:

setcookie("username",$pass,time()+3600);
וזה הקוד בכללי:
HTML קוד:

if ($member_id)
{
$memeber_id = $_COOKIE['id']; (את המשתנה הזה שמתי למעלה בקוד ניסיתי גם למטה)
$result = mysql_query("select * from `users` where id = '$member_id'")
$r = mysql_fetch_array($result);
echo "שלום {$r['user']}!"; 
}

או שגם ניסיתי:
HTML קוד:

echo "שלום {$r['member_user']}!";
מישהו יודע מה הבעייה?

AlmogBaku 25-11-07 11:09

קודם כל- הכי חשוב זה סדר בקוד. הכנסת משתנה בתוך המחרוזת עלולה לגרום לסתם באגים מיותרים..
PHP קוד:

$memeber_id $_COOKIE['id']; //את המשתנה הזה שמתי למעלה בקוד ניסיתי גם למטה
if ($member_id) {
    
$result mysql_query("select * from `users` where `id`='" $member_id "'");
    
$r mysql_fetch_array($result);
    echo 
"שלום " $r['user'] . " !";


בנוגע לבעיה-
שים לב ששחכת ; בסוף בקשת בשאילתה(הוספתי בקוד למעלה).
ובדוגמא שנתת למעלה ציינת שם עוגייה שונה, בדוק זאת.
אם הבעיה אינה נפתרת בדוק הגדרות משתמש/שרת בנושא העוגיות. לא אמורה להיות בעיה ממשית בקוד.

talbeno 25-11-07 11:16

תראה.
אתה מנסה להשתיל עוגייה בתוך עוגייה, כשאין את העוגייה.

PHP קוד:

<?php
$member_id 
$_COOKIE['id'];
setcookie("username"$member_idtime()+3600);
?>

מה שעשית פה זה בעצם:
PHP קוד:

<?php
setcookie
("username"$_COOKIE['id'], time()+3600);
?>

אתה מנסה להשתיל עוגייה עם ערך של עוגייה שלא נמצאת..
הערך של העוגייה צריך להיות מספר המשתמש, אותו אתה אמור לשלוף מהמסד.


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

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