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

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 07-07-06, 20:55   # 1
eXtaZa
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 288

eXtaZa לא מחובר  

[PHP] בעיה עם GET...

יש לי בעיה עם GET, בקוד הבא:
PHP קוד:
<?php
function checkGet(){
    foreach(
$_GET as $key=>$value)
        if(
$key!="id" || $key!="num") return false;
    return 
true;
}
$checkGET=checkGet();
if(
$checkGET)    echo "All good.";
else echo 
"GET is not good!";
?>
עשיתי פונקציה שבודקת את הGET שלי, אם ה$key שווה ל"id" או ל "num", אז שיכתוב לי "All good." אחרת(אם סתם כתבו עוד משהו בGET) שיכתוב לי "GET is not good!".
הבעיה היא שהוא תמיד כותב לי "GET is not good" גם אם הכתובת שלי היא לדוגמא כזאת:
PHP קוד:
http://************/a.php?id=42&num=3 
מישהו יודע מה הבעיה?
תודה.

Last edited by eXtaZa; 07-07-06 at 20:58..
  Reply With Quote
ישן 07-07-06, 21:01   # 2
Ori The Man
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: חיפה
גיל: 33
הודעות: 3,694
שלח הודעה באמצעות MSN אל Ori The Man Send a message via Skype™ to Ori The Man

Ori The Man לא מחובר  

אתה צריך להגדיר לו איזה GET לא סתם $_GET
צריך
PHP קוד:
$_GET["id"]; 
  Reply With Quote
ישן 07-07-06, 21:08   # 3
eXtaZa
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 288

eXtaZa לא מחובר  

ציטוט:
נכתב במקור על ידי Ori The Man
אתה צריך להגדיר לו איזה GET לא סתם $_GET
צריך
PHP קוד:
$_GET["id"]; 
לא הבנתי מה הקשר? אתה מתכוון בforeach ? צריך להכניס שם את השם של המערך, לא איבר מהמערך.
  Reply With Quote
ישן 07-07-06, 21:11   # 4
x-ray
דוגמן הבית השמן
תודה על תרומתך :)
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 3,716

x-ray לא מחובר  

if($key!="id" || $key!="num") return false;

אתה לא אמור לבדוק פה משתנים?
__________________
בברכה,
עידן בן אור
  Reply With Quote
ישן 07-07-06, 21:12   # 5
eXtaZa
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 288

eXtaZa לא מחובר  

ציטוט:
נכתב במקור על ידי x-ray
if($key!="id" || $key!="num") return false;

אתה לא אמור לבדוק פה משתנים?
לא הבנתי אותך...
  Reply With Quote
ישן 07-07-06, 21:42   # 6
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

בבקשה פונקציה הרבה יותר יעילה, ופועלת :

PHP קוד:
function checkget()
{
    if (
array_key_exists('id',$_GET) OR array_key_exists('num',$_GET))
    {
        return 
true;
    }
    else 
    {
        return 
false;
    }
    
    

בדקתי...וסתם עצה תשנה את הצורה שאתה כותב קודים, היא ממש ממש לא מובנת ולא מסודרת
  Reply With Quote
ישן 07-07-06, 22:00   # 7
eXtaZa
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 288

eXtaZa לא מחובר  

תודה RS324, עובד...
אבל אם כבר לכתוב כמו שאמרת, למה לכתוב כזה ארוך אם אפשר לצמצם את התוכן של הפונקציה לשתי שורות?
PHP קוד:
function checkGet(){
    if (!
array_key_exists('id',$_GET) || !array_key_exists('num',$_GET)) return false;
    return 
true;

-------עריכה-------

RS324, אתה נתת לי קוד שהוא מחפש בתוך המערך $_GET את המפתח "id" או "num", ואני ניסתי לעשות בקוד שלי שיבדוק את 2 המפתחות הראשונים ואז יבדוק אם הם "id" או "num", מבין?

Last edited by eXtaZa; 07-07-06 at 22:09..
  Reply With Quote
ישן 07-07-06, 22:14   # 8
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

אצלך הוא בדק אם המפתח הראשון שווה ל ID או NUM
ואם לא אז הוא החזיר FALSE
כשזה בעצם היה אמור להיות הפוך,

בכל מקרה הפונקציה שלי היא טיפה יותר יעילה
  Reply With Quote
ישן 08-07-06, 14:59   # 9
eXtaZa
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 288

eXtaZa לא מחובר  

ציטוט:
נכתב במקור על ידי RS324
אצלך הוא בדק אם המפתח הראשון שווה ל ID או NUM
ואם לא אז הוא החזיר FALSE
כשזה בעצם היה אמור להיות הפוך,

בכל מקרה הפונקציה שלי היא טיפה יותר יעילה
למה הפוך? הכוונה שלי היא לבדוק אם המפתח הראשון שווה לid או לnum וגם השני. אבל למה זה לא עובד? הרי זה שווה...
  Reply With Quote
ישן 08-07-06, 15:38   # 10
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

כי אתה לא יודע את סדר של ה GET הוא בודק רק את הערך של האיבר הראשון
אם אתה רוצה לבדוק רק את הערך הראשון תעשה
if($_GET[0] == $KEY)
או משהו כזה...

הפונקציה שהכנתי מחפשת את הערך בכל המערך. לא משנה מה הסדר שלו
  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. הזמן כעת הוא 05:26.

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