php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.01.2005, 19:48  
Gast
 
Beiträge: n/a
Standard letztes problem mit meinem Gästebuch

Hallo,

einmal müsst ihr mir noch mit meinem GB helfen...

Also:

das ist die Datei "eintrag.php":
PHP-Code:
<?php 
error_reporting
E_ALL ); 
//Gaestebuch.php 
$nachname=strip_tags($_POST['nachname']); 
$kommentar=htmlentities($_POST['kommentar'], ENT_QUOTES); 

//Jetzt Datum und Uhrzeit generieren: 
$datum=date("d.m.Y"); 
$zeit=date("G:i:s"); 




//Wenn bei der Web-Adresse kein http:// geschrieben wurde, dieses dazu schreiben 
if ($hp!="") { 
if (
substr($hp,0,7)!="http://";) { 
$hp2="http://".$hp
} else { 
$hp2=$hp




//Jetzt neuen Kommentar erzeugen 
$eintrag="\n"
$eintrag.="

<div style=\"font-family:arial; 
font-size:10pt\">[b]Name:[/b]"

$eintrag.=$nachname
$eintrag.="schrieb am"
$eintrag.=$datum
$eintrag.=" um "
$eintrag.=$zeit
$eintrag.=":"


$eintrag.="
$eintrag.="
[/b] <a href='mailto:"; 
$eintrag.=$mail; 
$eintrag.="'
>"; 
$eintrag.="
[img]mail.gif[/img]"; 
$eintrag.="
n</a><a href='$hp2'>[img]hp.gif[/img]"; 
$eintrag.="
</a>"; 

if ($icq!=""){ 
//Wenn $icq nicht leer ist, anzeigen 
$eintrag.="
<img src='http://web.icq.com/whitepages/online?icq=";; 
$eintrag.=$icq; 
$eintrag.="&img=5'
>"; 

$eintrag.="
n[b]Kommentar: [/b]"; 
$eintrag.=$kommentar; 
$eintrag.="
</div></p>

n"; 


//Wenn kein Nachname angegeben wurde, Fehlermeldung ausgeben 
if($nachname==""){ 
echo "
Bitte gib deinen Namen ein"; 
} else { 


// zum testen den string ausgeben 
echo $eintrag; 

//Jetzt Gästebuch-Datei laden... 
if(file_exists("
Gaestebuch.php")) 


$datei=fopen("
Gaestebuch.php","r"); 
if($datei) 

$dateigroesse=filesize("
Gaestebuch.php"); 
$inhalt=fread($datei,$dateigroesse); 
fclose($datei); 

//Jetzt den neuen Eintrag einfügen 
$ersetzen=str_replace("", $eintrag, $inhalt); 
} else { 
echo "
Konnte Datei nicht öffnen"; 

} else { 
echo "
Datei existiert nicht!"; 


//Jetzt aktualisiertes Gästebuch schreiben: 
if(file_exists("
Gaestebuch.php")) 

$datei=fopen("
Gaestebuch.php","w"); 
if($datei) 

$output=fwrite($datei,$ersetzen); 
fclose($datei); 
print("
Vielen Dank für deinen Eintrag in mein Gästebuch. [url='Gaestebuch.php']Hier[/urlgehts weiter zum Gästebuch"); 
} else { 
echo "
Datei konnte nicht aktualisiert werden"; 

} else { 
echo "
Datei existiert nicht!"; 


//Ende von Namens-Prüfung 
?>



Leider kommt bei einem Eintrag immer diese Fehlermeldung:

Parse error: parse error, unexpected '/' in /www/htdocs/v126163/gb/Eintrag.php on line 37



hier könnt ihr selber nachschauen: http://www.otaria.de/gb/Gaestebuch.php

Woran liegt das?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.01.2005, 19:50  
Gast
 
Beiträge: n/a
Standard

Alleine das Syntaxhighlighting des Forums verrät dir den Fehler. Achte auf den roten Text.

Gruß
phpfan
 
Alt 08.01.2005, 19:51  
Gast
 
Beiträge: n/a
Standard

Dir müsste das schon aufgefallen sein, weils falsch gehighlighted wird. Hast du etwa keinen Editor mit Syntaxhighlighting?

$eintrag.="&amp;nbsp;&amp;nbsp;
Da fehlt ein "; am Ende der Zeile. Außerdem sollte es warscheinlich heißen.
 
Alt 08.01.2005, 19:52  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von maxi
Außerdem sollte es warscheinlich heißen.
Das ist ein Fehler vom Forum. Im PHP-Code wird aus & einfach mal ein &amp; gemacht. Soll demnächst korrigiert werden.
Gruß
phpfan
 
Alt 08.01.2005, 19:56  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
$eintrag.="&amp;nbsp;&amp;nbsp;
$eintrag.="
[/b] <a href=mailto:"; 
in der ersten Zeile (oben, bei dir Übergang von roter Farbe) fehlt ein schliessendes Anführungszeichen.

PS: korrekter HTML von einem "non breakable space" kurz nbsp ist und nicht nbsp;

------------------edit------------------------
zu spät aktualisiert, gar nicht gesehen das diese Antworten schon gegeben worden sind
 
Alt 08.01.2005, 19:58  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von phpfan
Zitat:
Zitat von maxi
Außerdem sollte es warscheinlich heißen.
Das ist ein Fehler vom Forum. Im PHP-Code wird aus & einfach mal ein &amp; gemacht. Soll demnächst korrigiert werden.
Gruß
phpfan
Stimmt, erklärt einiges. Sieht nur in diesem Zusammenhang sehr doof aus.
 
Alt 08.01.2005, 20:01  
Gast
 
Beiträge: n/a
Standard

ihr seit die besten!!! Da stellt man was rein und 3 minuten später hat man die Lösung!!

JA, es geht: http://www.otaria.de/gb/Gaestebuch.php
 
Alt 08.01.2005, 20:16  
Gast
 
Beiträge: n/a
Standard

Leider noch ein Fehler. Der Code sieht jetzt so aus:

PHP-Code:
  <?php
  error_reporting
E_ALL );
  
//Gaestebuch.php
  
$nachname=strip_tags($_POST['nachname']);
  
$kommentar=htmlentities($_POST['kommentar'], ENT_QUOTES);

  
//Jetzt Datum und Uhrzeit generieren:
  
$datum=date("d.m.Y");
  
$zeit=date("G:i:s");




  
//Wenn bei der Web-Adresse kein http:// geschrieben wurde, dieses dazu schreiben
  
if ($hp!="") {
    if (
substr($hp,0,7)!="http://") {
      
$hp2="http://".$hp;
    } else {
      
$hp2=$hp;
    }
  }


  
//Jetzt neuen Kommentar erzeugen
  
$eintrag="\n";
  
$eintrag.="

<div style=\"font-family:arial;
font-size:10pt\">[b]Name:[/b]"
;
  
$eintrag.=$nachname;
  
$eintrag.="schrieb am";
  
$eintrag.=$datum;
  
$eintrag.=" um ";
  
$eintrag.=$zeit;
  
$eintrag.=":";


$eintrag.="";
  
$eintrag.="[/b] <a href='mailto:";
  
$eintrag.=$mail;
  
$eintrag.="'>";
  
$eintrag.="[img]mail.gif[/img]";
  
$eintrag.="\n</a><a href='$hp2'>[img]hp.gif[/img]";
  
$eintrag.="</a>";

     if (
$icq!=""){    
//Wenn $icq nicht leer ist, anzeigen
  
$eintrag.="<img src='http://web.icq.com/whitepages/online?icq=";
  
$eintrag.=$icq;
  
$eintrag.="&img=5'>";
     }
  
$eintrag.="
\n[b]Kommentar: [/b]"
;
  
$eintrag.=$kommentar;
  
$eintrag.="</div></p>

\n"
;


  
//Wenn kein Nachname angegeben wurde, Fehlermeldung ausgeben
  
if($nachname==""){
    echo 
"Bitte gib deinen Namen ein. [url='http://www.otaria.de/gb/Gaestebuch.php']Hier[/url] gehts zurück zum G&auml;stebuch.";
  } else {

  
//Wenn keine E-Mail-Adresse angegeben wurde, Fehlermeldung ausgeben
  
if($mail==""){
    echo 
"Bitte gib deinen Email-Adresse ein. [url='http://www.otaria.de/gb/Gaestebuch.php']Hier[/url] gehts zurück zum G&auml;stebuch.";
  } else {

  
//Wenn kein Kommentar angegeben wurde, Fehlermeldung ausgeben
  
if($kommentar==""){
    echo 
"Bitte gib einen Kommentar ein. [url='http://www.otaria.de/gb/Gaestebuch.php']Hier[/url] gehts zurück zum G&auml;stebuch.";
  } else {


  
// zum testen den string ausgeben
  
echo $eintrag;

   
//Jetzt Gästebuch-Datei laden...
  
if(file_exists("Gaestebuch.php"))
  {

  
$datei=fopen("Gaestebuch.php","r");
  if(
$datei)
  {
  
$dateigroesse=filesize("Gaestebuch.php");
  
$inhalt=fread($datei,$dateigroesse);
  
fclose($datei);

  
//Jetzt den neuen Eintrag einfügen
  
$ersetzen=str_replace(""$eintrag$inhalt);
  } else {
  echo 
"Konnte Datei nicht öffnen";
  }
  } else {
  echo 
"Datei existiert nicht!";
  }

  
//Jetzt aktualisiertes Gästebuch schreiben:
  
if(file_exists("Gaestebuch.php"))
  {
  
$datei=fopen("Gaestebuch.php","w");
  if(
$datei)
  {
  
$output=fwrite($datei,$ersetzen);
  
fclose($datei);
  print(
"Vielen Dank für deinen Eintrag in mein Gästebuch. [url='Gaestebuch.php']Hier[/url] gehts weiter zum Gästebuch");
  } else {
  echo 
"Datei konnte nicht aktualisiert werden";
  }
  } else {
  echo 
"Datei existiert nicht!";
  }
  }
//Ende von Namens-Prüfung
  
?>
Fehlermeldung:
Parse error: parse error, unexpected $ in /www/htdocs/v126163/gb/Eintrag.php on line 114


Ich finde den Error nicht. Ihr vielleicht?
 
Alt 08.01.2005, 20:23  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 646
Magic befindet sich auf einem aufstrebenden Ast
Standard

1. wo ist die entsprechende Zeile?
2. Wie wäre es mit Code einrücken, damit man sehen kann ob alle öffnenden Klammern auch eine schließende haben? {}

Übrigens, elseif ist eine tolle Sache, solltest dir mal anschauen
http://de.php.net/manual/de/control-...res.elseif.php
Magic ist offline  
Alt 08.01.2005, 20:28  
Gast
 
Beiträge: n/a
Standard

Punkt 2 von maxi trifft voll ins Schwarze. Es fehlen Klammern und der Quellcode ist besch... eingerückt. Außerdem bin ich immer noch der Meinung, dass ein Forum nicht dafür da ist, Parse-Errors für andere zu finden, das sollte man bitte schön selber machen.

Gruß
phpfan
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Perl Problem mit Debian & Apache2 c01001 Server, Hosting und Workstations 9 03.12.2004 15:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
[Erledigt] Hoffentlich letztes Problem für Heute PHP Tipps 2004 11 29.09.2004 13:26
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.