Jojo: IF Request == GET ??? Zulässig

Hallo,

kann es sein das
if ('GET' == $_SERVER['REQUEST_METHOD'])
Bei der folgenden Übertragung ist die erste IF Funktion auch ohne GET übertragung in der URL immer true? Was mache ich falsch?

if ('GET' == $_SERVER['REQUEST_METHOD']) {  
<?php 	  // Erste Sicherheitsschleuse  
    $anbieter = substr(htmlentities($_GET['anbieter'], ENT_QUOTES),0,2);  
    $trackingid = substr(htmlentities($_GET['tracking'], ENT_QUOTES),0,20);  
    // Was passiert wenn nicht beide Werte übergeben werden  
    if (!isset($_GET['anbieter'],$_GET['tracking'])) {  
        die ('Error 1 Benutzen sie nur Formulare von der Homepage.');  
    }  
    // Was passiert wenn die Anbieter ID falsch ist  
  	elseif ( $anbieter >= 130) {  
  	    die ('Error 2 Benutzen sie nur Formulare von der Homepage.');	  
  	}  
  	// Hier fangen wir dann die richtige Zuweisung an  
  	elseif ( $anbieter == 2) {  
...  
		}  
}
  1. Sorry Code war falsch kopiert:

    <?php  
      
    if ('GET' == $_SERVER['REQUEST_METHOD']) {  
    	  // Erste Sicherheitsschleuse  
        $anbieter = substr(htmlentities($_GET['anbieter'], ENT_QUOTES),0,2);  
        $trackingid = substr(htmlentities($_GET['tracking'], ENT_QUOTES),0,20);  
        // Was passiert wenn nicht beide Werte übergeben werden  
        if (!isset($_GET['anbieter'],$_GET['tracking'])) {  
            die ('Error 1 Benutzen sie nur Formulare von der Homepage.');  
        }  
        // Was passiert wenn die Anbieter ID falsch ist  
      	elseif ( $anbieter >= 130) {  
      	    die ('Error 2 Benutzen sie nur Formulare von der Homepage.');	  
      	}  
      	// Hier fangen wir dann die richtige Zuweisung an  
      	elseif ( $anbieter == 2) {  
    ...  
    				header("URL=$url");  
    		}  
    }  
    ?>
    
    1. Hi,

      Bei der folgenden Übertragung ist die erste IF Funktion auch ohne GET übertragung in der URL immer true?

      Ich verstehe nicht, was du wissen willst.
      If ist keine Funktion, sondern eine Kontrollstruktur.

      Was mache ich falsch?

      Das hier auf jeden Fall:

      if (!isset($_GET['anbieter'],$_GET['tracking'])) {
              die ('Error 1 Benutzen sie nur Formulare von der Homepage.');
          }
          // Was passiert wenn die Anbieter ID falsch ist
         elseif ( $anbieter >= 130) {
             die ('Error 2 Benutzen sie nur Formulare von der Homepage.');

      Du willst hier offenbar aus irgendwelchen per GET übergebenen Parametern den Schluss ziehen, dass Formular nicht „von deiner Homepage“ aus abgeschickt wurde. Da HTTP aber ein zustandsloses Protokoll ist, gibt es kein solches „von“.

      MfG ChrisB

      --
      “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  2. Hi,

    Bei der folgenden Übertragung ist die erste IF Funktion auch ohne GET übertragung in der URL immer true?

    Du meinst also, wenn ein POST-Formular abgeschickt wird, ein HEAD-Request erzeugt wird u.ä.? Nein, das kann nicht sein. Überprüfe, ob wirklich ein POST-Formular abgeschickt wird, falls es das ist, womit Du rechnest.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes