Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Problem mit Gästebuch in PHP (https://www.delphipraxis.net/24865-problem-mit-gaestebuch-php.html)

Nicolai1234 27. Jun 2004 19:46


Problem mit Gästebuch in PHP
 
Ich habe aus einem Buch mehr oder weniger ein Gästebuch 1 zu 1 abgeschrieben! (siehe hier) Nur leider funktionert das nicht, wenn man einen Eintrag mcht! Ich weiß auch nicht warum! Aber jetzt wollte ich fragen, wo es vielleicht schon fertige Sources gibt oder einer kann mir sagen wo der Fehler liegt!
Ich hoffe mir kann noch geholfen werden
Nicolai

Alexander 27. Jun 2004 19:47

Re: Problem mit Gästebuch in PHP
 
Also irgendwie hast du den Anhang vergessen ;-)

Also es gibt einige PHP-Seiten, am besten du suchst mit Google. Einige sind z.b. www.php-resource.de und www.php-tutorials.de etc.

StefanDP 27. Jun 2004 19:57

Re: Problem mit Gästebuch in PHP
 
ich würd an deiner stelle sowieso mit einer mysql datenbank arbeiten, das ist auf dauer einfacher

Nicolai1234 27. Jun 2004 19:58

Re: Problem mit Gästebuch in PHP
 
Ich habe leider nur eine zur verfügung und die will ich nicht für ein Gästebuch benutzen!

tommie-lie 27. Jun 2004 19:59

Re: Problem mit Gästebuch in PHP
 
Daß dein Gästebuch nicht funktioniert, sieht man durch den Link, aber wenn dir noch zu helfen ist, dann nur, wenn man den Quellcode hat ;-)
Anhand der Fehlermeldungen würde ich mal drauf tippen, daß das fopen fehlgeschlagen ist und somit FALSE zurückgeliefert hat, anstatt einem gültigen Handle. Für weitere Auskünfte müsste ich meine Glaskugel befragen, die habe ich aber zur Zeit leider verlegt (ich sollte mal wieder aufräumen...).

@StefanDP: Eine Datenbank steht ihm vielleicht nicht zur Verfügung ;-)

Nicolai1234 27. Jun 2004 20:04

Re: Problem mit Gästebuch in PHP
 
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ist mal die PHPDatei

himitsu 27. Jun 2004 20:08

Re: Problem mit Gästebuch in PHP
 
Ja, der Quellcode wäre schon hilfreich - denn woher sollen wir wissen, was auf deinem Server geschieht.
[edit]oh, da isser ja[/edit]


PS: so eine kleine Tabelle in deiner Datenbank sollte doch wohl nicht auffallen - für mySQL gibt es ja genug - ich hab da auch was rumliegen (soll eigentlich ganz gut sein - hab's aber noch nicht getestet) und hier gibt's auch was www.delimit.de

himitsu 27. Jun 2004 20:25

Re: Problem mit Gästebuch in PHP
 
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)

Nicolai1234 27. Jun 2004 20:28

Re: Problem mit Gästebuch in PHP
 
Wie kann ich dem script den schreiberechte geben? Das habe ich hier schon gefragt, doch hat leider noch keiner geantwortet!

himitsu 27. Jun 2004 20:33

Re: Problem mit Gästebuch in PHP
 
Also mit einem FTP-Programm sollte das kein Problem sein und mit dem IE ist es auch möglich (hab gerade mal nachgeschaut)

Das sollte unter (Datei)eigenschaften, oder so einzustellen sein.

Einfach mal alle Rechte (777) deinem Script geben.

Nicolai1234 27. Jun 2004 20:35

Re: Problem mit Gästebuch in PHP
 
Wie denn ich habe von so etwas überhaupt keine Ahnung! Leider :(

himitsu 27. Jun 2004 20:39

Re: Problem mit Gästebuch in PHP
 
wie/mit was lädst du denn deine Dateien auf den Server?



PS: hast du auch meine Ergänzung ( 2 Post weiter oben) gesehn - hat zwar nicht direkt hiermit zu tun, aber macht sich dennoch gut

Nicolai1234 27. Jun 2004 20:48

Re: Problem mit Gästebuch in PHP
 
Ich werde deine Ergänzung noch einbauen! Ich lade meine Dateien mit einem fortschrittlich Programm runter mit ... *Spannung* ... Frontpage :wall: :wall: :wall:

Nicolai1234 27. Jun 2004 21:05

Re: Problem mit Gästebuch in PHP
 
Ich habe mir jetzt einen "richtigen" Clienten runtergeladen und die Rechte auf 777 gesetzt, aber es geht trotzdem nicht! Woran kann es dann liegen?

himitsu 27. Jun 2004 21:08

Re: Problem mit Gästebuch in PHP
 
Frontpage ... kenn mich da nicht aus.

Aber versuch's mal mit dem IE, oder einem anderen Browser, wenn du kein FTP-Programm installieren möchtest.

ftp://benutzername@server
ftp://benutzername@server/verzeichnis
> also z.B. ftp://user@domain.de/Seiten/Gaestebuch, oder wie es halt bei dir sein muß
Das Passwort wind danach auch noch (vermutlich) in 'nem kleinen Eingabefenster abgefragt

es ist zwar auch möglich das Passwort gleich mit anzugeben, aber das würde ich nicht empfehlen, da die Browser ja die eingegebenen URL irgenwo in der History abseichern, also auch das Passwort - dieses sollte man, wenn überhapt, nur machen, wenn das andere (ohne Passort) nicht geht.

ftp://benutzername:passwort@server/verzeichnis

Und im IE ies es dann wie im Explorer > also Rechtsklick, dann auf Eigenschaften, die Häckchen setzen und dann auf OK

Nicolai1234 27. Jun 2004 21:14

Re: Problem mit Gästebuch in PHP
 
Danke, aber dann hat sich das Problem vorübergehend erledigt:
http://www.domain.de/Bild2.jpg
*keinkommentargebundsichganzdollärger*

fkerber 27. Jun 2004 21:19

Re: Problem mit Gästebuch in PHP
 
Hi!
Mit nem normalen FTP-Clienten (z.B: WS FTP Pro) geht das aber trotzdem, das liegt nur an dem Windows FTP, zumindest kenne ich Beispile wo's so war.

Ciao fkerber

himitsu 27. Jun 2004 21:24

Re: Problem mit Gästebuch in PHP
 
Liste der Anhänge anzeigen (Anzahl: 2)
Also ich hab das Script gerade mal bei mir laufen lassen und es geht (zwar mit meinen Änderungen, aber das sollte nicht daran Ändern)

Vielleicht solltest du auch mal der "forum.txt" alle Rechte geben?
Und vorher mal eine leere Datei (forum.txt) hochladen, wenn sie noch nicht da ist.


[EDIT]
Ohh, dass kenn ich auch. Hab auch noch 'nen Space, wo das Ändern der Rechte nur gegen Aufpreis erlaubt ist.

[OT]bei www.funpic.de ist das zumindestens nicht so - dort hab ich vorhin getestet[/OT]

Nicolai1234 28. Jun 2004 09:49

Re: Problem mit Gästebuch in PHP
 
Ich habe in deine Version jetzt diese Zeile geändert:
Code:
$forumdb="http://domain.tld/Seiten/Gaestebuch/forum.txt";
Weil ich dort jetzt doch eine Datei habe, auf die man schreibzugriff hat (777)!
Warum funktioniert es dann aber immernoch nicht?

Nicolai1234 28. Jun 2004 12:15

Re: Problem mit Gästebuch in PHP
 
Weiß keiner einen Rat? Ich wäre echt sehr dankbar!

himitsu 28. Jun 2004 19:43

Re: Problem mit Gästebuch in PHP
 
Bin ja auch noch beim lernen ... aber könnte es sein, das man nicht Serverübergreifend arbeiten kann?

also das http://domain.de/Seiten/Gaestebuch/forum.txt nicht möglich ist :gruebel:


Werd' es mal demnächst testen.

Nicolai1234 28. Jun 2004 20:11

Re: Problem mit Gästebuch in PHP
 
gibt es eine möglichkeit genauer herauszufinden wo der Fehler liegt?

tommie-lie 28. Jun 2004 20:15

Re: Problem mit Gästebuch in PHP
 
Indem du einfach mal einen Pfad innerhalb des Server-Dateisystems ausprobierst.
Entweder "forum.txt", da das Script und die Datei anscheinend im gleichen Verzeichnis liegen, oder über den absoluten Pfad, den dir phpinfo() oder irgendein anderes Server-Info-Tool anzeigt.

fkerber 28. Jun 2004 20:21

Re: Problem mit Gästebuch in PHP
 
Hi!

Ich würde auf jeden Fall mal den absoluten testen.

Ciao fkerber

tommie-lie 28. Jun 2004 20:49

Re: Problem mit Gästebuch in PHP
 
Zitat:

Zitat von fkerber
Ich würde auf jeden Fall mal den absoluten testen.

Klar, ich nehm' auch immer die umständlichste und unflexibelste Lösung...
Das einfachste und sicherste ist immer, den relativen Pfad zu nehmen, in diesem Fall einfach nur "forum.txt".
Der absolute Pfad bezieht sich auf das gesamte Dateisystem. Vermutlich ist es ein Linux-Server. Dann hat man da den Server-Pfad, den User-Pfad und so weiter drin, das ganze ist eine ewig lange Pfadangabe, die auf einem anderen Server nicht mehr geht, deswegen sollte man sowas nicht benutzen, wenn man's nicht irgendwie vermeiden kann.

fkerber 28. Jun 2004 20:52

Re: Problem mit Gästebuch in PHP
 
Hi!
Es geht ja auch nicht um den normalen Betrieb, es geht lediglich um Fehlersuche und -eingrenzung.
Und dafür würde ich den absoluten testen.

Ciao fkerber

tommie-lie 28. Jun 2004 20:59

Re: Problem mit Gästebuch in PHP
 
Zitat:

Zitat von fkerber
Und dafür würde ich den absoluten testen.

Dafür würde ich den relativen zuerst testen, denn bei einem absoluten sind die Fehlermöglichkeiten viel größer.
Er sagt selber von sich, daß er keine Ahnung hat (und das sieht man auch, nicht böse gemeint ;-)), da ist ein relativer Pfad das einfachste und wird mit geringstem Aufwand zum größtmöglichen Erfolg führen. Denn wenn der relative nicht geht, liegt's an was anderem. Geht der absolute nicht, hat man eher ein paar Verzeichnisse weiter oben vergessen...

Nicolai1234 29. Jun 2004 18:42

Re: Problem mit Gästebuch in PHP
 
KAnn es was mit den unterschiedlich Versionen von PHP zu tun haben. Also PHP 3,4,5usw.?

titus 29. Jun 2004 18:53

Re: Problem mit Gästebuch in PHP
 
du sagst das so, die versions-unterschiede sind _DRASTISCH_ ich würde für neulinge PHP4 empfehlen für fortgeschrittene PHP5 (da diese version hauptsächliche im klassen bereich verbessert udn optimiert wurde)

zb hat man in php3 ein cookie ganz anders gesetzt als in php4

p.s. usw gibts nicht ;)

Nicolai1234 29. Jun 2004 19:13

Re: Problem mit Gästebuch in PHP
 
Klappt jetzt übrigens alles! Frag mich nicht warum!

tommie-lie 29. Jun 2004 19:23

Re: Problem mit Gästebuch in PHP
 
Wie sieht diese:
Code:
$forumdb="http://domain.de/Seiten/Gaestebuch/forum.txt";
Zeile jetzt aus?

Nicolai1234 29. Jun 2004 19:24

Re: Problem mit Gästebuch in PHP
 
Zitat:

Zitat von tommie-lie
Wie sieht diese:
Code:
$forumdb="http://domain.tld/Seiten/Gaestebuch/forum.txt";
Zeile jetzt aus?

So:
$forumdb="forum.txt";
Hat aber anders auch geklappt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz