לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 26-10-2006, 17:01
  Roeen Roeen אינו מחובר  
 
חבר מתאריך: 05.10.05
הודעות: 687
מערכת "מחוברים עכשיו"

שלום



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



המסד הוא כזה:

קוד PHP:
 CREATE TABLE `sessions` (
  `
sidvarchar(255NOT NULL default '',
  `
timevarchar(255NOT NULL default '',
  `
is_userint(11NOT NULL default '0',
  `
user_namevarchar(255NOT NULL default ''
ENGINE=MyISAM DEFAULT CHARSET=latin1






בתחילת הדף אני מייבא את הפונקציה update_session

ובסיום הדף אני מייבא את הפונקציה close_session



להלן הפונקציות:

קוד PHP:
 function update_sessions()
 {

  
session_start();
  
$s_id session_id();
  
$time time();
  
  if( 
$_SESSION['site_session'] == )
  {
   
mysql_query("update sessions set time='$time' where sid='$s_id'");
  } else {
   
$_SESSION['site_session'] = 1;
   if( ! isset(
$_COOKIE['site_user']) )
   {
    
$is_user 0;
   } else {
    
$is_user 1;
   }
   
$user_name $this->username(); // זה לא חשוב כרגע... 

   
mysql_query("insert into sessions (sid,time,is_user,user_name) values('$s_id','$time','$is_user','$user_name')");
  }

 }

 function 
close_sessions()
 {

  
$time time() - 30;
  
mysql_query("delete from sessions where time <= '$time'");

 } 





עכשיו כדי להציג את המשתמשים המחוברים אני עושה ככה:
קוד PHP:
 $now_logged_in mysql_query("select * from sessions where is_user='1'");
while( 
$l mysql_query($now_logged_in) )
{
$user mysql_query("select * from users where user_name='{$l['user_name']}'"));
$l['user_id'] = $user['id'];
echo 
"- <a href=\"index.php?act=profile&amp;id={$l['user_id']}\">{$l['user_name']}</a>";



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

מישהו יודע מה הבעיה?
אני אשמח לקבל תשובה בהקדם.

תודה ויום טוב
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 31-10-2006, 17:49
צלמית המשתמש של tnadav1
  משתמש זכר tnadav1 tnadav1 אינו מחובר  
 
חבר מתאריך: 02.10.05
הודעות: 2,355
שלח הודעה דרך MSN אל tnadav1
בתגובה להודעה מספר 1 שנכתבה על ידי Roeen שמתחילה ב "מערכת "מחוברים עכשיו""

אני מחדד את דבריו של yoacmatchulsky, זה לא ששחכת לעשות mysql_fetch_assoc (או איזה פונקציה שבא לך שדומה לזה) פשוט התבלבלת בין זה לפונקציה mysql_query.

הנה מתוקן:
לפני:
קוד PHP:
 $now_logged_in mysql_query("select * from sessions where is_user='1'");
while( 
$l mysql_query($now_logged_in) )
{
$user mysql_query("select * from users where user_name='{$l['user_name']}'"));
$l['user_id'] = $user['id'];
echo 
"- <a href=\"index.php?act=profile&amp;id={$l['user_id']}\">{$l['user_name']}</a>";


אחרי:
קוד PHP:
 $now_logged_in mysql_query("select * from sessions where is_user='1'");
while( 
$l mysql_fetch_assoc($now_logged_in) )
{
$qur mysql_query("select * from users where user_name='{$l['user_name']}'"));
$user=mysql_fetch_assoc($qur);
$l['user_id'] = $user['id'];
echo 
"- <a href=\"index.php?act=profile&amp;id={$l['user_id']}\">{$l['user_name']}</a>";



ובנוסף, מומלץ להשתמש ב- JOIN.. יותר יעיל..

עריכה
עכשיו אני רואה ששחכת להוסיף mysql_fetch_assoc ל- user.. תיקנתי את הקוד בהתאם..

ושוב, הקוד ממש לא יעיל.. אפשר להשוות את זה ללשים שאילתה ברקורסיה (משהו מאוד רע) למרות שזה טיפה הגזמה..
_____________________________________



נערך לאחרונה ע"י tnadav1 בתאריך 31-10-2006 בשעה 17:51.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 20:11

הדף נוצר ב 0.06 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר