Supportnet / Forum / Webseiten/HTML
Einfaches Gästebuch funktioniert nicht.
Frage
hallo leute.
ich habe ein einfaches gästebuch gemacht, doch leider funktioniert es nicht.
die datei heißt gaestebuch.php, die datei, wo die daten reingeschrieben werden gbuch.txt .
in die gbuch.txt wird leider nix reingeschrieben, wenn ich auf Eintragen klicke. Warum nur?
[code]
...
<body>
<script language="php">
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
if ($action == "add")
{ if ($name == "" || $ort == "" || $eintragen == "")
{ echo "Bitte Name, Ort und Eintrag eingeben.<br />";echo "Klicke auf den Zurück-Button deines Browsers."; } else { $eintrag = "<hr />$name aus $ort<br />schrieb am $datum um $uhrzeit Uhr:<br /><br />$eintragen<br /><br />"; }
$datei = fopen("gbuch.txt","a+");
fputs($datei,$eintrag);
fclose($datei);
}
</script>
<div id="inhalt">
<h1>Gästebuch</h1>
<form action="gaestebuch.php?action=add" method="post">
<table align="center">
<colgroup>
<col width="33%">
<col width="33%">
<col width="33%">
</colgroup>
<tr>
<td align="right">Name</td>
<td colspan="2"><input class="schreiben" type="Text" name="name" size="50" maxlength="50"></td>
</tr>
<tr>
<td align="right">Ort</td>
<td colspan="2"><input class="schreiben" type="Text" name="ort" size="50" maxlength="50"></td>
</tr>
<tr>
<td align="right">Eintrag</td>
<td colspan="2"><input class="schreiben" type="Text" name="eintragen" size="50" maxlenght="150"></td>
</tr>
<td></td>
<td><input class="klicken" type="submit" value="Eintragen"></td>
<td><input class="klicken" type="reset" value="Weg!"></td>
</table>
</form>
<?php
include("gbuch.txt");
?>
</div>...[/code]
Antwort 1 von Flupo
Damit es funktioniert, brauchst du einen PHP-fähigen Webserver.
Ob deiner das leistet, kannst du mit dem Befehl phpinfo() herausfinden.
Erzeuge dazu eine neue datei mit folgendem Inhalt:
Speichere sie als info.php ab, lad hoch und ruf sie auf. Wenn du den Code siehst, dann kann dein Server kein PHP und du musst dir eine andere Lösung einfallen lassen.
Gruß Flupo
Ob deiner das leistet, kannst du mit dem Befehl phpinfo() herausfinden.
Erzeuge dazu eine neue datei mit folgendem Inhalt:
<?PHP
phpinfo();
?>
Speichere sie als info.php ab, lad hoch und ruf sie auf. Wenn du den Code siehst, dann kann dein Server kein PHP und du musst dir eine andere Lösung einfallen lassen.
Gruß Flupo
Antwort 2 von DennyDennyDenny
das wird angezeigt:
PHP Version 4.3.10-16
PHP Version 4.3.10-16
Antwort 3 von sutadur
Zitat:
in die gbuch.txt wird leider nix reingeschrieben, wenn ich auf Eintragen klicke. Warum nur?
in die gbuch.txt wird leider nix reingeschrieben, wenn ich auf Eintragen klicke. Warum nur?
Häufig wird vergessen, die Rechte für die Datei entsprechend zu setzen, sie also "schreibbar" machen. Das geht z.B. per FTP-Client ("CHMOD").
Antwort 4 von DennyDennyDenny
ich habe für gbuch.txt chmod auf 777. lesen, schreiben, ausführen für alle.
Antwort 5 von Nessus
Fehlermeldung?
Nessus
Nessus
Antwort 6 von DennyDennyDenny
Es kommt keine Fehlermeldung.
Wenn ich einen Eintrag mache und auf Eintragen (Submit) klicke, wird die Seite erneut geladen. Nun sollte der Text in der gbuch.txt geschrieben stehen und auf der Seite unter dem Formular eingefügt sein. Doch das ist leider nicht der Fall. Der Text wird nicht in die gbuch.txt eingefügt und erscheint somit auch nicht.
Wenn ich ihn manuell in der gbuch.txt einfüge, geht es. Er erscheint dann auch unter dem Formular.
???
Wenn ich einen Eintrag mache und auf Eintragen (Submit) klicke, wird die Seite erneut geladen. Nun sollte der Text in der gbuch.txt geschrieben stehen und auf der Seite unter dem Formular eingefügt sein. Doch das ist leider nicht der Fall. Der Text wird nicht in die gbuch.txt eingefügt und erscheint somit auch nicht.
Wenn ich ihn manuell in der gbuch.txt einfüge, geht es. Er erscheint dann auch unter dem Formular.
???
Antwort 7 von DennyDennyDenny
und wenn ich nichts eintrage und auf Eintragen (Submit) klicke, passiert leider auch nix. normalerweise sollte dann mit dem befehl ECHO etwas angezeigt werden, was nicht passiert. jemand ´ne idee?
Antwort 8 von Nessus
Hi,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Das ist Oberbullshit.
PHP wird auf dem Server ausgeführt, ein PHP Script wird mit <?php begonnen und mit ?> beendet.
Nessus
<body><script language="php">
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Das ist Oberbullshit.
PHP wird auf dem Server ausgeführt, ein PHP Script wird mit <?php begonnen und mit ?> beendet.
Nessus
Antwort 9 von DennyDennyDenny
ich habe <?php und ?> am Anfang bzw. Ende des PHP eingefügt. leider hat es nix gebracht. alles wie gehabt.
Antwort 10 von Nessus
Wo ist denn für dich Anfang und Ende?
Ist wenigstens dann eine Fehlermeldung gekommen?
Nessus
Ist wenigstens dann eine Fehlermeldung gekommen?
Nessus
Antwort 11 von DennyDennyDenny
anstatt <script...> steht jetzt <?php und anstatt </script> steht jetzt ?>.
leider keine fehlermeldung, kein parserfehler oder ähnliches.
leider keine fehlermeldung, kein parserfehler oder ähnliches.
Antwort 12 von Nessus
Hi,
bei mir läuft das Script problemlos.
Bist du dir sicher, das dein Server etwas mit PHP anfangen kann?
Beachte A1.
Nessus
bei mir läuft das Script problemlos.
Bist du dir sicher, das dein Server etwas mit PHP anfangen kann?
Beachte A1.
Nessus
Antwort 13 von DennyDennyDenny
ich habe es jetzt mal auf xampp (server-simulation) ausprobiert. dort geht es auch nicht. verflucht! ich versuche mal, ob es am browser liegt...
Antwort 14 von Nessus
Hi,
entweder du machst das jetzt mal so wie ich es dir sage, oder du kannst dir weiteren Support in die Haare schmieren.
Noch einmal zum Mitschreiben:
Mache das was in A1 steht!
*grmpf*
Nessus
entweder du machst das jetzt mal so wie ich es dir sage, oder du kannst dir weiteren Support in die Haare schmieren.
Noch einmal zum Mitschreiben:
Mache das was in A1 steht!
*grmpf*
Nessus
Antwort 15 von DennyDennyDenny
habe ich schon längst gemacht. siehe A2.
Antwort 16 von Nessus
Auch auf deinen Xampp?
Du bekommst eine komplette Ausgabe, oder nur die eine Zeile?
Wie sind die Register Globals eingestellt?->On/Off?
Nessus
Du bekommst eine komplette Ausgabe, oder nur die eine Zeile?
Wie sind die Register Globals eingestellt?->On/Off?
Nessus
Antwort 17 von DennyDennyDenny
auch auf xampp!
es wird jeweils (auf webserver und xampp) eine große tabelle angezeigt. PHP-Version usw.
bei xampp: PHP Version 5.1.4
es wird jeweils (auf webserver und xampp) eine große tabelle angezeigt. PHP-Version usw.
bei xampp: PHP Version 5.1.4
Antwort 18 von Nessus
Zitat:
Wie sind die Register Globals eingestellt?->On/Off?
Wie sind die Register Globals eingestellt?->On/Off?
Nessus
Antwort 19 von DennyDennyDenny
ich weiß nicht, was das ist. was ist das? wie kann ich das herausfinden?
können wir morgen oder später weitermachen?
danke!
können wir morgen oder später weitermachen?
danke!
Antwort 20 von Nessus
Da findest du mehr zum Thema:
http://de.php.net/register_globals
http://www.goldmann.de/variablen-in-php-sauber-%FCbergeben-mit-regi...
Nessus
http://de.php.net/register_globals
http://www.goldmann.de/variablen-in-php-sauber-%FCbergeben-mit-regi...
Nessus