was wenn $_GET fehlschlägt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • was wenn $_GET fehlschlägt

    tag ihr

    Hab hier n link zu ner lokalen seite:
    PHP-Code:
    <a href="get.php?id=1">link</a
    wenn man nun auf dieser seite ist ist der quelltext das hier:
    PHP-Code:
     if ($_GET["id"] = "1") { 
    echo 
    "LOL1";

    jetzt könnte man ja die URl verändern z.b. so:
    PHP-Code:
    get.php 
    oder so:
    PHP-Code:
    get.php?id
    wenn die URL so ist dann soll die ausgabe folgende sein:
    PHP-Code:
    arschloch 
    danke für hilfe
    Wat für'n Scheiß war dat über meine Mucke? Hast'n Problem? ALTA! Schon mal ne 5000-Watt-BASS-Machine gehört? Geht voll ab, Alta!

    Wacken?! Ist schon vorbei du Spasti!

  • #2
    Mach es doch so :
    PHP-Code:
    <?php
    if (isset($_GET['id'])==true&& $_GET['id']!=1)
    {
    echo 
    "A*******h";
    }
    else if (
    $_GET['id']==1)
    {
    echo 
    "LOL1";
    }
    else
    {
    echo 
    "A*******h";
    }
    ?>
    Zuletzt geändert von BlackMaster; 03.07.2005, 21:54.

    Kommentar


    • #3
      BlackMaster:
      das müsste bei E_ALL ein warning geben.
      außerdem ist die logik sehr verdreht formuliert.

      Kommentar


      • #4
        Es klappt aber!
        und E all hab ich noch net versucht ... mom

        Kommentar


        • #5
          Dann halt so:
          PHP-Code:
          <?php
          if (isset($_GET['id'])==true)
            {
             if (
          $_GET['id']==1)
               {
                echo 
          "LOL1";
               }
              if (
          $_GET['id']!=1)
               {
               echo 
          "peeeeeeep";
               }
            }
          else
           {
            echo 
          "peeeeeeep";
            }
          ?>

          Kommentar


          • #6
            schon besser, aber immer noch redundant.

            Kommentar


            • #7
              kürzer wäre es doch so:

              PHP-Code:

              if (isset($_GET['id']) && $_GET['id'] == "1"){

                echo 
              "LOL1";

              }else{

                echo 
              "peeeeeeep";


              Kommentar


              • #8
                So gehts auch
                Ich bin halt nen N00B

                Kommentar


                • #9
                  Hallo,

                  persönlich fände ich nen Abgleich mit einem Array am günstigsten. Überleg mal wieviele if's du schreiben darfst, wenn $id z.B. 20 verschiedene Werte annehmen kann.

                  Gruss
                  Quetschi
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #10
                    @PhilW: Lass bei Integern bitte die " " weg, das sind ZAHLEN und keine STRINGS.
                    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                    var_dump(), print_r(), debug_backtrace und echo.
                    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                    Kommentar


                    • #11
                      $_GEt['id'] ist mit Sicherheit kein integer, es sei denn, du hast das vorher explizit geändert...
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Du hast Recht happy, in den _GET und _POST arrays steht ja alles als Strings.... also Kommando zurück
                        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                        var_dump(), print_r(), debug_backtrace und echo.
                        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                        Kommentar


                        • #13
                          Könntest so was in dieser Art probieren:
                          PHP-Code:
                          function is_strInt($data){
                             
                          $iii preg_replace('/s*/'''$_GET['id']);
                             
                          $iii ereg_replace('+'''$iii);
                             if(
                          strlen($iii) != strlen($_GET['id']))
                             {
                                 return 
                          false;
                             }
                              if(
                          is_numeric($data) && !strpos($data,".") && !strpos($data"e") && !
                          strpos($data"E") && !strpos($data,"x") && !strpos($data"X"))

                              {
                                  return 
                          true;
                              }
                              else{
                                  return 
                          false;
                              }
                          }
                          //Deine Ausgabe
                          if(!is_strInt($_GET['id']))
                          {
                             print 
                          "A....loch";
                          }
                          else
                          {
                             print 
                          " Alles i.O.";

                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            PHP-Code:
                            if((int)$_GET['id'] != $_GET['id'])
                            {
                               print 
                            "A....loch";
                            }
                            else
                            {
                               print 
                            " Alles i.O.";

                            Sollte den gleichen Effekt haben, meinetwegen nimmst du noch trim zu Hilfe
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              @happy
                              Hat nicht genau den gleichen Effekt. Nehmen wir mal an im Query String wird dir 3.4 übergeben. int() macht daraus 3.
                              Nun hast du aber keine Anhung ob der Query String manipuliert wurde oder nicht.

                              Gruss

                              tobi

                              EDIT:

                              Bitte diesen Beitrag löschen, weil ich zu wenig genau gelesen habe und happy natürlich recht hat

                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X