Geschrieben von mawes am 16.10.2004, 22:23

Hi,
hier ein Tutorial, mit dem User eine Geschichte schreiben können, und sie auch fortsetzen!
Wir brauchen 5 Dateien!
- create_table.php
- index.php
- db.php
- footer.php
- insert.php
Ein Beispiel voran: http://mawes.milten.lima-city.de/mawes/story/
So wird das ganze aussehen!
### create_table.php ###


<html><body>
<h3>Die Geschichts Tabelle erstellen</h3>
<?php
include ("db.php");
$anfrage="CREATE TABLE story (id INT AUTO_INCREMENT, story (text)PRIMARY KEY (id))";
mysql_query($anfrage);
mysql_close();
?>
</body></html>

*** Erläuterung ***
Mit include ("db.php"); wird die Datei db.php eingebunden, in der die Datenbank-Informationen stehen! Dies Lohnt sich, da man sonst nicht immer wieder seine Informationen ändern muss, sondern nur einmal!

Create Table ist der Befehl, mit dem man eine Tabelle in der Datenbank erstellen kann! In diesem Fall lautet diese "story" mit den Zeilen id und story!
### db.php ###


<?php
$dbname="";
$dbhost="mysql.lima-city.de";
$dbuser="";
$dbpass="";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
?>

*** Erläuterung ***
Hier müsst ihr als Einziges etwas ändern! nämlich eure Datenbank Informationen! diese Betreffen den DB-Namen (DB*********), DB-host (auf Lima: mysql.lima-city.de), DB-User (USER****) und dein DB-Pass (*******)! Dieses muss geändert werden!

### index.php ###


<html>
<body>
<center><h1>Geschichte</h1></center><br>
<center><h3>Setzt sie selber fort, und macht einen Roman daraus!</h3></center>
<?PHP
include ("db.php");
$query = "SELECT * FROM story";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result)) { ?>
<?=$line[story]?><br>
<?PHP
}
mysql_free_result($result);
mysql_close();
?>
<br>
<a href="insert.php">neuer Eintrag</a>
<? include ("footer.php"); ?>
</body>
</html>

*** Erläuterung ***
Hier werden alle schon eingetragenen Zeilen ausgelesen, und in je einer neuen Zeile ausgegeben! SELECT * FROM story wählt den Table aus!
<?=$line[story]?> holt sich alle Texte der Einträge (mit while - Schleife!) und sortiert sie nach der ID (wird automatisch eingetragen!)
AM Ende wird noch footer.php eingebunden!
### footer.php ###

<html>
<body>
<center><table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
<tr>
<td width="100%">
<p><center> <?php
include ("db.php");
$anfrage="SELECT * FROM story";
$ergebnis=mysql_query($anfrage);
$anz=mysql_num_rows($ergebnis);
print ("<p>Page Impressions: ");
print ($anz);

mysql_close();
?>
</center></td>
</tr>
<tr>
<td width="100%">
<p align="center">by mawes</td>
</tr>
</table>
</center>
</body></html>


*** Erläuterung ***
Hier wird die Anzahl aller Einträge (Impressionen) gezählt! Dieses passiert hierdurch:
$anfrage="SELECT * FROM story";
$ergebnis=mysql_query($anfrage);
$anz=mysql_num_rows($ergebnis);

### insert.php ###


<html>
<body>
<?PHP
if ($button==" OK ") {
include ("db.php");
mysql_query("INSERT INTO
story(story)VALUES('$Nachricht')");
mysql_close();
?>
Die Daten wurden eingetragen<br>
<a href="index.php">zur Übersicht</a>
<?
}
else {
?>
<script language="JavaScript">
<!--
function RestlicheZeichenErmitteln(form)
{
var ErlaubteAnzahl=150;

Laenge=document.Formular.Nachricht.value.length;
if(Laenge>ErlaubteAnzahl)
{
document.Formular.Nachricht.value=document.Formular.Nachricht.value.substring(0,ErlaubteAnzahl);
RestlicheZeichen=0;
}
else
{
RestlicheZeichen=ErlaubteAnzahl-Laenge;
}
document.Formular.Laenge.value=RestlicheZeichen;
}
//-->
</script>
<form method="post" action="insert.php" name="Formular">
Hier kommt deine Story rein!<input type="text" name="Nachricht" onblur="RestlicheZeichenErmitteln(this);" onchange="RestlicheZeichenErmitteln(this);" onfocus="RestlicheZeichenErmitteln(this);" onkeydown="RestlicheZeichenErmitteln(this);" onkeyup="RestlicheZeichenErmitteln(this);"> Noch <input size="3" name="Laenge" value="150"> Zeichen<br>
<input type="submit" name="button" value=" OK ">
</form>
<?
}
include ("footer.php");
?>
</body>
</html>


*** Erläuterung ***
EIn kleines Javascript erlaubt es den Usern nur, einen Maximal Text mit 150 Zeichen zu verwenden!
Dieses kann hier: var ErlaubteAnzahl=150;
und hier: <input size="3" name="Laenge" value="150">
geändert werden! Sonst existiert nur noch ein Textfeld mit der Eingabemöglichkeit des Textes, und die Eintragung in die Datenbank!mysql_query("INSERT INTO
story(story)VALUES('$Nachricht')");
$Nachricht ist wiederrum der eingetragene Text! Dieser wird in den Table story in die Zeile story eingetragen!

### WICHTIG ###
Es muss in db.php die Datenbankinformationen konfiguiert werden! Sonst klappt gar nichts!

Bei Fragen, bitte per PN an mich wenden!

PS: Für alle faulen unter euch, könnt ihr es euch auch auf http://www.mawes.de.vu runterladen! Unter Downloads!

Copyright by mawes

Bewertung Anzahl
6
100,0 %
8 Bewertungen