Maeggi07: $_GET & $_POST Problem

Hallo zusammen,

ich habe ein Script geschrieben (Spielersuche von BF2).
Jetzt möchte ich gerne einen Klickzähler einbinden, wie oft auf den Button "Go" geklickt wurde.
Jedoch funktioniert es nicht so wie ich es gerne möchte.
Folgendes Problem:

Bei $_GET funktioniert die Suche, aber nicht der Zähler.
Bei $_POST funktioniert der Zähler, aber nicht die Suche.

Hier mal der Wichtige Teil aus der Datei.
Ich habe nur diesen Teil gepostet, da es sonst zuviele Zeilen sind :D

KLICK MICH

Und hier die Spielersuche

Spielersuche

Ihr könnt folgenden Namen suchen "Blackwane".

Was mache ich jetzt falsch?

Vielen Dank für eure Hilfe

mfg Maeggi

  1. Hallo,

    ich habe ein Script geschrieben (Spielersuche von BF2)

    was immer auch BF2 sein mag.

    Was mache ich jetzt falsch?

    Du beschreibst dein Problem nicht gut genug, dass es auch ein Außenstehender verstehen kann.

    Ciao,
     Martin

    --
    Keine Sorge, wir finden für jede Lösung ein Problem.
    1. Hallo Martin

      was immer auch BF2 sein mag.

      BF2 ist ein Online Shooter Game.

      Du beschreibst dein Problem nicht gut genug, dass es auch ein Außenstehender verstehen kann.

      Ok, ich versuche es nochmal besser.

      Mein Problem ist das der Counter bei $_GET garnicht funktioniert. Und bei $_POST funktioniert der Counter, aber er leitet mich nicht auf die Seite weiter. Sondern bleibt bei der Suche.

      Wenn du mal den Namen "Blackwane" bei der Suche eingibst, dann siehst du das der Counter nicht hochzählt.

      Ich bekomme keine Fehlermeldung oder sonstiges.
      Darum weiß ich nicht genau, wie ich das besser erklären könnte.

      Ich habe das Formular und frage den "Go" Button ab.

      <input name="submit" type="submit" id="go" value="Go">

      Damit frage ich ab:

              if (isset($_GET['submit'])) {  
                  $fp = fopen ( 'counter.txt', 'r+' ) ;  
                  $icount = fgets ($fp, 10);  
        
                  if ($icount == "") {  
                      $icount = 0;  
                  }  
        
                  else if ($icount >= "0") {  
                      $icount++;  
                  }  
        
                  rewind($fp);  
                  fwrite($fp, $icount);  
                  fclose($fp);  
              } 
      

      Jedoch Zählt der Counter dann nicht hoch. Wenn ich im Formular jetzt das $_GET gegen ein $_POST austausche und bei method="get" das get gegen ein post austausche. Funktioniert der Counter, aber er leitet mich nicht auf die Statistik weiter.

      Ich hoffe ihr versteht was ich meine.

      Vielen Dank

      mfg Maeggi

      1. Hi,
        geht er denn überhaupt in diesen Zweig?
        Setze doch einmal ein die() in die IF-Abfrage und schau ob und wann er Dir was ausgibt.

        if (isset($_GET['submit'])) {

        $fp = fopen ( 'counter.txt', 'r+' ) ;
                    $icount = fgets ($fp, 10);

        if ($icount == "") {
                        $icount = 0;
                    }

        else if ($icount >= "0") {
                        $icount++;
                    }

        rewind($fp);
                    fwrite($fp, $icount);
                    fclose($fp);
                }

        
        >   
        
        Ich weiss nicht ob es an mir liegt, aber von einer Weiterleitung kann ich in deinem Script nichts erkennen  
          
        Gruß  
        Dynamite
        
        1. Setze doch einmal ein die() in die IF-Abfrage und schau ob und wann er Dir was ausgibt.

          schlaue Idee - ein "die()" bricht das Script an genau dieser Stelle ab, ohne irgendwas auszugeben ;)

          Wie wärs mit Debugausgaben?

          1. 'ǝɯɐu$ ıɥ

            Setze doch einmal ein die() in die IF-Abfrage und schau ob und wann er Dir was ausgibt.

            schlaue Idee - ein "die()" bricht das Script an genau dieser Stelle ab, ohne irgendwas auszugeben ;)

            Wie wärs mit Debugausgaben?

            die ('ich bin tot, gestorben in dieser wunderprächtigen IF-abfrage');

            SCNR

            ssnɹƃ
            ʍopɐɥs

            --
            Answers: $1, Short: $5, Correct: $25, dumb looks are still free ...
          2. Setze doch einmal ein die() in die IF-Abfrage und schau ob und wann er Dir was ausgibt.

            schlaue Idee - ein "die()" bricht das Script an genau dieser Stelle ab, ohne irgendwas auszugeben ;)

            Wie wärs mit Debugausgaben?

            Sorry, war natürlich doof von mir beschrieben. Im Prinzip wollte ich nur sagen, das man überprüfen sollte, ob er überhaupt ind den Zweig springt.

            Gruß
            Dynamite

            1. Hallo,

              sry, das ich mich erst jetzt melde. Habe diese Woche Spätschicht und habe wenig zeit gehabt.

              Also ich habe volgendes herraus gefunden. Das Script funktioniert, jedoch nur teilweise. Wenn ich was in der Suche eingebe, zählt der Counter nicht Hoch.
              Wenn ich das Feld leer lasse und auf "Go" Klicke zählt er hoch.

              Beim Debuggen, komme ich nicht viel weiter. Die Variable wird nur übergeben, wenn das Such Feld "Leer" ist.

              Hat vieleicht noch jemand eine Idee?

              Vielen Dank euch allen.

              mfg Maeggi

              1. Beim Debuggen, komme ich nicht viel weiter. Die Variable wird nur übergeben, wenn das Such Feld "Leer" ist.

                Hi,
                gib doch mal bitte den gesamten Queltext der verarbeitenden Datei.Vielleicht kommen wir dem Problem dann näher.

                Mal so ne Frage nebenbei,
                was hat dieser Codeschnipsel im Formular zu sagen:

                  <script>  
                function machwas() {  
                  
                            if ($icount == "") {  
                                $icount = 0;  
                            }  
                  
                            else if ($icount >= "0") {  
                                $icount++;  
                            }  
                  
                }  
                </script>  
                
                

                Gruß
                Dynamite

      2. Hello Maeggi07,

        Dein Counter hat sowieso eine Macke...
        Lies bitte http://aktuell.de.selfhtml.org/artikel/programmiertechnik/dateisperren/

        if (isset($_POST['submit']))
          {
             $fp = fopen ( 'counter.txt', 'r+' ) ;
             if ($fp and flock($fp, LOCK_EX)
             {
                $icount = fgets ($fp, 10);
                $icount = intval($icount);
                $icount++;
                rewind($fp);
                fwrite($fp, $icount);
                fclose($fp);

        header('Location: http://example.org');
             }

          
          
          
          
          
        Liebe Grüße aus dem schönen Oberharz  
          
          
        Tom vom Berg  
        ![](http://selfhtml.bitworks.de/Virencheck.gif)  
          
        
        -- 
         ☻\_  
        /▌  
        / \ Nur selber lernen macht schlau  
        <http://bergpost.annerschbarrich.de>