• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

PHP Newbie braucht hilfe bei gb!!!

lucifer

New member
Hi Leute, also bevor jetzt hier einer lacht... bin ein totaler newbie in sachen php un hab ne kleine Fragé.. bzw evtl. auch 2...

1.) Ich habe dieses gästebuch(was dann eigentlich als ne art newssystem verwendet wird geschrieben). Die neuen Einträge
werden in der newssys.dat aber immer unten angebaut ... sollen aber oben stehen. Also : Ein neuer eintrag soll nach oben.:)

Die Seite sieht also so aus:

PHP:
<html>

<head>
	<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
	<meta name="generator" content="Adobe GoLive 5">
	<title>news</title>
	<link rel="stylesheet" type="text/css" href="astyle.css">
</head>

<body bgcolor="black" leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">

<br>
<table border="0" cellpadding="0" cellspacing="0" width="500">
<tr>
	<td><div align="left"><b>news eintragen:</b></div></td>
</tr>
<tr>
	<td><br><div align="left"><form action="newssys.php" method="get">Nick:<br>
   	<input type="text" value="gd |" name="new_nick"><br>eMail:<br>
   	<input type="text" value="@" name="new_email"><br>Subject:<br>
   	<input type="text" name="new_subject">max. 40  Zeichen.<br>Date:<br>
   	<input type="text" value="00.00.0000" name="new_date"><br>Link:<br>
   	<input type="text" value="site.php" name="new_link"><br>Dein Eintrag:<br>
   	<textarea name="new_input" value="" rows="7" cols="35"></textarea><br>
   	<input type="Submit" name="send" value="Eintragen">
	</form>
	</td>
</tr>
</table>

</body>
</html>

<?php

$bookfile="newssys.dat";

If ($new_input<>"")
    write_input($new_nick, $new_email, $new_subject, $new_date, $new_input, $new_link,$bookfile);

read_file($bookfile);

function write_input($new_nick, $new_email, $new_subject, $new_date, $new_input, $new_link,$bookfile){
   $fd = fopen($bookfile,"a");  
   fwrite ($fd, "<br><br><br><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"500\"><tr><td background=\"tabelle.gif\"  width=\"25%\"><a href=\"mailto:$new_email\">".$new_nick."</a></td><td background=\"tabelle.gif\" width=\"60%\"><b>".$new_subject."</b></td><td background=\"tabelle.gif\" width=\"15%\"><div align=\"center\">".$new_date."</div></td></tr><tr><td colspan=\"3\"><br>".$new_input."</td></tr><tr><td colspan=\"3\"><br><div align=\"right\"><a href=\"$new_link\"><i>...more</i></a></div></td></tr></table>\r\n"); 
   fclose ($fd);
}

function read_file ($bookfile){
   $fd = fopen($bookfile,"r"); 
   while (!feof($fd)) {
      $zeile = fgets($fd,1000);
      echo $zeile . "<br>";
   }
   fclose ($fd);
}

?>



2.) Kann man es hinbekommen, dass man eine Seite mit den eigaben aus dem gb neu erstellt und dann verlinkt???
hieße also... wenn man einen Text eingibt, sollte der in eine neu erstellte seite à la <html><head></head><body> Seite </body></html> eingebaut werden und der link der im gb eingegeben wurde direkt da hin führen.

Ich danke schon mal allen für Ihre HILFE!!!!
 
:(:(:( Ich brauche dringend ne antwort in der Sache... das sollte doch eigentlich kein problem
für jemanden sein, der sich einigermaßen damit auskennt.

also Replys ohne Ende!!!!!!!
 
Hallo!

Also, das ganze wird in eine Textdatei 'in einer Wurscht' hingeschrieben, das würde heißen, daß man die einzelnen Beiträge der Datei durch bestimmte Trennzeichen(Was auch wieder blöd ist) extrahieren muß.
Besser käme mir hier vor wenn für jeden Beitrag eine eigene Datei angelegt wird(in einem bestimmten Verzeichniss!!) und die Hauptseite des GB einfach alle Dateien ausliest und den Inhalt darstellt. So kann man dann auch einfach auf die einzelnen Beiträge verweisen, bzw. könnte man Sie im nachhinein sogar noch editieren(Wenn das gewünscht ist).

D.h. : Das vorhandene GB-Konzept ist für eine solche Darstellungsweise, die du wünschst nicht ausgelegt und man müßte da ein neues GB coden bzw. auf ein vorhandenes GB zurückgreifen, welches man im Internet sehr häufig auffindet.
 
Zuletzt bearbeitet:
du musst den Inhalt Deiner Varialben $bookfile in eine extra Datei einlesen. den fp zurücksetzen und dann den alten + den neuen Inhalt in die Datei schreiben

z. B.

!!!!Achtung nur Auszug aus dem Quellcode !!!!

$fp=fopen("guestbook.txt","a");
$fp=fclose(fp);

$fp=fopen("guestbook.txt","r+");
$oldgb=fgets($fp,1000000);
rewind ($fp);
fputs ($fp,nl2br(variable in dem der String fürs Speichern steht))."<br>".$oldgb;
fclose ($fp);

Ausgabe der Datei:
if (file_exists("guestbook.txt"))
{
readfile ("guestbook.txt");
}
else
{
echo ("In diesem Gästebuch sind noch keine Einträge vorhanden");
}
 
Zurück
Oben