Freddy: unexpected T_VARIABLE

Hallo,
ich gucke jetzt schon zwei Stunden über den Code und finde den fehler nicht. Kann mir jemand helfen.
Folgender fehler wird zurückgegeben:
Parse error: syntax error, unexpected T_VARIABLE in /www/htdocs/..../counter.php on line 10

Hier der COde:
<?php
$db_name="bla";
$db_host="localhost";
$db_user="bla";
$db_pass="bla";
$countercurrentonline="cuseronline";
$counterhits="counter";
$counteripblock="counteripblock";
$enablenewcount="1800";
$dropuser="180";
$countflag="time()";
mysql_connect("$db_host", "$db_user", "$db_pass") or die("keine Verbindung zum Server");
mysql_select_db("$db_name") or die ("kann Datenbank nicht oeffnen");
$ipadr=getenv(REMOTE_ADDR);
$client = $HTTP_USER_AGENT;
$host = gethostbyaddr($ipadr);
$dateonly = date("d.m.y",time());
$deleteblockedip=mysql_query("DELETE FROM $counteripblock WHERE del <$countflag - $enablenewcount");
$checkip=mysql_query("SELECT * FROM $counteripblock where ipadr='$ipadr' ");
$resultipcheck=mysql_num_rows($checkip);
if($resultipcheck == "0"){
   $query=mysql_query("INSERT INTO $counterhits (id, ipadr, client, countflag, date) VALUES ('', '$ipadr','$client','$countflag','$dateonly')" );
   $query=mysql_query("INSERT INTO $counteripblock (dates, del, ipadr) VALUES ('$dateonly', '$countflag','$ipadr')" );
 }
$hitquery=mysql_query("SELECT * FROM $counterhits order by id DESC");
$visits=mysql_fetch_array($hitquery);
echo "&nbsp;&nbsp;- gesamt: $visits[id]";
$todayuser =mysql_query("SELECT count(*) as total FROM $counterhits where date='$dateonly'");
$todayuserarray = mysql_fetch_array($todayuser);
echo "&nbsp;&nbsp;- heute: $todayuserarray[total]";
$stamp = mktime(0, 0, 0, date("m"), date("d")-1, date("y"));
$yesterday = date("d.m.y", $stamp);
$todayuseryesterday =mysql_query("SELECT count(*) as total FROM $counterhits where date='$yesterday'");
$todayuseryesterdayarray = mysql_fetch_array($todayuseryesterday);
echo "&nbsp;&nbsp;- gestern: $todayuseryesterdayarray[total]";
$deleteuser= mysql_query( "delete from $countercurrentonline where DATE < $countflag - $dropuser");
$deleteip= mysql_query( "delete from $countercurrentonline where IP ='$ipadr'");
$deleteuser= mysql_query( "delete from $countercurrentonline where IP = '' ");
$insertuser =mysql_query( "INSERT INTO $countercurrentonline VALUES('','$ipadr','$countflag')");
$resultuser = mysql_query( "SELECT Count(*) as total FROM $countercurrentonline");
$numberonline = mysql_fetch_array($resultuser);
echo "&nbsp;&nbsp;- gerade online: $numberonline[total]";
mysql_close();
?>

  1. Hi

    Auf den ersten Blick kann dies ($countflag="time()";) nicht stimmen.
    time() ist eine PHP Funktion und kein Text, daher ohne "".
    Also etwa so:
    countflag=time();

    Das gleiche hier:
    mysql_connect("$db_host", "$db_user", "$db_pass")
    mysql_select_db("$db_name")

    $db_host, $db_user, $db_pass und $db_name sind Variable, darum ohne Anführungszeichen.

    sowie

    getenv(REMOTE_ADDR) müsste getenv("REMOTE_ADDR")
    siehe http://ch2.php.net/getenv

    Überarbeite mal deinen Code, kannst dich gerne wieder melden wenn du weitere Fragen hast...

    gruss

    1. ok, das hab ich so gemacht. Hat aber nix gebracht. Er bringt den selben Fehler.
      Hier nochmal der Code:
      <?php
      $db_name="bla";
      $db_host="localhost";
      $db_user="bla";
      $db_pass="bla";
      $countercurrentonline="cuseronline";
      $counterhits="counter";
      $counteripblock="counteripblock";
      $enablenewcount="1800";
      $dropuser="180";
      $countflag=time();
      mysql_connect($db_host, $db_user, $db_pass) or die("keine Verbindung zum Server");
      mysql_select_db($db_name) or die ("kann Datenbank nicht oeffnen");
      $ipadr=getenv("REMOTE_ADDR");
      $client = $HTTP_USER_AGENT;
      $host = gethostbyaddr($ipadr);
      $dateonly = date("d.m.y",time());
      $deleteblockedip=mysql_query("DELETE FROM $counteripblock WHERE del <$countflag - $enablenewcount");
      $checkip=mysql_query("SELECT * FROM $counteripblock where ipadr='$ipadr' ");
      $resultipcheck=mysql_num_rows($checkip);
      if($resultipcheck == "0"){
         $query=mysql_query("INSERT INTO $counterhits (id, ipadr, client, countflag, date) VALUES ('', '$ipadr','$client','$countflag','$dateonly')" );
         $query=mysql_query("INSERT INTO $counteripblock (dates, del, ipadr) VALUES ('$dateonly', '$countflag','$ipadr')" );
       }
      $hitquery=mysql_query("SELECT * FROM $counterhits order by id DESC");
      $visits=mysql_fetch_array($hitquery);
      echo "&nbsp;&nbsp;- gesamt: $visits[id]";
      $todayuser =mysql_query("SELECT count(*) as total FROM $counterhits where date='$dateonly'");
      $todayuserarray = mysql_fetch_array($todayuser);
      echo "&nbsp;&nbsp;- heute: $todayuserarray[total]";
      $stamp = mktime(0, 0, 0, date("m"), date("d")-1, date("y"));
      $yesterday = date("d.m.y", $stamp);
      $todayuseryesterday =mysql_query("SELECT count(*) as total FROM $counterhits where date='$yesterday'");
      $todayuseryesterdayarray = mysql_fetch_array($todayuseryesterday);
      echo "&nbsp;&nbsp;- gestern: $todayuseryesterdayarray[total]";
      $deleteuser= mysql_query( "delete from $countercurrentonline where DATE < $countflag - $dropuser");
      $deleteip= mysql_query( "delete from $countercurrentonline where IP ='$ipadr'");
      $deleteuser= mysql_query( "delete from $countercurrentonline where IP = '' ");
      $insertuser =mysql_query( "INSERT INTO $countercurrentonline VALUES('','$ipadr','$countflag')");
      $resultuser = mysql_query( "SELECT Count(*) as total FROM $countercurrentonline");
      $numberonline = mysql_fetch_array($resultuser);
      echo "&nbsp;&nbsp;- gerade online: $numberonline[total]";
      mysql_close();
      ?>

  2. gudn tach!

    Folgender fehler wird zurückgegeben:
    Parse error: syntax error, unexpected T_VARIABLE in /www/htdocs/..../counter.php on line 10

    evtl. ein dollar-zeichen vergessen?

    Hier der COde: [...]

    aber sehr wahrscheinlich nicht der inhalt jener counter.php. denn dort ist in zeile 10

    $dropuser="180";

    alles in ordnung.

    prost
    seth

  3. echo $begrüßung;

    ich gucke jetzt schon zwei Stunden über den Code und finde den fehler nicht. Kann mir jemand helfen.

    Wenn du in deinem eigenen Code-Haufen nicht mehr durchsiehst, wäre es vielleicht an der Zeit, ihn übersichtlicher zu schreiben. Einrückungen, Leerzeilen zwischen logisch abgrenzbaren Bereichen und Kommentare tragen zu einer besseren Lesbarkeit und einer einfacheren Fehlersuche bei. Auch kann ein Editor mit Syntax-Hervorhebung sehr dienlich sein.

    Folgender fehler wird zurückgegeben:
    Parse error: syntax error, unexpected T_VARIABLE in /www/htdocs/..../counter.php on line 10

    Oft handelt es sich dabei um Folgefehler. Der Parser stolpert über irgendetwas, strauchelt noch eine Weile vor sich hin, um irgendwann endgültig auf die Nase zu fallen. Suche den Fehler auch vorher. In dem abgebildeten Zeichensalat ist bis Zeile 10 alles in Ordnung. Der Fehler kann auch beim Rauseditieren der Zugangsdaten mit verschwunden sein. Auch beliebt ist, den Code lokal zu ändern, das Ergebnis nicht hochzuladen und online alten Code zu testen.

    echo "$verabschiedung $name";

  4. Ist das wirklich der Code der Seite die ein Fehler erzeugt, dann auf Zeile 10 ist alles i.O.

    Aber guck den Code mal allgemein an, es hat noch viele Fehler...

    z.b.

    $deleteblockedip=mysql_query("DELETE FROM $counteripblock WHERE del <$countflag - $enablenewcount");

    müsste

    $deleteblockedip=mysql_query("DELETE FROM '$counteripblock' WHERE del < '$countflag' - '$enablenewcount'");

    sein.

    Tipp:

    Kopiere dein Code mal zur Sicherung in eine Txt-Datei und danach löscht du alles Zeilen bis auf z.b. die ersten 10. Danach kannst du Schritt für Schritt Zeilen hinzufügen und siehst immer ob es funzt