הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 08-03-07, 19:34   # 1
ShoQER
מתאורר / יצא בחוץ
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
מיקום: בית נרגילה P:
גיל: 35
הודעות: 413
שלח הודעה באמצעות ICO אל ShoQER שלח הודעה באמצעות MSN אל ShoQER Send a message via Skype™ to ShoQER

ShoQER לא מחובר  

[PHP] בעיה בפונקציה לניהול פרטי משתמש

שלום.

היום עשיתי פונקציה המנהלת את פרטיהמשתמש, כלומר כאשר אני קורא לפונקציה אני מציב לה הוראה ולפיה היא נותנת לי את המידע שאני זקוק לו לפי ההוראה שנתתי לה.

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

החלק הזה בודק אם המשתמש מופיע כמחובר במסד + האם הזמן שהוא יכול להיות מחובר לא עבר את המקסימום שהוקצב לו.

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

עכשיו הכל עבד עד שעשיתי משהו...שלצערי אני לא יודע מה זה היה והאופציה שהוספתי תמיד מחזירה לי ערך FALSE.

מה שגורם לכך שהמשתמש מתנתק.

הפונקציה במלואה:
PHP קוד:
function userinf($need 0$do 0) {
 
$IP $_SERVER['REMOTE_ADDR'];
 
$where "`srLogged`='1' AND `srIP`='{$IP}'";
 
$select db::select('users'$whereFALSE1);
 
$count db::count($select);
 
$row db::fetch($select);
 
$ctime time();
 
$utime $row['srLogTime'];
 switch (
$need) {
  case 
0:
   if((
$count == 1) AND ($ctime $utime)) {
    return 
TRUE;
   } else {
    
db::update('users',"srLogged#0,srLocation#0,srIP#0,srLogTime#0","srIP={$IP}");
    return 
FALSE;
   }
  case 
1:
   return 
$row['srUName'];
   break;
  case 
2:
   return 
$row['srFName'].' '.$row['srLName'];
   break;
  case 
3:
   return 
$row['srID'];
   break;
  case 
4:
   if(
$do) {
    
$uid userinf(3);
    
db::update('users'"srLocation#{$do}""srID={$uid}");
   } else {
    
skin::error('Missing arrgument for "userinf()" function ($do)');
   }
   break;
  default:
   
skin::error('Invalid argument for "userinf()" function ($need)');
 }

הקריאה לשימוש באופציה של הבדיקה אם המשתמש מחובר:
PHP קוד:
if(userinf()) {
echo 
'logged';

אשמך מאוד אם תעזרו לי עם הבעיה

עריכה:
בדקתי מספר פעמיים שהזמן שהוקצב למשתמש אכן גדול מהזמן הנוכחי (בשניות לפי TIME)...אפילו שמתי שם 999999999999999999999999 (שזה בהרבה יותר גדול מהזמן הנוכחי)
אך עדין זה מחזיר לי ערך של שקר =/

Last edited by ShoQER; 08-03-07 at 19:37..
  Reply With Quote
ישן 08-03-07, 19:50   # 2
WebProject
מ.תיכנות
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: אשדוד
הודעות: 3,070
Send a message via Skype™ to WebProject

WebProject לא מחובר  

זה לא הגיוני בכלל

PHP קוד:
$ctime $utime 
את זה כתבת בתנאי, תחשוב הגיוני, אם ה$ctime, זה הזמן הנוכחי, איך הוא יכול להיות קטן מהזמן שבו התחבר המשתמש? הרי השעון סופר 1, 2, 3, לא 3,2,1

מקווה שהבנת

-טל
__________________
כושר קרבי \ טיפים לגיבושים



פורטל רעל - צבא וכושר קרבי
  Reply With Quote
ישן 08-03-07, 19:58   # 3
ShoQER
מתאורר / יצא בחוץ
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
מיקום: בית נרגילה P:
גיל: 35
הודעות: 413
שלח הודעה באמצעות ICO אל ShoQER שלח הודעה באמצעות MSN אל ShoQER Send a message via Skype™ to ShoQER

ShoQER לא מחובר  

חחח אני הבנתי...פשוט אתה לא הבנתה את ההסבר שלי...
המשתמש מתחבר כאשר הזמן שהיה אז היה:
176974234 (סתם משהו)
אני מוסיף לזה 3600 נגיד ואז מכניס למסד.
כלומר מה שנכנס למסד זה:
176977834

לכן זה הגיוני שהזמן שהוכנס למסד יוכל להיות גדול יותר מהזמן הנוכחי...ככה אני פשוט בודק כמה זמן המשתמש מחובר והאם הוא עבר את מגבלת הזמן האפשרית.
  Reply With Quote
ישן 08-03-07, 19:59   # 4
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

בנוסף דרך מאד גרועה לשימוש בקלאסים תעשה אינסטנאס לקלאס ותייבא אותו לפונקציות בעזרת GLOBAL
  Reply With Quote
ישן 08-03-07, 20:01   # 5
ShoQER
מתאורר / יצא בחוץ
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
מיקום: בית נרגילה P:
גיל: 35
הודעות: 413
שלח הודעה באמצעות ICO אל ShoQER שלח הודעה באמצעות MSN אל ShoQER Send a message via Skype™ to ShoQER

ShoQER לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
בנוסף דרך מאד גרועה לשימוש בקלאסים תעשה אינסטנאס לקלאס ותייבא אותו לפונקציות בעזרת GLOBAL
לא הבנתי את כוונתך
  Reply With Quote
ישן 08-03-07, 20:09   # 6
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

PHP קוד:
$db = new db();

$db->query("bla bla bla");


function 
getuserinfo($userid 0)
{
    global 
$db;
    if (
$userid 0)
    {
        return 
$db->query_fetch("SELECT * FROM users WHERE userid='$userid'");
    }
    else 
    {
        return 
false;
    }

  Reply With Quote
ישן 08-03-07, 20:12   # 7
ShoQER
מתאורר / יצא בחוץ
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
מיקום: בית נרגילה P:
גיל: 35
הודעות: 413
שלח הודעה באמצעות ICO אל ShoQER שלח הודעה באמצעות MSN אל ShoQER Send a message via Skype™ to ShoQER

ShoQER לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
PHP קוד:
$db = new db();

$db->query("bla bla bla");


function 
getuserinfo($userid 0)
{
    global 
$db;
    if (
$userid 0)
    {
        return 
$db->query_fetch("SELECT * FROM users WHERE userid='$userid'");
    }
    else 
    {
        return 
false;
    }

מה זה משנה אם אני כותב: db::query או $db->query ?
  Reply With Quote
ישן 08-03-07, 20:24   # 8
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

ציטוט:
נכתב במקור על ידי Dr. Bleff צפה בהודעה
מה זה משנה אם אני כותב: db::query או $db->query ?
מבחינת השגיאה שלך זה לא משנה הרבה

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

:: שייך לגרסאות הישנות של PHP שם התמיכה באובייקטים לא הייתה רחבה כמו היום.
  Reply With Quote
ישן 08-03-07, 20:29   # 9
ShoQER
מתאורר / יצא בחוץ
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
מיקום: בית נרגילה P:
גיל: 35
הודעות: 413
שלח הודעה באמצעות ICO אל ShoQER שלח הודעה באמצעות MSN אל ShoQER Send a message via Skype™ to ShoQER

ShoQER לא מחובר  

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

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

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

אני ישמח אם משהו יעזור לי עם הבעיה המרכזית
  Reply With Quote
ישן 08-03-07, 20:55   # 10
ShoQER
מתאורר / יצא בחוץ
 
מיני פרופיל
תאריך הצטרפות: Dec 2006
מיקום: בית נרגילה P:
גיל: 35
הודעות: 413
שלח הודעה באמצעות ICO אל ShoQER שלח הודעה באמצעות MSN אל ShoQER Send a message via Skype™ to ShoQER

ShoQER לא מחובר  

PHP יכול להיות ממש מעצבן לפעמים לא כך?

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

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

אפשרי לנעול.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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