2010-12-29 6 views
2

Kann jemand sehen, was mit diesem Code falsch ist, sind alle Dateiberechtigungen korrekt, aber wenn es ausgeführt wird, bekomme ich nur einen leeren Bildschirm ohne Fehler überhaupt. Arbeitet, bevor ich das Kommentarfeld und den Code hinzugefügt habe, um die Daten aus dem Kommentar zu speichern, aber ich kann nichts falsch daran finden?PHP-Code Probleme

Hintergrund: QR-Codes mit einer darin gespeicherten http-Adresse wie (domain.com?t=Q8YH) gehen auf diese Website mit dem PHP-Code, um zu verfolgen und zu zählen, wie oft sie verfolgt wurden.

<?php 

error_reporting(E_ALL); 
ini_set('display_errors', true); 

$tag = $_GET["t"]; 

$file = "tags/" . $tag . ".txt"; 

if (file_exists($file)) { 

    echo "<p>You found tag: <b>" . $tag . "</b></p>"; 

    $f1 = fopen($file, 'r'); 
    $number = fread($f1, 10); 
    fclose($f1); 

     if (isset($_COOKIE[$tag])) { 

     } else { 

      $f2 = fopen($file, 'w') or die("ERROR: Can't open file"); 
      $newnumber = $number + 1; 
      fwrite($f2, $newnumber); 
      fclose($f2); 
      setcookie($tag, "TAG", time()+3); 

      $logfile = "tags/logs/" . date("Y.m.d"); 
      $time = time(); 
      $f3 = fopen($logfile, 'w') or die("ERROR: Can't open file"); 
      fwrite($f3, "\nTag: " . $tag . " Time: " . $time); 
      fclose($f3); 

     } 

    echo "<p>This TAG has been found <b>" . $number . "</b> times before you.</p>"; 

     if ($number == 0) { 
      echo "<p>You are the first to find this TAG!</p>"; 

       if(!$_POST) { 
       echo "no post"; 
       } else { 

        $comment = $_POST["comment"]; 

        $commentfile = "tags/comments/" . $tag . ".txt"; 
        $f4 = fopen($commentfile, 'w') or die("ERROR: Can't open file"); 
        fwrite($f4, $comment . "\n\n\n\n"); 
        fclose($f4); 

        echo "<br><br>First to find comment"; 
        echo "<br><form action="index.php" method="post">Comment:<textarea type="text" name="comment" lenght="50" ROWS="10" COLS="50"></TEXTAREA><br><input type="submit" /></form>"; 

       } 

     } else { 

      $filecomment = "tags/comments/" . $tag . ".txt"; 

       if (file_exists($filecomment)) { 

        $f5 = fopen($filecomment, 'r'); 
        $commentread = fread($f5, 10); 
        fclose($f5); 

        echo "<br><br>"; 
        echo "First to Tag comment: " . $commentread; 
     } 

} 

} 

?> 
+1

if (file_exists ($ file)) in einem Beitrag in Bezug auf Syntax beschmutzen {<- wenn die Datei nicht existiert, eine leere Seite angezeigt bekommen. – DampeS8N

+0

Es gibt keine Fehlerbehandlung, falls 'file_exists() '' 'false' zurückgibt. Könnte das der Grund für Ihren "leeren Bildschirm" sein? –

Antwort

5
echo "<br><form action="index.php" 

Sie verwenden doppelte Anführungszeichen innerhalb von doppelten Anführungszeichen.

Sie können es sogar Färbung

+0

Danke, habe das nicht bemerkt! – LuminousFlux