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

[ERLEDIGT] Problem mit Gästebuch

Status
Für weitere Antworten geschlossen.
Danke, ich werde mich mal daran versuchen... ;)
Ich schreibe das mit in das <form>.

bis später.
 
Werbung:
ich habe sie in meine eintragen.html geschrieben (später dann ~.php) und direkt unter die textboxen (noch ins <form>, also vor </form>). habe also den namen der Textbox in per php definiert. und es ging nicht. ich weiß nicht woran es liegt...hehe.... wenn ich schon bei einer so einfachen aufgabe scheitere ;)
 
Werbung:
Ok wede ich mal machen...


Eintragen.html
(Formular)
Code:
<form action="gb.php" method="post">
 <table border="0">
 <tr>
  <td>Name:</td>

  <td><input type="Text" name="name" size="30" maxlength="50"></td>
 </tr>
 <tr>
  <td>E-Mail:</td>
  <td><input type="Text" name="email" size="30" maxlength="50"></td>
 </tr>
 <tr>
  <td></td>
  <td>Gästebuch-Eintrag


   <textarea name="eintrag" cols="50" rows="10"></textarea>


   <input type="submit" name="Button" value="Eintragen">
  </td>

 </tr>
 </table>
</form>

Wenn auf "eintragen" gedrückl wird, kommt man auf gb.php

[php:1:b842a68611]
<?php
$daten="$eintrag
von<a href=mailto:$email>$name</a>

";
$datenbank="daten.dat";
$datei=fopen($datenbank,"a");
fwrite($datei,$daten);
?>

Eintrag erfolgreich.
Zurück zum Gästebuch
[/php:1:b842a68611]


Ok, nun wieder zur Übersicht (dort wo der Link zum Formular ist und wo die Eintrage angezeigt werden (guestbook.php)

[php:1:b842a68611]
Eintrag hinzufügen



<?php
$datenbank = "daten.dat";
$datei = fopen($datenbank,"r");
fpassthru($datei);
?>
[/php:1:b842a68611]

so mehr ist es nicht.

vielen Dank,
Bechy
 
Vielen Dank,
es funktioniert.

Der Schnipsel von Dementius sagt der Variabel, dass er sich es aus dem "Post" und speziell aus der und der Textbox holen soll? (da bei method=post steht??
 
Werbung:
naja vielleicht guckst du dir mal an was http, html und php sind. du bringst da einiges durcheinander ;)
auf jedenfall ist http verbindungslos, d.h. PHP weiss bei"gb.php" nicht woher die daten kommen sondern bekommt nur halt per HTTP POST 2 variablen zugeschoben :)
 
Hallo,


ein Frage habe ich trotzdem noch ;)

Momentan ist der letzte Gästebuch-Beitrag immer am Ende der txt-Datei. Aber normal steht doch der letzte immer oben als erstes.

Wie verändere ich das, dass der Cursor nach dem öffnen am txt-Datei-Anfang steht?
 
Werbung:
statt "a" musst du "r+" nehmen [hört sich irgendwie bescheurt an steht aber so bei php.net/fopen ]
 
Du musst zuerst den alten Inhalt der Datenbankdatei auslesen und den neuen dann dazuschreiben:

[php:1:fa2d478d9d]<?php
$datei_lesen = fopen("$datenbank", "r");
$inhalt = fread($datei_lesen, 99999);
fclose($datei_lesen);

$daten="$eintrag
von<a href=mailto:$email>$name</a>

";
$neuer_inhalt = $daten.$inhalt;
$datei_schreiben = fopen("$datenbank", "w");
fwrite($datei_schreiben, $neuer_inhalt);
fclose($datei_schreiben);
?>[/php:1:fa2d478d9d]

So ungefär..

mfg
 
Ok, ich werde es heute abend mal versuchen.

Ich bin sicher, dass ich mich nochmal melden werde ;)

MfG
Bechy
 
Werbung:
Hallo,

ich habe es mal probiert, aber es funktioniert nicht. habe es so kopiert wie dementia is geschrieben hat... klingt ja auch logisch...aber es kommt immer folgende Fehler Meldung


Warning: fread(): supplied argument is not a valid stream resource in /var/www/virtual/tonybecher.de/htdocs/gb.php on line 30

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/virtual/tonybecher.de/htdocs/gb.php on line 31

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/virtual/tonybecher.de/htdocs/gb.php on line 36

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/virtual/tonybecher.de/htdocs/gb.php on line 37


Zeile 31/32
[php:1:9f3c594b54]
$inhalt = fread($datei_lesen, 99999);
fclose($datei_lesen);
[/php:1:9f3c594b54]

Zeile36/37
[php:1:9f3c594b54]
fwrite($datei_schreiben, $neuer_inhalt);
fclose($datei_schreiben);
[/php:1:9f3c594b54]

Weiß einer woran es liegen kann?[/code]
 
wie wärs wenn du den ganzen code und nicht nur einzelne stückchen rausrückst? denn es könnten vorher auch schon fehler gemacht worden sein
 
Werbung:
Das ist die Seite, auf welcher man auf den Link klickt "Eintrag hinzufügen".

[php:1:7f32658526]
<body>
<div id="t3">

Eintrag hinzufügen



<?php
$datenbank = "daten.dat";
$datei = fopen($datenbank,"r");
fpassthru($datei);
?>
</div>


</body>
[/php:1:7f32658526]

Man wird dann weitergeleitet auf diese Seite... und trägt die Daten in ein Formular ein.

[php:1:7f32658526]

<div id="t3">

<form action="gb.php" method="post">
<table border="0">
<tr>
<td>Name:</td>

<td><input type="Text" name="name" size="30" maxlength="50"></td>
</tr>
<tr>
<td>E-Mail:</td>
<td><input type="Text" name="email" size="30" maxlength="50"></td>
</tr>
<tr>
<td></td>
<td>Gästebuch-Eintrag


<textarea name="eintrag" cols="50" rows="10"></textarea>


<input type="submit" name="Button" value="Eintragen">
</td>
</tr>
</table>
</form>
</div>
[/php:1:7f32658526]

Per "Eintragen" kommt man auf die Seite...

[php:1:7f32658526]
<div id="t3">

<?php
$datei_lesen = fopen("$datenbank", "r");
$inhalt = fread($datei_lesen, 99999);
fclose($datei_lesen);

$daten="$eintrag
von<a href=mailto:$email>$name</a>

";
$neuer_inhalt = $daten.$inhalt;
$datei_schreiben = fopen("$datenbank", "w");
fwrite($datei_schreiben, $neuer_inhalt);
fclose($datei_schreiben);
?>

Eintrag erfolgreich.
Zurück zum Gästebuch
</div>
[/php:1:7f32658526]

Nun geht es wieder zurück zur guestbook.php ... Quelltext ist ja schon oben... und der neue Beitrag müsste angezeigt werden, und so, dass der akutelle zu erst steht ...

Ich habe den Code schon zich mal durchgelesen... aber nichts gefunden...

Vielleicht könntet ihr euch den mal anschauen,
vielen Dank
 
Werbung:
Ähm woher soll das Script denn bitte wissen, welche datei die $datenbank ist? Steht nirgends :roll:
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben