kostenloser Webspace werbefrei: lima-city


T_CONSTANT_ENCAPSED_STRING

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    darkaurora

    darkaurora hat kostenlosen Webspace.

    Hallo!

    Ich versuche gerade, einen Counter zu erstellen, der ?ber eine Datenbank l?uft. Soweit so deutsch, aber beim Aufrufen kommt nun ein Parse Error, in dem T_CONSTANT_ENCAPSED_STRING vorkommt. Was m?chte mir das jetzt sagen?

    Bye bye DarkAurora
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo dunkle(r) Aurora!

    Wie hei?t die Fehlermeldung genau?

    Parse-Error bedeutet, dass der PHP-Interpreter schon beim ?bersetzen gestolpert ist.


    T_CONSTANT_ENCAPSED_STRING hei?t, dass der Interpreter entweder ein String-Literal erwartet, aber was anderes gefunden hat oder genau umgekehrt (das h?ngt von der genauen Fehlermeldung ab).

    Ein "String-Literal" ist sowas:

    'das ist ein Stringliteral'
    oder sowas
    "das ist auch ein Stringliteral"
  4. Autor dieses Themas

    darkaurora

    darkaurora hat kostenlosen Webspace.

    Die genaue Fehlermeldung lautet:

    Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/webpages/lima-city/darkaurora/html/darkwarrior/index.php on line 38
  5. Dann erwartet der PHP-Interpreter an dieser Stelle in Zeile 38 etwas anderes als ein String-Literal. M?glicherweise hast du eine Klammer oder ein Komma oder ein Semikolon davor vergessen. Wenn du den Fehler nicht findest kannst du ja mal die betreffende Zeile hier posten -- und die Zeile davor und die danach auch.
  6. Autor dieses Themas

    darkaurora

    darkaurora hat kostenlosen Webspace.

    Also in dieser besagten Zeile ist nur das Zeichen, das eine if-Schleife beendet. Deshalb poste ich einfach mal die gesamte if-Schleife:

    if($zeilen==0)
    {
    	mysql_query("INSERT INTO counter (ip, date, time) VALUES ('".getenv (REMOTE_ADDR)."', '".$today."', 		'".time()."')"); 
    }
  7. Irgendwas stimmt mit deinem Query-String nicht. Aber der einzige Fehler, den ich in dem kurzen Code-St?ck bemerkt habe, war der bei getenv(). REMOTE_ADDR muss in Hochkommata eingeschlossen werden:

    if($zeilen==0)
    {
    	mysql_query(
        "INSERT INTO counter (ip, date, time) VALUES ('".
        getenv('REMOTE_ADDR').
        "', '".
        $today.
        "', 		'".
        time().
        "')"
      );
    }

  8. Autor dieses Themas

    darkaurora

    darkaurora hat kostenlosen Webspace.

    Hm ... daran scheint es nicht wirklich zu liegen. Ich habe es ge?ndert, doch der Fehler bleibt noch immer der selbe ...

    Kann der Fehler vielleicht noch weiter oben liegen? Zwischen dem Datenbank-Connect und dieser if-Schleife stehen noch sechs weitere Zeilen, wobei ich denke, dass es in vier Zeilen nicht liegen kann, weil diese mit der if-Schleife nichts zu tun haben. Blieben noch die anderen zwei Zeilen:

    $pruefe_ip = mysql_query("SELECT ip FROM counter WHERE ip='".getenv('REMOTE_ADDR')."'");
    $zeilen = mysql_num_rows($pruefe_ip);
  9. Wenn ein Fehler mokiert wird, kann es durchaus vorkommen, dass die Ursache eine oder mehrere Zeilen davor liegt. Dahinter ist mir noch nicht vorgekommen.

    F?rbt dein Editor den PHP-Code bunt ein? (Syntax-Highlighting)

    Wenn nicht, kannst du das einschalten? Dann sieht man normalerweise sofort, wo ein Fehler wie dieser ist.
  10. Autor dieses Themas

    darkaurora

    darkaurora hat kostenlosen Webspace.

    Nein, ich kann den Text nicht einf?rben, nutze den einfachen Windows-Editor ...
  11. Dann leg dir mal nen vern?nftigen FreeWare-Editor zu:

    http://www.pspad.com/de/download.php

    Ansonsten: Mehr Qu?lcode bitte ... (Also die Zeilen davor ...)
  12. Autor dieses Themas

    darkaurora

    darkaurora hat kostenlosen Webspace.

    Okay, dann poste ich hier einfach mal den gesamten Code (ist zum Gl?ck ja nicht sooo viel):

    $today = date("Y-m-d");
    	$yesterday = date('Y-m-d',strtotime("-1 day"));
    	$this_month = date("m");
    	$this_year = date("Y");
    	$pruefe_ip = mysql_query("SELECT ip FROM counter WHERE ip='".getenv('REMOTE_ADDR')."'");
    	$zeilen = mysql_num_rows($pruefe_ip); 
    	if($zeilen==0)
    	{
    		mysql_query("INSERT INTO counter (ip, date, time) VALUES ('".getenv('REMOTE_ADDR')."', '".$today."', 		
    
    		'".time()."')"); 
    	}
    	$hole_daten_jetzt = mysql_query("SELECT time FROM counter WHERE time>'".(time()-300."'");
    	$zaehle_jetzt = mysql_num_rows($hole_daten_jetzt);
    	$hole_daten_heute_online = mysql_query("SELECT date FROM counter WHERE date = '".$today."'");
    	$zaehle_heute = mysql_num_rows($hole_daten_heute_online);
    	$hole_daten_gestern_online = mysql_query("SELCET date FROM counter WHERE date = '".$yesterday."');
    	$zaehle_gestern = mysql_num_rows($hole_daten_gestern_online);
    	$hole_daten_diesen_monat_online = mysql_query("SELECT date FROM counter WHERE date LIKE 		
    
    '".$this_year."-".$this_month."%'");
    	$zaehle_diesen_monat = mysql_num_rows($hole_daten_diesen_monat_online);
    	$hole_daten_insgesamt_online = mysql_query("SELECT date FROM counter");
    	$zaehle_insgesamt = mysql_num_rows($hole_daten_insgesamt_online);
  13. Gro?es Problem: Bei mir kommt keine Fehlermeldung -- zumindest kein "Parsing error". Jetzt bin ich auch erstmal ratlos ...

    Was mir noch aufgefallen ist:


    $hole_daten_gestern_online = mysql_query("SELCET date FROM counter WHERE date = '".$yesterday."');


    Das sollte sicher "SELECT" hei?en und nicht "SELCET" -- aber das st?rt erst, wenn PHP das Script ohne Fehlermeldungen ?bersetzt hat ...
  14. Autor dieses Themas

    darkaurora

    darkaurora hat kostenlosen Webspace.

    Hm, das ist ja merkw?rdig ... naja, ich probier dann mal eben was anderes. Vielleicht geht es dann ... melde mich per EDIT gleich nochmal.
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!