soll ein gästebuch script werden. alles klappt. man kann eintragen, und man kann lesen.
doch, es werden die einschränkungen nicht beachtet (habe es versucht ein wenig im code hervorzuheben)
doch, es werden die einschränkungen nicht beachtet (habe es versucht ein wenig im code hervorzuheben)
PHP-Code:
<?php
//zur datenbank connecten
include ("../includes/db_connect.php");
?>
<form name="Datenbank" method="post" action="gaestebuch_formular.php">
<table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="93">Name:</td>
<td width="707"><input name="name" type="text" id="name"></td>
</tr>
<tr>
<td>eMail:</td>
<td><input name="email" type="text" id="email"></td>
</tr>
<tr>
<td>Homepage:</td>
<td><input name="homepage" type="text" id="homepage"> </td>
</tr>
<tr>
<td valign="top">Eintrag:</td>
<td><textarea name="eintrag" cols="50" rows="18" wrap="PHYSICAL" id="textarea5"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="hidden" name="zeit" value="<?php echo date("<b>j.n.y</b> H:i", $unixtime); ?>">
<input type="hidden" name="action" value="insert">
<input name="submit" type="submit" id="abschicken5" value="Eintragen"></td>
</tr>
</table>
</form>
<?php
if($submit){
//Das Formular der Datei guestbook_new.php wurde ausgefüllt und abgeschickt
//HTML- und PHP-Tags aus den Eingabefeldern entfernen
$name=strip_tags($name);
$email=strip_tags($email);
$homepage=strip_tags($homepage);
$eintrag=strip_tags($eintrag);
//Konvertiere Zeilenumbrüche in HTML-<br>-Umbrüche
$eintrag=nl2br($eintrag);
------------->start des ersten problems
//Eingaben überprüfen
if(strlen($name)<3){
//Kein richtiger Name eingegeben
$error_msg="Bitte geben Sie Ihren Namen an";
}
if(strlen($eintrag)<3){
//Kein Eintrag vorgenommen
$error_msg.="<br>Bitte geben Sie auch etwas in das Gästebuch ein.";
}
if(ereg("^([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$homepage)){
//Es wurde auch eine Homepageadresse angegeben - entsprechende Formatierung vornehmen
if(!ereg("^[url]http:////[/url]",$homepage)){
//http:// fehlt in der Angabe der Adresse - hier ergänzen
$homepage="http://" . $homepage;
}
$hp_format="<br>Homepage: <a href=" . $homepage . " target=new>" . $homepage . "</a>";
}
//Ende Eingaben überprüfen
if($error_msg){
//Fehlerhafte Angaben - Hinweis ausgeben und keinen Eintrag vornehmen
$message ="<br>Ihr Eintrag konnte leider nicht in unser Gästebuch aufgenommen werden:<br>";
$message.=$error_msg;
$message.="<br>Klicken Sie auf <a href=javascript:history.back(1)>zurück</a>.<br><br>";
------------->ende des ersten problems
}else{
//Neuen Gästebucheintrag vornehmen
$now=date("Y-m-d H:i:s");
$gastebuch_SQL_insert="INSERT INTO guestbook (name,homepage,eintrag,zeit) VALUES ('$name','$hp_format','$eintrag','$now')";
mysql_query($guestbook_SQL_insert);
//Mail verschicken
$recipient="jfranke@wiwi.uni-frankfurt.de";
$subject="Neuer Eintrag im Gaestebuch";
$header="From: [email]webmaster@schreinerei-boerner.de[/email]\n";
$mail_body="Neuer Eintrag im Gaestebuch";
mail($recipient,$subject,$mail_body,$header);
}
}
$abfrage = "SELECT * FROM gaestebuch"; //die bestimmten rows werden gesucht (in diesem fall die komplette tablelle)
$auslesen = mysql_query($abfrage); //die ausgewählten rows bzw. die tabelle wird ausgelesen
$anzahl = mysql_num_rows($auslesen); //es wird die anzahl der db einträge ausgerechnet
echo "Im Gästebuch sind <b>$anzahl Einträge</b> zu finden<br><br>";
------------->start des zweiten problems
if(!$pos) $pos=0;
$count=5;
$guestbook_SQL="SELECT * FROM gaestebuch ORDER BY zeit DESC LIMIT $pos,$count";
$guestbook_result=mysql_query($guestbook_SQL);
//Anzahl der Datensätze ermitteln
$no_data=mysql_num_rows(mysql_query("SELECT gaestebuch_id FROM gaestebuch"));
//Mit diesen Anweisungen werden die Links für das Blättern zwischen den Ergebnissen erzeugt
$new_pos_next=$pos+$count;
if($new_pos_next>=$no_data){
$link_next="weiter >>";
}else {
$link_next="<a href=gaestebuch_formular.php?pos=" . $new_pos_next . ">weiter >></a>";
}
$new_pos_prev=$pos-$count;
if($new_pos_prev<0){
$link_prev="<< zurück";
} else {
$link_prev="<a href=gaestebuch_formular.php?pos=" . $new_pos_prev . "><< zurück</a>";
}
------------->endedes ersten problems
while($row = mysql_fetch_array($auslesen)){
$ts=$gaestebuch['zeit'];
$unixtime = mktime(substr($ts,11,12),substr($ts,14,15),substr($ts,17,18),substr($ts,5,6),substr($ts,8,9),substr($ts,0,4));
?>
<br>
<table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="234">Name:</td>
<td width="314"><strong>
<?php
echo $row['name']; ?>
</strong></td>
</tr>
<tr>
<td>eMail :</td>
<td><?php echo $row['email']; ?></td>
</tr>
<tr>
<td>Homepage:</td>
<td><?php echo $row['homepage']; ?></td>
</tr>
<tr>
<td>Eintrag:</td>
<td><?php echo $row['eintrag']; ?></td>
</tr>
<?php
}
?>
</table>
Kommentar