Komische Frage aber...

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

  • Komische Frage aber...

    Hallo,
    also ich übergebe die Variable mit der URL und zwar so:
    <a href="include_standard.php?b=<?php echo $b;?>">
    Das klappt auch!
    So, dann möchte ich auf der Aufgerufenen Seite ne kleine Abfrage machen

    if ($a) {
    echo "Das ist a";
    } elseif ($b) {
    echo "Das ist B";

    usw.
    Jetzt übergeb ich aber wie Ihr oben seht die Variable b und nicht a, das müsste also heissen das $a übersprunen wird und die $b genommen wir. Oder denke ich da mal wieder falsch? Dann müsste in diesem Fall $a Falsch sein und das Elseif ausgeführt werden! Haut das so hin wie ich mir das dachte?
    Mfg
    BenBay

  • #2
    Du übergibst eine Variable mit einem bestimmten Wert.
    In PHP kannst du nur die Werte von Variablen abfragen. Dazu musst da aber die Variable über ihren Namen ansprechen.
    Der Name ist das, was bei deinem Link links vom = steht.
    Und das ist b egal, was für nen Wert das Dingen hat
    Zuletzt geändert von mrhappiness; 13.02.2003, 19:35.
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      wenn du b=0 übergibts, ist auch if($b) falsch

      außerdem löst if($B) eine Warnung aus, wenn $b nicht existiert, nicht übergeben wurde.
      Dann nimm besser die Arrays, also

      PHP-Code:
      if(isset($HTTP_GET_VARS['a'])){
         
      // a übergeben
      }elseif(isset($HTTP_GET_VARS['b'])){
         
      // b übergeben

      // usw 
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        Und wenn ichs so mache:
        Code:
        $a = 2
        $b =4
        Dann übergebe ich die $a und $b wie gesagt per Url und dann die Abfrage:
        Code:
        if ($a>10) {
        echo "Das ist a";
        } elseif ($b<10) {
        echo "Das ist B";
        Dann wäre praktisch die $a Falsch und die Abrage geht weiter so das die $b richtig ist und ausgegeben wird!!!
        Gehts so?
        Mfg
        BenBay

        Kommentar


        • #5
          Richtig. Du hast aber ein } am Ende der Abfrage vergessen.

          Kommentar


          • #6
            mensch...beachte doch wenigstens die tipps die dir hier gegeben werden.

            man greift auf daten die per GET übergeben werden über das $_GET[] array zu und nicht direkt auf irgendwelche variablen.
            alternativ kann man im moment auch noch, wie in TBT's beispiel, das veraltete $HTTP_GET_VARS[] array verwenden.
            das ist aber nur bei php versionen kleiner als 4.1.0 notwendig. da diese alten versionen aus sicherheitsgründen ohnehin nichts auf einem server zu suchen haben, muss man das aber nicht weiter beachten und kann $_GET verwenden.

            allerdings kann man hier nicht isset() verwenden, falls einer der übergebenen parameter 0 (null) sein kann, denn php wertet 0 als 'false'.
            hier bietet sich die die verwendung von empty() an um das problem zu umgehen.

            PHP-Code:
            if (!empty($_GET['a'])){
               
            // a übergeben
            }
            elseif (!empty(
            $_GET['b'])){
               
            // b übergeben


            // usw 
            martin

            Kommentar


            • #7
              Original geschrieben von martin_de

              allerdings kann man hier nicht isset() verwenden, falls einer der übergebenen parameter 0 (null) sein kann, denn php wertet 0 als 'false'. hier bietet sich die die verwendung von empty() an um das problem zu umgehen.
              Ich muß dich entäuschen , empty funktioniert in dem Falle gerade nicht !
              PHP-Code:
              $a=0;
              echo isset(
              $a)?"a gesetzt\n":"a nicht gesetzt\n";
              echo isset(
              $b)?"b gesetzt\n":"b nicht gesetzt\n";

              echo empty(
              $a)?"a leer\n":"a nicht leer\n";
              echo empty(
              $b)?"b leer\n":"b nicht leer\n"
              gibt zu Protokoll
              Code:
              a gesetzt
              b nicht gesetzt
              a leer
              b leer
              TBT

              Die zwei wichtigsten Regeln für eine berufliche Karriere:
              1. Verrate niemals alles was du weißt!


              PHP 2 AllPatrizier II Browsergame

              Kommentar

              Lädt...
              X