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

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

BlueNosE 10-07-06 18:45

תעשה ככה
PHP קוד:

function TrueGet()
{
$allowed_get_keys = array ("hi","foo","bar");
if ((
is_array ($_GET)) and (!empty ($_GET)))
{
   foreach (
$_GET as $key=>$val)
   {
       if (!
in_array ($key,$allowed_get_keys)) return true;
   }
}
return 
false;


ובניה אתה טועה
?my יאתחל את המשתנה עם הערך 0 (bool).

miniature 10-07-06 18:53

ציטוט:

נכתב במקור על ידי BlueNosE
תעשה ככה
PHP קוד:

function TrueGet()
{
$allowed_get_keys = array ("hi","foo","bar");
if ((
is_array ($_GET)) and (!empty ($_GET)))
{
foreach (
$_GET as $key=>$val)
{
if (!
in_array ($key,$allowed_get_keys)) return true;
}
}
return 
false;


ובניה אתה טועה
?my יאתחל את המשתנה עם הערך 0 (bool).

עריכה:

אוקי עובד רק יש לי בעיה קטנה - עשיתי ככה:
PHP קוד:

function true_get($true_arrays) {
  
$allowed_get_keys = array($true_arrays); 
  if((
is_array($_GET)) && (!empty($_GET))) { 
    foreach(
$_GET as $key=>$val) { 
      if(!
in_array($key,$allowed_get_keys)) {
        echo 
"הדף המבוקש לא נמצא";
      }
    } 
  }



bla.php
PHP קוד:

true_get("do");
switch(
$do) {
  case 
"":
    echo 
"שלום";
  break;
  case 
"asd":
    echo 
"asd";
  break;
  default:
    echo 
"הדף המבוקש לא נמצא";



אני עושה bla.php?asssdssd=asd
וזה כותב "הדף המבוקש לא נמצאשלום"
אני לא מבין למה זה כותב שלום.. =/

Tomer 10-07-06 19:40

עשית case "" משמע בכל מצב הוא יכנס לך ל case ויבצע מה שרשום בו (echo "שלום")

miniature 10-07-06 19:58

ציטוט:

נכתב במקור על ידי Atom-Bomb
עשית case "" משמע בכל מצב הוא יכנס לך ל case ויבצע מה שרשום בו (echo "שלום")

אבל ה case ב:
PHP קוד:

switch($do

כך שהוא צריך להתבצע רק במשתנה do ...

Elad-A 10-07-06 20:16

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

miniature 10-07-06 21:28

ציטוט:

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

לא מה שהתכוונתי..

BlueNosE 11-07-06 18:12

יואב הוא כותב לך הדף המבוקש לא נמצא מהפונקציה שאני בניתי.
תנסה למספר את השגיאות של "הדף המבוקש לא נמצא".
תעשה
PHP קוד:

      if(!in_array($key,$allowed_get_keys)) {
        echo 
"הדף המבוקש לא נמצא1";

default:
        echo 
"הדף המבוקש לא נמצא2"


miniature 12-07-06 15:12

צודק זה מהפונקציה.
זה כותב גם את מה שבפונקציה (הדף המבוקש...) וגם את מה שב case"" (שלום). למה?!

miniature 12-07-06 15:25

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

echo substr(strrchr($_SERVER['REQUEST_URI'], "?"),1,"-" strlen(substr(strrchr($_SERVER['REQUEST_URI'], "="),1))); 

זה יוציא do= אם אנחנו על do=fdvfdv / do=bla וכו'..
גם ככה זה לא שימושי ממש כי ייתכן ותהיה כתובת עם כמה bla=fds&bnasd=asd
ואז זה יקלוט רק תאחרונה.. למרות שאני יכול לעשות שזה יספור ויוריד אבל אני בטוח שאפשר בדרך אחרת..
לא יודע למה עשיתי את הפירוק הזה.. :S

Serlid 12-07-06 21:16

PHP קוד:

<?
if(!$_GET) {
die(
"the get is empty");
} else {
echo 
"מה אתה רוצה?";
}
?>

ככה?


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

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