Schwer nachvollziehbar, aber bitte um Hilfe in meinen Code

DevEye

Erfahrenes Mitglied
Was hab ich nur falsch gemacht?

PHP:
<?
mkdir("forum/topic/$topic/$thema",0700);
$datei = fopen("forum/topic/$topic/beitraege.deveye","r");
$zeile = fgets($datei, 1000);
fclose($datei);
$datei = fopen("forum/topic/$topic/beitraege.deveye","w");
$zeile = ++$zeile;
fwrite($datei, "$zeile");
fclose($datei);
$dateilast = fopen("forum/topic/$topic/lastuser.deveye","w");
fwrite($dateilast, "$log");
fclose($dateilast);
$datum1=Date("d.m.Y")." ".Date("H:i:s");
if ($skin == "WhiteAngel"){
       $color1 = "AAAAAA";
       $color2 = "CCCCCC";
       }
       else{
       $color1 = "990000";
       $color2 = "440000";
$profile= file("forum/user/profile/$log/$log.profile");
$daten ="
<?
echo \"<table width=\"100%\" border=\"1\" cellspacing=\"0\" borderspacing=\"0\">
<tr  bgcolor=\"#$color2\">
<td width=\"10%\">$log</td>
<td width=\"10%\">$datum</td>
<td width=\"70%\">$thema</td></tr>
</table>
<table width=\"100%\" border=\"1\" cellspacing=\"0\" borderspacing=\"0\">
<tr bgcolor=\"#$color1\">
<td width=\"80%\">$eintrag</td>
<td width=\"20%\">
$log<br>
$profile[10]<br>
Beiträge: $profile[12]<br>
Angemeldet Seit: $profile[14]
</td>
</tr>
</table>\";
?>";
$datenbank = "forum/topic/$topic/$thema/1.thread";
$datei2 = fopen($datenbank,"w");
fputs($datei2, $daten);
fclose($datei2);
?>
DER FEHLER WIRD IN DER LETZTEN ZEILE ANGEZEIGT
THX, Vorab.....
 
Zuletzt bearbeitet:
Öhm... wie wäre es, wenn du uns die Sache nicht ganz so schwer machst?

1. Was soll der Code bewirken? (evtl. würden dazu auch ein paar Kommentare im Code reichen)
2. Was funktioniert nicht? Wie macht sich das bemerkbar? Werden Fehlermeldungen ausgegeben?
3. Vermutungen, wo der Fehler liegen könnte?


Wenn du diese Punkte bei jeder Frage beherzigst, wird dir auch schneller geholfen :)


PS: Mir ist jetzt beim Überfliegen nur diese Zeile hier aufgefallen: "$zeile = ++$zeile;" $zeile ist doch ein String, oder? Wieso inkrementierst du diesen?
 
PHP:
//hier beginnt mein code
<?
//Verzeichnis wird erstellt mit dem namen des themas
mkdir("forum/topic/$topic/$thema",0700); 
//es wird in die datei  geschrieben wieviele beiträge existieren und 1 addiert
$datei = fopen("forum/topic/$topic/beitraege.info","r");
$zeile = fgets($datei, 1000);
fclose($datei);
$datei = fopen("forum/topic/$topic/beitraege.info","w");
$zeile = ++$zeile;
fwrite($datei, "$zeile");
fclose($datei);
//in die datei wird geschrieben von wem der letzte beitrag war
$dateilast = fopen("forum/topic/$topic/lastuser.info","w");
fwrite($dateilast, "$log");
fclose($dateilast);
//datum wird in variablen gespeichert
$datum1=Date("d.m.Y")." ".Date("H:i:s");
//überprüft, welcher skin aktiv ist
if ($skin == "WhiteAngel"){
       $color1 = "AAAAAA";
       $color2 = "CCCCCC";
       }
       else{
       $color1 = "990000";
       $color2 = "440000";
//liest die profildatei des users in einen array
$profile= file("forum/user/profile/$log/$log.profile");
//speichert den thread in $daten
$daten ="<?
echo \"<table width=\"100%\" border=\"1\" cellspacing=\"0\" borderspacing=\"0\">
<tr  bgcolor=\"#$color2\">
<td width=\"10%\">$log</td>
<td width=\"10%\">$datum</td>
<td width=\"70%\">$thema</td></tr>
</table>
<table width=\"100%\" border=\"1\" cellspacing=\"0\" borderspacing=\"0\">
<tr bgcolor=\"#$color1\">
<td width=\"80%\">$eintrag</td>
<td width=\"20%\">
$log<br>
$profile[10]<br>
Beiträge: $profile[12]<br>
Angemeldet Seit: $profile[14]
</td>
</tr>
</table>\";
?>";
//speichert thread in datei
$datenbank = "forum/topic/$topic/$thema/1.thread";
$datei2 = fopen($datenbank,"w");
fputs($datei2, $daten);
fclose($datei2);
?>

Er schreibt einen eintrag ins forum, wobei der thread ein verzeichnis kriegt, mit denm namen des themas....

Ich kriege ne Fehlermeldung:
Parse error: parse error in add.php on line 45

keine ahnung was falsch ist? vorher hats geklappt, aber ich hatte dannach viel geändert und kein backup erstellt

das mit $zeile funktioniert...

kann jemand nun helfen???
 
Hallo,

manchmal sind es ja nur Kleinigkeiten, die sich stören.

//hier beginnt mein code
<?
//Verzeichnis wird erstellt mit dem namen des themas
mkdir("forum/topic/$topic/$thema",0700);
//es wird in die datei geschrieben wieviele beiträge existieren und 1 addiert
$datei = fopen("forum/topic/$topic/beitraege.info","r");
$zeile = fgets($datei, 1000);
fclose($datei);
$datei = fopen("forum/topic/$topic/beitraege.info","w");
$zeile = ++$zeile;
fwrite($datei, "$zeile");
fclose($datei);
//in die datei wird geschrieben von wem der letzte beitrag war
$dateilast = fopen("forum/topic/$topic/lastuser.info","w");
fwrite($dateilast, "$log");
fclose($dateilast);
//datum wird in variablen gespeichert
$datum1=Date("d.m.Y")." ".Date("H:i:s");
//überprüft, welcher skin aktiv ist
if ($skin == "WhiteAngel"){
$color1 = "AAAAAA";
$color2 = "CCCCCC";
}
else{
$color1 = "990000";
$color2 = "440000";
//liest die profildatei des users in einen array
$profile= file("forum/user/profile/$log/$log.profile");
//speichert den thread in $daten
$daten ="<?
echo \"<table width=\"100%\" border=\"1\" cellspacing=\"0\" borderspacing=\"0\">
<tr bgcolor=\"#$color2\">
<td width=\"10%\">$log</td>
<td width=\"10%\">$datum</td>
<td width=\"70%\">$thema</td></tr>
</table>
<table width=\"100%\" border=\"1\" cellspacing=\"0\" borderspacing=\"0\">
<tr bgcolor=\"#$color1\">
<td width=\"80%\">$eintrag</td>
<td width=\"20%\">
$log<br>
$profile[10]<br>
Beiträge: $profile[12]<br>
Angemeldet Seit: $profile[14]
</td>
</tr>
</table>\";
____________________________________________________________________
?>";
_____________________________________________________________________
//speichert thread in datei
$datenbank = "forum/topic/$topic/$thema/1.thread";
$datei2 = fopen($datenbank,"w");
fputs($datei2, $daten);
fclose($datei2);
____________________________________________________________________
?>
____________________________________________________________________

Du hast da ein mal ?> zu viel, oder spinne ich???

Frage noch zurück: wie stellt ihr hier euere Codes so schön
farbig ein und wie diese Struktur, bei mir fallen immer die
Formatierung raus?

Gruss
Peter
 
Nach diesem Codeblock...
PHP:
       else{
       $color1 = "990000";
       $color2 = "440000";
...fehlt das abschließende '}'

Und...
PHP:
$zeile = ++$zeile;
...ist trotzdem unschöner Programmierstil ;)
PHP:
$zeile++;
...tut's genau so ;)

HTH

Und ach ja... Diese Anführungszeichen innerhalb dieser Anführungszeichen, die in diesen Anführungszeichen stehen... muss man sozusagen doppelt escapen.
Also so:
PHP:
<? $text = "<? echo \"Dies ist ein \\\\\"Test\\\\\"\"; ?>"; ?>
Kann aber auch sein, dass das in deinem Quelltext schon so ist... das Forum verschluckt gern mal den ein oder anderen Backslash.


@petermedien: Wir formatieren das alles per Hand mit den vB Code Befehlen. Mit der Zeit hat man's raus und es geht einem ziemlich einfach von der Hand. Ist aber trotzdem immer wieder eine Höllenarbeit...
Aber mal Scherz beiseite ;) Man schreibt den Code einfach in einen
PHP:
...hier der code...
-Block.
 
Zuletzt bearbeitet:
Zurück