Backware
Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht:
|
Verfasst Mo 07.03.2005 16:21
Titel
|
|
|
Zuerst einmal überlegt man sich, welche Daten in die Datenbank gespeichert werden....
- nickname des schreiberlings
- evtl realer Name
- Herkunftsort
- Eintragszeit (Zeitpunkt der Eintragung)
- Eintrag selbst (Den Text, welcher der Kerl/die Dame gepostet hat ).
Die Eintragszeit wird benötigt, um später das ganze ordentlich und zeitlich zu ordnen. Wir möchten ja die neuesten Beiträge ganz oben haben .
Manche Leute speichern noch eine auto_increment id für die Gästebucheinträge, die ist aber eigentlich nicht notwendig....
Nunja... nach der Überlegung erstellt man eine neue Datenbank-Tabelle:
nickname würde ich als "varchar" mit einer Zeichenbegrenzung von 50 Zeichen (das würde massig reichen) festlegen
Realer Name eigentlich genauso
Herkunftsort wäre mit evtl weniger Zeichen zu belegen aber auch Varchar.
Eintragszeit nutze ich immer ein INT mit 100 Zeichen.... (viel zu übertrieben aber ok )...
Der Eintrag ist bei mir immer ein TEXT.. ohne Zeichenbegrenzung.. je nachdem könnten wir da auch MEDIUMTEXT oder ähnliches verwenden.
Und nun gehts ans eingemachte
Wir erstellen das Formular zur Eintragung:
Code: | <form method="post">
Nick: <input type="text" name="new_nick"><br>
Name: <input type="text" name="new_name"><br>
Herkunft: <input type="text" name="new_ort"><br>
Eintrag: <textarea name="new_text"></textarea><br>
<input type="submit" value="Eintragen" name="senden">
</form> |
Natürlich kann man das Formular jetzt auch noch mittels CSS und so anpassen.. is aber egal für uns reicht das jetzt mal....
Im "form"-Tag habe ich absichtlich keinerlei "action" definiert, da das Formular schön an die aktuelle Datei senden soll.....
Weiter oben fügen wir nun folgenden PHP-Code ein:
Code: | <?php
if ( isset ( $_POST['senden'] ) && $_POST['senden'] != "" )
{
// MYSQLVERBINDUNG HERSTELLEN
$db_connect = mysql_connect ( "localhost" , "user" , "pwd" );
// DATENBANK AUSWÄHLEN
$db_database = mysql_select_db ( "datenbankname" );
// EINTRAG IN TABELLE EINTRAGEN
$db_eintrag = mysql_query ( "INSERT INTO tabelle_eintraege (nick,name,ort,zeit,message) VALUES ('" . $_POST['new_nick'] . "','" . $_POST['new_name'] . "','" . $_POST['new_ort'] . "','" . time ( ) . "','" . $_POST['new_text'] . "');
}
?> |
Natürlich können wir noch vorher überprüfen, ob der Nutzer auchw irklich alles ordnungsgemäß eingegeben hat, aber das is wiederrum deine eigene angelegenheit ... ich kann ja nich alles machen
Sollte nun das Formular abgeschickt werden, ist die Variable $_POST['senden'] gesetzt und der Eintrag wird durchgeführt... die einzelnen Felder werden dann in unsere vorher angelegte Tabelle eingefügt... und die Daten befinden sich nun in der Tabelle....
Es geht nun darum, eine Anzeige der bisherigen Einträge zu machen.... dafür legen wir eine Datei an, die sämtliche Einträge ausliest und ausgibt...:
Code: |
<?php
$alle_eintraege = mysql_query ( "SELECT * FROM tabelle_eintraege ORDER BY zeit DESC" );
if ( mysql_num_rows ( $alle_eintraege ) > 0 )
{
while ( $eintrag = mysql_fetch_row ( $alle_eintraege ) )
{
echo $eintrag[0] . " (" . $eintrag[1] . ") schrieb am " . date ( "d.m.Y \u\m H:i" , $eintrag[2] ) . ":<br>
nl2br ( $eintrag[4] ) . "<br><hr><br>";
}
}
else
{
echo "Keine Einträge vorhanden.";
}
?>
|
So.. das sollte es gewesen sein Natürlich muss auf der Anzeigeseite vorher noch die verbindung zur Datenbank hergestellt werden... aber naja das wirste schon alleine schaffen.. ich mach dann mal unterricht weiter
[edit]: bei Fragen oder ähnlichem... findeste Meine ICQ# in meinem Profil oder: 319314822 ... naja have fun... sollte eigentlich alles soweit beschrieben sein...
Zuletzt bearbeitet von Backware am Mo 07.03.2005 16:24, insgesamt 1-mal bearbeitet
|
|