Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.196 Beiträge
 
Delphi 12 Athens
 
#8

Re: Problem mit Gästebuch in PHP

  Alt 27. Jun 2004, 20:25
Also so wie es aussieht konnte die Datei in der Zeile 16 nicht mit Schreibrechten geöfnet werden - was wohl der Text "Fehler" am Anfang darstellen soll.

> Datei existiert nicht/Verzeichnis ist falsch..., oder dein Script hat einfach nur keine Schreibrechte


PS: du hast da mehrmals nur
Code:
?>
Fehler
<?php
dastehen, dort währe eine bessere/aussagekräftigere Fehlermeldung von Vorteil

und wenn schon ein Fehler beim öffnen auftritt, braucht auch nicht erst versucht werden die Datei zu bearbeiten ( also mir else den nachfolgenden Teil überspringen)

z.B.
Code:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" x-undefined>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
</head>
<?php
$forumdb="forum.txt";
if(!file_exists($forumdb)) {
$fp=fopen($forumdb,"w");
fclose($fp);
}

if(isset($abschicken)) {
$fpn=@fopen($forumdb.".tmp","w");
if($fpn<=0) {
?>
Fehler[color=red]: Datei konnte nicht geöffnet werden (w)[/color]
<?php
} [color=red]else {[/color]
$text=htmlspecialchars($text);
$datum=date("d.m.Y H:i:s");
$eintrag="<tr><td>$text</td></tr>";
$eintrag.="<tr><td><font size='-1'>$name, $email $datum</font></td></tr>";
$eintrag.="<tr><td><hr></td></tr>\n";
fputs($fpn,$eintrag);
$fp=@fopen($forumdb,"r");
if($fp<=0) {
?>
Fehler[color=red]: Datei konnte nicht geöffnet werden (r)[/color]
<?php
} [color=red]else {[/color]
while(!feof($fp)) {
$zeile=fgets($fp,32000);
fputs($fpn,$zeile);
}
fclose($fp);
fclose($fpn);
unlink($forumdb);
rename($forumdb.".tmp",$forumdb);
}
[color=red]}
}[/color]
?>
<body>
<center>
<h1>Gästebuch</h1>
<table border="0">
<form action="gaestebuch.php" method="POST">
<tr>
<td align="RIGHT">Name:</td><td><input type="Text" name="name" size="30" maxlength="255"></td>
</tr>
<tr>
<td align="RIGHT">E-Mail:</td><td><input type="Text" name="email" size="30" maxlength="255"></td>
</tr>
<tr>
<td align="RIGHT">Text:</td><td><textarea type="Text" name="text" cols="30" rows="10"></textarea></td>
</tr>
<tr>
<td colspan="2" align="CENTER"><input type="Submit" name="abschicken" value="Abschicken"></td>
</tr>
</form>
</table>
<table border=0>
<tr>
<td>
<?php include($forumdb); ?>
</td>
</tr>
</table>
</center>

</body>

</html>
dein bissheriger Fehler wird zwar durch diese Änderungen nicht behoben, aber die anderen Fehlermeldungen sollten dadurch wenigstens nicht mehr kommen
Zitat:
Warning: fputs(): supplied argument is not a valid File-Handle resource in /home/www/web5/html/Seiten/Gaestebuch/gaestebuch.php on line 27

Warning: fclose(): supplied argument is not a valid File-Handle resource in /home/www/web5/html/Seiten/Gaestebuch/gaestebuch.php on line 39

Warning: unlink() failed (Permission denied) in /home/www/web5/html/Seiten/Gaestebuch/gaestebuch.php on line 40

Warning: rename() failed (No such file or directory) in /home/www/web5/html/Seiten/Gaestebuch/gaestebuch.php on line 41


Ach ja, wenn es dann mal läuft ... wäre eine Kontrolle, ob überhaupt was geschrieben wurde nicht schlecht (also nur eintragen, wenn in Name und Text was drinsteht)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat