max. Einträge pro Seite für ein Gästebuch
Martin
- php
Hallo liebe Leute
mich interessiert wie ich bei einem Gästebuch mir nicht mehr wie 10 Einträge pro Seite anzeigen lassen kann und dann automatisch wenn es mehr sind ein link zur nächsten seite angezeigt wird.
Ich habe mir zum testen mal andere php gästebücher angeschaut doch ich finde da leider keinen Ansatz.
Es wäre nett wenn mir einer mal das Grundprinzip erklärt.
Vielen herzlichen Dank an alle die sich bemühen einem Anfänger zu helfen.
Ciao Martin
Hi,
mich interessiert wie ich bei einem Gästebuch mir nicht mehr wie
als
10 Einträge pro Seite anzeigen lassen kann und dann automatisch wenn es mehr sind ein link zur nächsten seite angezeigt wird.
Schritt 1: Nur die (maximal) 10 gewünschten Einträge auslesen und darstellen.
Schritt 2: Über einen URL-Parameter ermöglichen, den Begriff "gewünscht" zu spezifizieren. Hat Einfluss auf Schritt 1.
Schritt 3: Auf jeder Seite Link mit diesem URL-Parameter generieren.
Es wäre nett wenn mir einer mal das Grundprinzip erklärt.
Ich hoffe, es ist Dir nun ein wenig klarer. Wenn nicht, sage bitte, an welcher Stelle Du noch Verständnisschwierigkeiten hast.
Cheatah
Hi,
mich interessiert wie ich bei einem Gästebuch mir nicht mehr wie 10 Einträge pro Seite anzeigen lassen kann und dann automatisch wenn es mehr sind ein link zur nächsten seite angezeigt wird.
Ich habe mir zum testen mal andere php gästebücher angeschaut doch ich finde da leider keinen Ansatz.
Es wäre nett wenn mir einer mal das Grundprinzip erklärt.
ich wuerde es so machen:
Gruss,
Lude
Hi,
ich wuerde es so machen:
der Algorithmus ist unvollständig ;-)
- Datenhaltung fuers Gaestebuch analysieren
- Datenbankabfrage,
Wie weißt Du noch vor dem Ergebnis des ersten Punktes, dass der Datenhaltung eine Datenbank zugrunde liegt?
- Testen und Debuggen
Das ist Teil jedes einzelnen genannten Schrittes :-)
Cheatah
Hi,
Wie weißt Du noch vor dem Ergebnis des ersten Punktes, dass der Datenhaltung eine Datenbank zugrunde liegt?
nach ueblicher Definition waere auch beispielsweise eine Textdatei oder eine in einem HTML-Template sich befindliche "JavaScript-Tabelle" als Datenbank aufzufassen. (Oder haette ich vielleicht doch besser von 'Datenbasis' schwaetzen sollen?)
- Testen und Debuggen
Das ist Teil jedes einzelnen genannten Schrittes :-)
Klar, aber zuletzt ist es am wichtigsten.
Gruss,
Lude
Hi,
nach ueblicher Definition waere auch beispielsweise eine Textdatei oder eine in einem HTML-Template sich befindliche "JavaScript-Tabelle" als Datenbank aufzufassen.
nach üblicher Definition existiert eine strikte Trennung zwischen Datenbanken und Dateien bzw. anderen Formen der Datenhaltung.
(Oder haette ich vielleicht doch besser von 'Datenbasis' schwaetzen sollen?)
Damit wäre es eindeutiger :-)
- Testen und Debuggen
Das ist Teil jedes einzelnen genannten Schrittes :-)
Klar, aber zuletzt ist es am wichtigsten.
Naja. Sagen wir so: Nur am Schluss kann man das Zusammenspiel aller Komponenten testen.
Cheatah
Hi,
nach ueblicher Definition waere auch beispielsweise eine Textdatei oder eine in einem HTML-Template sich befindliche "JavaScript-Tabelle" als Datenbank aufzufassen.
nach üblicher Definition existiert eine strikte Trennung zwischen Datenbanken und Dateien bzw. anderen Formen der Datenhaltung.
(Oder haette ich vielleicht doch besser von 'Datenbasis' schwaetzen sollen?)
Damit wäre es eindeutiger :-)
Datenbank = Database = Datenbasis - komme ich damit durch? ;-)
Gruss,
Lude
Hi,
Datenbank = Database = Datenbasis - komme ich damit durch? ;-)
sagen wir so: Ich akzeptiere Deinen Irrtum als assoziativer Natur ;-)
Cheatah
Lässt sich das auch irgendwie ohne eine Datenbank realisieren ??
Ich mach das wie folgt mit meinem Gästebuch:
Ich habe ein Formular mit name email www titel und kommentar.
Eine Variable ist das Design meines Gästebuch und die wird mir in eine dat datei eingetragen.
Das sind Variablen.
Anschliessend prüfe ich ob die Formularfelder ausgefüllt worden.
Hier ist mal der Code dazu
<?
//Fehlervariable
$fehler = "Bitte kontrolliere deine Angaben nochmals. Du musst die Felder welche mit einem kleinen * versehen sind korrekt ausfüllen.";
//Fehlervariable Ende
if ($action == "senden")
{
//Formular prüfen
if($name == "" or $email == "" or $titel == "" or $kommentar == "")
{
echo $fehler;
$formularok = 0;
}
else
{
$formularok = 1;
$kommentar = wordwrap($kommentar, 60, "<br>", 4 );
}
//Formular prüfen Ende
//Einträge zählen
if ($formularok == 1)
{
$anzahleintraege = fopen("count.dat","r+");
$nummer = fgets ($anzahleintraege);
rewind($anzahleintraege);
$nummer = $nummer + 1;
fwrite ($anzahleintraege,$nummer);
fclose($anzahleintraege);
//Einträge zählen Ende
//Datum formatieren
$datum = date("d.m.Y H:i");
//Datum formatieren Ende
//Gästebuchdesign
$eintrag = "<table cellpadding="2" cellspacing="2">
<tr>
<td widht="248">Eintrag Nr.: ".$nummer."<br>
Titel: ".$titel."
<a href="".$www.""><br>".$www."</a></td>
<td background="bilder/nav/nav_bg_wolf.gif" widht="140" height="120">
Autor: <a href="info.php">".$name."</a><br>
<a href="mailto:".$email."">E-Mail schreiben</a><br>
".$datum."</td>
</tr>
<tr>
<td widht="248">".$name." schrieb:<br> <br> ".$kommentar." </td>
</tr>
</table>
<br>";
//Gästebuchdatei öffnen/schreiben/schliessen
$datei = fopen("guestbook.dat","a+");
fwrite($datei,$eintrag);
fclose($datei);
//Gästebuchdatei öffnen/schreiben/schliessen Ende
}
//Gästebuchdesign Ende
}
else
{
//Formular ausgeben
echo
"<html><head>
<style type="text/css">
<!--
table {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
color: #FFFFFF;
}
input {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
color: #FFFFFF;
background-color: #000000;
border: 1px dashed #999999;
}
textarea {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
color: #FFFFFF;
background-color: #000000;
border: 1px dashed #999999;
overflow: auto;
}
a:visited {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
font-style: normal;
color: #666666;
text-decoration: none;
}
a:link {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
font-style: normal;
color: #666666;
text-decoration: none;
}
a:hover {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
font-style: normal;
color: #CCCCCC;
text-decoration: underline;
}
a:active {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
font-style: normal;
color: #666666;
text-decoration: none;
}
-->
</style></head><body bgcolor="#000000">
<form action="gaestebuch.php" method="get">
<table width="520" cellspacing="2" cellpadding="2">
<tr>
<td valign="top"> </td>
<td>Alle Felder die mit einem kleinen * gekennzeichnet sind<br>
bitte auszufüllen.<br>
</td>
</tr>
<tr>
<td width="120" valign="top">Name: *</td>
<td width="395"><input name="name" type="text" id="name" size="35" maxlength="15"></td>
</tr>
<tr>
<td valign="top">E-Mail: *</td>
<td><input name="email" type="text" id="email" size="35" maxlength="40"></td>
</tr>
<tr>
<td height="24" valign="top">Titel: *</td>
<td><input name="titel" type="text" id="titel" size="35" maxlength="35"></td>
</tr>
<tr>
<td valign="top">Homepage:</td>
<td><input name="www" type="text" id="www" size="35"></td>
</tr>
<tr>
<td valign="top">Dein Eintrag: *<br>
".$html." </td>
<td><textarea name="kommentar" cols="60" rows="10" id="kommentar"></textarea></td>
</tr>
<tr>
<td> </td>
<td><br> <input type="hidden" name="action" value="senden">
<input type="submit" name="Submit" value="eintragen"> </td>
</tr>
</table>
</form>body></html>";
//Formular ausgeben Ende
}
?>
Vielleicht kannst du mir jetzt besser helfen. Irgendwie muss ich doch raus bekommen wieviele Zeilen in der dat Datei stehen. Ich denke ich schreibe das noch falsch rein den ich habe ja auch html tags dabei. Besser wäre doch pro eintrag eine Zeile.
Ok mal sehen. Wie gesagt ich fange gerade damit an das ist auch mein erstes php script.
Also Danke Martin
hi,
Lässt sich das auch irgendwie ohne eine Datenbank realisieren ??
ja, aber es wird aufwendiger.
datenbanken sind dafür konzipiert, solche aufgaben mit leichtigkeit zu bewältigen, sie bringen dafür schon hilfreiche funktionalitäten mit. wenn du das auf datenhaltung in textdateien übertragen willst, musst du dir diese funktionalitäten selber erstellen.
Ich mach das wie folgt mit meinem Gästebuch:
Ich habe ein Formular mit name email www titel und kommentar.
Eine Variable ist das Design meines Gästebuch und die wird mir in eine dat datei eingetragen.
Das sind Variablen.
kannst du das nochmal auf deutsch sagen?
Irgendwie muss ich doch raus bekommen wieviele Zeilen in der dat Datei stehen.
lese die datei ein, und zähle die zeilen durch.
z.b. file() könnte dir dabei helfen.
Ich denke ich schreibe das noch falsch rein den ich habe ja auch html tags dabei. Besser wäre doch pro eintrag eine Zeile.
ja, allerdings. dazu ein eindeutig definiertes trennzeichen, dass so in den vom user eingegebenen texten nicht vorkommen darf, dann kannst du die zeile leichter in name, titel, beitrag etc. unterteilen.
gruss,
wahsaga