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

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

-VladK- 30-11-06 16:56

[PHP] מוזר..שילוב של 2 פונקציות לבדיקה מסוימת לא מצליחה...
 
הייי...

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

הפונקציה השניה תלויה בראשונה...

הפונקציות:
PHP קוד:

function log_as() {
    
$ip $_SERVER['REMOTE_ADDR'];
    
$select mysql_query("SELECT * FROM `members` WHERE `s_ip`='$ip' AND `s_log`='1' LIMIT 1");
    
$row mysql_fetch_array($select);
    
$count mysql_num_rows($select);

    if(
$count != 0) {
        return 
$row['username'];
    } else {
        return 
NULL;
    }
}

function 
is_log() {
    if(
log_as() == NULL) {
        echo 
globskin::geheader();
        echo 
globskin::notlog();
        echo 
globskin::gefooter();
        die();
    }


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

is_log() 

כאשר אני מכניס את זה זה בעצם בודק אם הIP של המשתמש נמצא במסד...אם כן אז כלום אם לא אז שיראה שגיאה...אבל מה? כלום =/ לא שגיאה שאני הכנתי...לא שגיאה מPHP...כלום...כאילו הפונקציה לא קיימת =/

עריכה...הבנתי למה :) כי בעצם היתי במצד מחובר XD...אההם...שאלה...כיצד אני יכול לגרום לפונקציה לעבוד בצורה "הפוכה"

כמו שדרך IF אפשר לשים ! לפני הפונקציה כדי שזה יעבוד הפוך...אפשר לעשות אותו הדבר בקריאה רגילה?

יעני משהו בסגנון:
PHP קוד:

!is_log(); 


Tomer 30-11-06 17:01

ב is_log בדקת אם הוא מחובר ע"י log_as == NULL, משמע, אם הפונקציה log_as מחזירה NULL (ריק).. אולי היא פשוט מחזירה ערך כלשהו ולכן זה != NULL ?

-VladK- 30-11-06 17:04

ציטוט:

נכתב במקור על ידי Tomer (פרסם 381808)
ב is_log בדקת אם הוא מחובר ע"י log_as == NULL, משמע, אם הפונקציה log_as מחזירה NULL (ריק).. אולי היא פשוט מחזירה ערך כלשהו ולכן זה != NULL ?

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

DCB 30-11-06 21:09

התשובה נתונה בגוף השאלה...
PHP קוד:

if(log_as() != NULL


-VladK- 01-12-06 06:40

אנשים...ערכתי....

כיצד אני יכול לגרום לפונקציה לעבוד בצורה "הפוכה"

כמו שדרך IF אפשר לשים ! לפני הפונקציה כדי שזה יעבוד הפוך...אפשר לעשות אותו הדבר בקריאה רגילה?

יעני משהו בסגנון:
PHP קוד:

!is_log(); 


sUP 01-12-06 12:00

ציטוט:

נכתב במקור על ידי Pilmen (פרסם 382064)
אנשים...ערכתי....

כיצד אני יכול לגרום לפונקציה לעבוד בצורה "הפוכה"

כמו שדרך IF אפשר לשים ! לפני הפונקציה כדי שזה יעבוד הפוך...אפשר לעשות אותו הדבר בקריאה רגילה?

יעני משהו בסגנון:
PHP קוד:

!is_log(); 


אי אפשר ..

RS324 01-12-06 13:54

ציטוט:

נכתב במקור על ידי sUP (פרסם 382106)
אי אפשר ..

בטח שאפשר....
אממ.. למה אתה צריך שהוא יחזיר את ה USERNAME ?

תעשה שיחזיר TRUE או FALSE ואז זה יעבוד.

sUP 01-12-06 15:05

ציטוט:

נכתב במקור על ידי RS324 (פרסם 382169)
בטח שאפשר....
אממ.. למה אתה צריך שהוא יחזיר את ה USERNAME ?

תעשה שיחזיר TRUE או FALSE ואז זה יעבוד.

אבל הוא רוצה בלי קשר לתנאי =\

-VladK- 01-12-06 15:22

הסתדרתי בסוף...עשיתי משהו בסגנון:
is_log(1);

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

RS324 01-12-06 16:34

ציטוט:

נכתב במקור על ידי sUP (פרסם 382223)
אבל הוא רוצה בלי קשר לתנאי =\

מה בלי קשר לתנאי ? גם ככה יש לו תנאי
PHP קוד:

    if($count != 0) {
        return 
$row['username'];
    } else {
        return 
NULL;
    } 

רק שישנה את מה שהוא מחזיר זה הכל...


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

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