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

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

Regev 14-03-09 10:05

PHP קוד:

$id mysql_query("SELECT ID AS id FROM user where username='$user'");
$id mysql_fetch_assoc($id);
$id $id["id"]; 

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

SniR-S 14-03-09 10:56

אוקי, אני הצלחתי לעשות את זה וזה עובד:
PHP קוד:

    $query mysql_query("SELECT id FROM users WHERE user = '$user' ");
    
$result mysql_fetch_array($query);
echo 
$result['id']; 

זה עובד אבל רק בפונקציה של ההתחברות, בפונקציה התחברות יש לי ככה:
PHP קוד:

$user $_POST['user']; //מה שמתקבל בפוסט
//ואז לאחר הבדיקה שאם הכל תקין שם משתמש + סיסמא הוא מתחבר והוא מכניס את השם משתמש שהוכנס בפוסט אל תוך סשיין
$_SESSION['username'] = $user

עכשיו, סשיין אפשר להציג בכל מקום כל עוד מחוברים על אותו דפדפן וחלון..
משום מה הוא מציג לי את ה id של אותו מחובר רק אם אני שם אותו בפונקצית התחברות..


עכשיו אם המשתמש מחובר ואני רוצה לשים את זה מחוץ לפונקציה של ההתחברות אני עושה כזה דבר:
PHP קוד:

$_SESSION['username'] = $user;
    
$query mysql_query("SELECT id FROM users WHERE user = '$user' ");
    
$result mysql_fetch_array($query);
echo 
$result['id']; 

הסשיין של השם משתמש שהוכנס עדיין קיים על הדפדפן, ולכן אני יכול להדפיס אותו בכל מקום, אך משום מה זה לא עובד \-:

Hezi & BomBas 14-03-09 11:08

מה הערך של user? ולא יותר פשוט וקל לעבוד עם COOKIES?

SniR-S 14-03-09 11:23

זה לא משנה, אני צריך להבין את העיקרון.
הערך של user הוא מה שמתקבל בפוסט..
PHP קוד:

$user $_POST['user']; 

בפונקציה התחברות.

Hezi & BomBas 14-03-09 11:31

אוקיי, אתה טוען שהמשתמש התחבר כבר.. אז למה אתה מחפש ערכים ע"פ הערך שהוא הכניס בפוסט? הרי הוא כבר התחבר, ה SESSION קיים אצלו.
PHP קוד:

    $query mysql_query("SELECT id FROM users WHERE user = '"$_SESSION['username']. "'");
    
$result mysql_fetch_array($query);
echo 
$result['id']; 


Regev 14-03-09 11:40

יש לך 3 ערכים
PHP קוד:

$_POST["user"]
$user
$_SESSION
["user"

למה אתה לא מציב יש את
PHP קוד:

$_POST["user"

בתוך הסשין?
הרבה יותר פשוט וזה חוסך....

Hezi & BomBas 14-03-09 11:45

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

דבר שני, במה זה חוסך? -_-

SniR-S 14-03-09 11:50

חזי, הצלחת לעזור לי והגעתי בעזרתך למטרה שלי.
אבל למה זה לא עובד כשאני עושה ככה:
PHP קוד:

$_SESSION['username'] = $user
    
$query mysql_query("SELECT id FROM users WHERE user = '$user' "); 
    
$result mysql_fetch_array($query); 
echo 
$result['id']; 

?

אגב רגב, אני יעשה את זה.

tbm 14-03-09 13:09

שים לב לשורה הבאה
קוד:


$_SESSION['username'] = $user;

מה שעשית זה הצבת את user בסשין זה צריך להעשות הפוך
קוד:


$user=$_SESSION['username'];


Hezi & BomBas 14-03-09 13:24

ציטוט:

נכתב במקור על ידי Snir Shamka (פרסם 702996)
חזי, הצלחת לעזור לי והגעתי בעזרתך למטרה שלי.
אבל למה זה לא עובד כשאני עושה ככה:
PHP קוד:

$_SESSION['username'] = $user
    
$query mysql_query("SELECT id FROM users WHERE user = '$user' "); 
    
$result mysql_fetch_array($query); 
echo 
$result['id']; 

?

אגב רגב, אני יעשה את זה.

מה ש tbm כתב נכון.
בקשר לזה שאמרת שתעשה את זה, אני אישית לא ממליץ לך לעשות מה שרגב אמר - כמו שאמרתי, זה לא חוסך כלום ויותר נוח לעבוד עם משתנים (לפחות לי.. למרות שאני חושב שכולם ככה)

אגב , קוראים לי ליאור.. :-)


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

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