• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Gästebuch Versuch 2

Niklas

Neues Mitglied
Hallo,

Habe nochmal versucht ein Gästebuch zu proggen , habe dazu noch ein paar Fragen ...

1.Wie ändert man die Farben von der Schrift vom Gästebuch ?
2.Wie lösche ich Gästebuch-Einträge ?
3.Was kan man dagegen tun , dass nach jedem neu laden der Seite ein Eintrag geschrieben wird ?

Hier der Code

Code:
<html>
<head>
<title>Welt der Browsergames</title>
<link rel="stylesheet" type="text/css" href="../style/style.css" /> 
<form method="post" action="gaestebuch.php">
<label for="name">Ihr Name:</label>
<input type="text" id="name" name="name" value="" /><br>
<label for="eintrag">Ihr Eintrag:</label>
<textarea name="eintrag" id="eintrag"></textarea><br> 
<input type="submit" name="Button" value="Absenden">
</form>
<?php
$daten=$_POST[eintrag]."<br>von <a href=mailto:".$_POST[email].">".$_POST[name]."</a><br><br>";
$datenbank = "daten.dat";
$datei = fopen($datenbank,"a");
fwrite($datei, $daten);
?>
Eintrag erfolgreich.
<center><h1>Mein Gästebuch</h1>
<?php
$datenbank = "daten.dat"; $datei = fopen($datenbank,"r");
fpassthru($datei);
?>
</body>
</html>
Hier das Gästebuch : Welt der Browsergames

FG Niklas
 
Moin Niklas,

bevor Du so sachen machst, wie Farbe ins Spiel zu bringen, solltest Du Dir grundsätzlich Gedanken über Deine Gästebuchseite machen. Alles was Du bis jetzt hier gelernt hast, hast Du komplett über den Haufen geschmissen.
1. Keinen Doctype
2. kein schließendes <head>-Tag, dafür dann auch kein öffnendes <body>-Tag (gleicht sich dann leider nicht aus ;-) )
3. Gesaltung in HTML, siehe das <center>-Tag, das darüber hinaus auch nicht geschlossen wird.
Soweit erstmal grundlegendes zu Deiner GB-Seite.
Jetzt zu Deinen Fragen:
1. Indem Du zum Beispiel Deine GB-Einträge mit beim Schreiben mit einem <p>-Tag umschließt, das hast Du ja in der CSS-Datei mit der Farbe rot definiert.
2. Indem Du Deine daten.dat editierst.
3. Indem Du abfragst, ob auch tatsächlich der submit-Button gedrückt wurde.
PHP:
if (isset($_POST['Button'])) {
   // schreibe Datei
}
Vor Jahren habe ich mal ein GB ohne Datenbank gemacht, da habe ich die Datei folgendermaßen aufgebaut:
aktuelles Datum - Uhrzeit (in der Schreibweise jjjjmmtt)
Name
Eintrag
Diese drei Inhalte habe ich dann, durch einen Delimiter getrennt, in die Datei geschrieben (fwrite() ). Der Delimiter darf natürlich kein normales Zeichen sein, das auch normal im Text vorkommen könnte, z.B. |*|*|

Zum Anzeigen habe ich die file()-Funktion genutzt. Das erhaltene Array habe ich dann mit einer Arrayosrt-Funktion sortiert (umgekehrte Reihenfolge). Danach wurde dann das Array mithilfe von foreach und der explode()-funkton ausgegeben.

So, ich hoffe, dass ich Dir erstmal ein paar Anhaltspunkte geliefert habe.

Gruß thuemmy
 
1. Keinen Doctype
Benutzt man bei HTML den gleichen Doctype wie bei PHP ?

2. kein schließendes <head>-Tag, dafür dann auch kein öffnendes <body>-Tag (gleicht sich dann leider nicht aus :wink: )
Verbessert ...

3. Gesaltung in HTML, siehe das <center>-Tag, das darüber hinaus auch nicht geschlossen wird.
Habs jetzt über CSS eingestellt ...

1. Indem Du zum Beispiel Deine GB-Einträge mit beim Schreiben mit einem <p>-Tag umschließt, das hast Du ja in der CSS-Datei mit der Farbe rot definiert.
Wie ? Im Quellcode wird der Text ja nicht angezeigt den schreibt der user ja ...

Muss ich dann hierdrum

Code:
<textarea name="eintrag" id="eintrag"></textarea><br>
den <p>-Tagmachen ?

Indem Du Deine daten.dat editierst.
Habe es jetzt über Filezilla gemacht klappt also ... Danke

Indem Du abfragst, ob auch tatsächlich der submit-Button gedrückt wurde.
Ich weiß immer nie wo ich das Einbauen muss :sad:

Das mit dem Datum und Ziet mach ich zu schluss

FG Niklas
 
Keine Gewähr für 100%-ige Funktionalität.
Aber so in der Art sollte deine PHP Abfrage sein.
Das gehört in den <body>-Bereich.

PHP:
<?php
if(isset($_POST['button']))
{
  $daten=$_POST[eintrag]."<br>von <a href=mailto:".$_POST[email].">".$_POST[name]."</a><br><br>";
  $datenbank = "daten.dat";
  $datei = fopen($datenbank,"a");
  fwrite($datei, $daten);
  echo "Eintrag erfolgreich";
}
else
{
echo "
     <form method='post' action='gaestebuch.php'>
     Ihr Name: <input type='text' name='name'><br>
     Ihr Eintrag: <textarea name='eintrag'></textarea><br>
     <input type='submit' name='Button' value='Absenden'>
     </form>";
$datenbank = "daten.dat"; $datei = fopen($datenbank,"r");
fpassthru($datei);
}
?>
 
Ich kann nichts schreiben ,aber das mit dem Neu laden und schreiben ist weg ...

FG Niklas
 
Zuletzt bearbeitet:
Ich kann nichts schreiben, [...]
Wie wirkt sich das aus?
Kleine Idee die mir ins Auge springt:
PHP:
if(isset($_POST['button']))
[...]
<input type='submit' name='Button' value='Absenden'>
Vielleicht macht da die sensitivität nicht mit (Groß/Kleinschreibung, einstellungssache. Lieber alles einheitlich machen).

Mfg
 
Zurück
Oben