PHP: Cookies


(Read 395 times - 0 Members and 1 Guest are viewing this topic.)
 Reply Send this topic Print Anmelden / Register

Webmaster-Fragen » PHP: Cookies

Pages: [1]

terminated Offline
Jr. Member (86)
**

PHP: Cookies

« on: 15.04.07, 14:15:45 »


Hi,
Ich will nen Voting für nen Game erstellen... klappt auch mittlerweile alles... bis auf die IP sperre...
Aber woran liegt das?
Quote
<h2>Rating:</h2>
1 = Sehr schlecht / 10 = Sehr gut<br>
<form name="Rating" action="Diablo2lod.php">
<input type="radio" name="Wert" value="1">1
<input type="radio" name="Wert" value="2">2
<input type="radio" name="Wert" value="3">3
<input type="radio" name="Wert" value="4">4
<input type="radio" name="Wert" value="5">5
<input type="radio" name="Wert" value="6">6
<input type="radio" name="Wert" value="7">7
<input type="radio" name="Wert" value="8">8
<input type="radio" name="Wert" value="9">9
<input type="radio" name="Wert" value="10">10<br>
<br>
<input type="submit" name="Abstimmen" value="Abstimmen">
</form>
<?php
$Diab2Rate = "Diab2Rate.csv";
$Rate = array();
$y = 0;
if($_REQUEST['Abstimmen'])
{
  print_r($_COOKIE);
  if(isset($diablo2lod))
  {
    if(empty($_REQUEST['Wert'])) echo "Bitte alle Felder ausf&uuml;llen!<br>";
    else
    {
      $fp = fopen($Diab2Rate,"a");
      flock($fp,2);
      fputs($fp,$_REQUEST['Wert']."#");
      flock($fp,3);
      fclose($fp);
      header('Location: Diablo2lod.php');
      $ip = getenv ("REMOTE_ADDR");
      setcookie ("diablo2lod",$ip,time()+86400);
    }
  }
  else echo "Huilentz";
}
else echo $_REQUEST['Wert'];

if(file_exists($Diab2Rate)) {
  $fp = fopen($Diab2Rate,"r");
  while($Zeile = fgetcsv($fp,500,"#")) {
    array_push($Rate,$Zeile);
  }
  $Diff1 = count($Rate[0]);
  $Diff = $Diff1-1;
  $RateS = array_sum($Rate[0]);
  $Rating = $RateS/$Diff*10;
  echo "Rating: ".round($Rating,0)."% bei $Diff Stimme(n).";
  fclose($fp);
}
else echo "<span class=comment>Noch nicht Abgestimmt.</span>";
?>

Vielen dank schonmal...

Gruß Marcel

PS: Die seite wird direkt angesprochen... also nicht über ne Subdomain... (hatte das nämlich auch mal)
« Last Edit: 15.04.07, 14:31:31 by terminated » Report to moderator   Logged


JoSsiF Offline JoSsiFs PC
Special-Member (8.658)
*****

Re: PHP: Cookies

« Reply #1 on: 15.04.07, 14:49:25 »


... klappt auch mittlerweile alles... bis auf die IP sperre...

Könnte man das auch so formulieren, dass man sich das aktuelle Verhalten des Skripts nicht erst selber erdenken muss? "Klappt nicht" ist keine Problembeschreibung.

Im Skript an sich fallen ein paar Dinge auf, die schonmal nicht funktionieren können. Wo wird denn jemals die Variable $diablo2lod gesetzt? Denn diese steht ja als Bedingung in der if-Klausel, wird aber nirgends initialisiert, somit ergibt isset($diablo2lod) logischerweise immer false. Einer von vielen Nebeneffekten ist, dass dein Cookie praktisch nie gesetzt wird.

Auch scheint dir fremd zu sein, dass alle Anweisungen nach einem header()-Redirect ignoriert werden (Terminierung mit exit; fehlt obendrein). Wenn vor einer header()-Anweisung Ausgaben gemacht werden, müsste es auch Fehlermeldungen hageln (sofern nicht durch zu tolerantes error_reporting verhindert).

Da gibt's also noch einiges für dich zu tun Smiley

greez Cool
JoSsiF
Report to moderator   Logged


terminated Offline
Jr. Member (86)
**

Re: PHP: Cookies

« Reply #2 on: 15.04.07, 15:01:39 »


emm, hört sich alles noch kompliziert an, aber ich les mir das noch ca. 537 mal durch, dann werds auch ich raffen...
Danke für den Tipp mit header... klar eigentlich, aber man muss dabeí eben denken.. und das scheint bei mir ne Schwäche.

Also... vielen dank!!!

Gruß
Report to moderator   Logged


terminated Offline
Jr. Member (86)
**

Re: PHP: Cookies

« Reply #3 on: 15.04.07, 21:34:01 »


Emm ja, hab ne Lösung gefunden...
Wie gesagt, das mit header war dann klar... das Cookie war gesetzt und ich hab die Abfrage
If $_REQUEST <-- auf den Submitbutton gelegt und nicht auf das Formular...
Naja... Anfängerfehler...
 
Report to moderator   Logged


JoSsiF Offline JoSsiFs PC
Special-Member (8.658)
*****

Re: PHP: Cookies

« Reply #4 on: 16.04.07, 11:35:41 »


und ich hab die Abfrage
If $_REQUEST <-- auf den Submitbutton gelegt und nicht auf das Formular...

*nixversteh*

Aber wenn's funktioniert... Wink
Report to moderator   Logged

Pages: [1]  Reply Send this topic Print Anmelden / Register 



Ähnliche Themen:
Mai-Patchday: Microsoft will 4 Lücken schließen
Win XP: cookies
Win XP: Cookies
cookies
Cookies bei E-Bay
Cookies

add bookmark Bookmark:
Jump to:  
Webmaster-Forum am 15.04.2007 | | Mobile Version (Handy, PDA)




Computerhilfen.com | Powered by SMF 2.5.1.
© 2001-2009, Lewis Media. All Rights Reserved.