Votingsperre mit Cookie klappt nicht!

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

  • Votingsperre mit Cookie klappt nicht!

    Hallo Forum!

    Ich schreibe mir grad eine kleines Voting für mein Download Script. Die User soll nicht x-beliebig voten dürfen und deshalb setze ich ein Cookie wenn sie den Vote Button klicken.

    So sieht das Cookie aus wenn zwei verschiedene Files bewertet wurden!

    rothe
    rothe
    localhost/littis-web/download/
    1024
    2994998912
    29933953
    2377461312
    29933928
    *
    wichtige-links
    wichtige-links
    localhost/littis-web/download/
    1024
    3504998912
    29933953
    2888081312
    29933928
    *

    Mit diesem Namen wird das Cookie gespeichert
    daniel@download[2].txt

    Nun will ich es erreichen das wenn das Coockie mit dem Filename den das bewertete File auftritt das dann ein Voting nicht mehr möglich ist.
    Nur leider funktioniert das nicht!

    Es kommt auch keine Fehlermeldung,ich habe error_reporting(E_ALL); in der config.php Datei stehen die ich immer am Anfang eines php Documentes einbinde!

    So sieht der Prüfungscode aus!

    PHP-Code:
    <?php
    if(isset($_COOKIE['filename']) == $row['file_name'])
    {
        echo 
    "schon gevotet";
    }
    else
    {
    echo 
    "<input type=\"hidden\" name=\"filename\" value=\"".$row['file_name']."\">";
    echo 
    "<input type=\"hidden\" name=\"id\" value=\"".$row['id']."\">";
    echo 
    "<input type=\"hidden\" name=\"zahl1\" value=\"".$row['voting']."\">";
    echo 
    "<input type=\"hidden\" name=\"zahl3\" value=\"".$row['voter']."\">";
    echo 
    "<select name=\"zahl2\" class=\"textfeld\">";
        echo 
    "<option>Download bewerten</option>";
        echo 
    "<option value=\"1\">1</option>";
        echo 
    "<option value=\"2\">2</option>";
        echo 
    "<option value=\"3\">3</option>";
        echo 
    "<option value=\"4\">4</option>";
        echo 
    "<option value=\"5\">5</option>";
        echo 
    "<option value=\"6\">6</option>";
        echo 
    "<option value=\"7\">7</option>";
        echo 
    "<option value=\"8\">8</option>";
        echo 
    "<option value=\"9\">9</option>";
        echo 
    "<option value=\"10\">10</option>";
    echo 
    "</select>";
    echo 
    " <input type=\"submit\" name=\"votesend\" value=\"Vote\" class=\"buttons\">";
    }
    ?>
    Das soll bedeuten ist das Cookie Name gleich dem zu bewerteten File dann kommt das echo im if zweig,ansonsten soll das Voting Formular erscheinen!

    Kann mir einer helfen und dsagen was ich da falsch mache?

    Dankeschön mfg der Litter
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    http://www.lit-web.de

  • #2
    Hast du dir wenigstens mal den Inhalt der entsprechenden Variablen ausgegeben? Da hättest du wenigstens einen Anhaltspunkt.
    Dir ist aber auch klar, dass diese System durch einfaches Löschen der Cookies zu überrumpeln ist.
    Und du versuchst die schon gespeicherten Voten anzuzeigen, obwohl du ja genau verhindern willst ein zweites mal abzustimmen.
    Ausserdem hasse ich unnötige escapte Anführungszeichen, aber das ist mein Problem.
    Gruss
    H2O

    Kommentar


    • #3
      $_COOKIE enthält?



      OffTopic:
      Ja, ich glaube auch nicht, dass du es nochmal schaffen wirst, selbstständig zu debuggen...

      Kommentar


      • #4
        Also ich lasse mir das so ausgeben!

        print_r($_COOKIE);

        Und dsteht dann dieses hier bei der Ausgabe

        Array ( [rothe] => rothe [wichtige-links] => wichtige-links [PHPSESSID] => fb793a03797dde2c8236fdc9f2085f87 )

        Also steht ja was drin!

        Da das ja ein Array ist,muss ich da mit in_array prüfen was drin steht und dann darauf den if Zweig schreiben drin steht wenn ein Inhalt des cookies mit einem datensatz übereinstimmt das dann kein voting möglich ist?

        mfg der Litter
        Zuletzt geändert von litterauspirna; 29.05.2008, 12:44.
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        http://www.lit-web.de

        Kommentar


        • #5
          Original geschrieben von litterauspirna
          Und dsteht dann dieses hier bei der Ausgabe

          Array ( [rothe] => rothe [wichtige-links] => wichtige-links [PHPSESSID] => fb793a03797dde2c8236fdc9f2085f87 )

          Also steht ja was drin!
          Aber kein "filename" Wenn du den nicht speicherst, kannst du den auch nicht abfragen!

          Da das ja ein Array ist,muss ich da mit in_array prüfen was drin steht und dann darauf den if Zweig schreiben drin steht wenn ein Inhalt des cookies mit einem datensatz übereinstimmt das dann kein voting möglich ist?
          in_array

          Kommentar


          • #6
            Der filename steht in dem Cookie mit drin und heist zum beispiel rothe oder wichtige links.

            Das sind die filenamen!
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            http://www.lit-web.de

            Kommentar


            • #7
              Aso, das sollen die Dateinamen sein.

              Na, Wenn $_COOKIE nur "Dateinamen" enthält, dann nimmst du bei der aktuellen struktur ruhig ein isset(). Sollte schneller sein, als in_array() (Vermutung).

              Ansonsten solltest du ein $_COOKIE['filenames']-Array erstellen.

              Kommentar


              • #8
                Original geschrieben von litterauspirna
                Der filename steht in dem Cookie mit drin und heist zum beispiel rothe oder wichtige links.

                Das sind die filenamen!
                Aber nicht wenn du $_COOKIE['filename'] abfrägst! Möglicherweise $_COOKIE[$filename], aber das musst du selber beantworten.
                Gruss
                H2O

                Kommentar


                • #9
                  Habe es jetzt hin bekommen und so gemacht!

                  PHP-Code:
                  if(isset($_COOKIE[$row['file_name']]))
                  {
                      echo 
                  "schon gevotet";
                  }
                  else
                  {
                         
                  //hier kommt das vote formular 

                  Nur habe ich noch ein kleines Problem.

                  Habe ich ein file was so im namen aufgebaut ist

                  das+ist+einfile

                  Dann wird das so in die txt Datei des Cookies rein geschrieben
                  just+another+browsergame
                  just%2Banother%2Bbrowsergame
                  localhost/littis-web/download/
                  1024
                  435914624
                  29933981
                  4112094320
                  29933955
                  *

                  und dann passt da die Abfrage nicht mehr!
                  Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                  http://www.lit-web.de

                  Kommentar


                  • #10
                    urldecode()
                    Gruss
                    H2O

                    Kommentar


                    • #11
                      Noch ne kleine Frage!

                      Das hier ist die Textdatei wo die Cookiewerte gespeichert werden!
                      daniel@download[2].txt

                      Wie komme ich denn mit PHP an solch eine Datei ran? Also ich will mir den Dateinamen der Textdatei ausgeben lassen!
                      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                      http://www.lit-web.de

                      Kommentar


                      • #12
                        Wie komme ich denn mit PHP an solch eine Datei ran? Also ich will mir den Dateinamen der Textdatei ausgeben lassen!
                        Du weisst schon wo das Cookie gespeichert ist und wo PHP läuft? Wenn nein dann such nach einer Möglichkeit mit PHP auf den Client zuzugreifen. Du wirst keine finden...
                        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


                        • #13
                          Stimmt das ahbe ich nicht bedacht. Und Javascript wäre auch nicht das wahre denn wenns einer abgeschalten hat bringt das ja auch nicht wirklich viel!

                          Ich hatte nach einer Möglichkeit gesucht eine dauerhafte Voting Sperre zu realisieren wo Gäste die registriert sind nicht voten können wie se bock haben,aber scheint es wohl keine zu geben!
                          Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                          http://www.lit-web.de

                          Kommentar


                          • #14
                            doch mit einer Datenbank, die du ja wahrscheinlich schon benutzt, du speicherst einfach die UserId beim voten mit ab und wenn zu einem File schon ein Vote von einem user vorhanden ist, kann er halt nicht voten... wieso man da nicht drauf kommt

                            Kommentar


                            • #15
                              Da hast du recht und be usern die registriert sind ist das ja kein thema!

                              Ich bezog das aber hauptsächlich auf Gäste dir nicht registriert sind!

                              Sorry habe ich vergessen zu schreiben!
                              Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                              http://www.lit-web.de

                              Kommentar

                              Lädt...
                              X