evilcrow
14.09.2006, 14:43:06
Hi, ich hab nen Problem mit einem Shoutbox Script ... hab alles schon versucht und komme mit meinem Wissen nicht mehr weiter.
Die SQL-Tabelle
CREATE TABLE shoutbox (
id int(11) NOT NULL auto_increment,
message text NOT NULL,
author varchar(80) NOT NULL default '',
email varchar(50) NOT NULL default '',
date varchar(50) NOT NULL default '',
ip varchar(20) NOT NULL default '',
PRIMARY KEY (id))
Die PHP-Datei
<?php
$db_host = "localhost";
$db_user = "evilcrow";
$db_password = "password";
$db_name = "database";
?>
<?
if($_POST['submit'])
{
if(!$_POST['author']) {
echo "!Error! - Es wurde kein Name eingetragen -";
die;
}
if(!$_POST['email']) {
echo "Error! - Es wurde keine Email Adresse eingetragen -";
die;
}
if(!$_POST['message']) {
echo "Error! - Es wurde keine Nachricht eingetragen -";
die;
}
?>
$message = strip_tags($_POST['message'], '');
$email = strip_tags($_POST['email'], '');
$author = strip_tags($_POST['author'], '');
$message_length = strlen ($message);
$author_length = strlen ($author);
if ($message_length > 150) {
echo "Error - Deine Nachricht muss weniger als 150 Zeichen haben -";
die;
}
if ($author_length > 150) {
echo "Error - Dein Name muss weniger als 150 Zeichen haben -";
die;
}
mysql_connect($db_host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db_name) or die (mysql_error());
$date = date("h:i A ds M");
$query = "insert into shoutbox (message, author, email, date, ip)
VALUES ('$message','$author','$email','$date','$_SERVER[REMOTE_ADDR]')";
mysql_query($query);
mysql_close();
echo "Eintrag wurde gepostet!";
}else{
mysql_connect($db_host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db_name) or die (mysql_error());
$query = "SELECT message, author, email, date, ip
FROM shoutbox order by id DESC LIMIT 10";
$result = mysql_query($query);
while($row=mysql_fetch_array($result))
{
?>
<table width="40%" border="0">
<tr>
<td width="40%">von: <?print $row['author'];?></td>
<td width="60%">am: <?print $row['date'];?></td>
</tr>
<tr>
<td colspan="2"><?print $row['message'];?></td>
</tr>
</table>
<form method=post action="shoutbox.php">
<table width="40%" border="0">
<tr>
<td width="40%">Name: <input type="text" name="author"></td>
<td width="60%">eMail: <input type="text" name="email"></td>
</tr>
<tr>
<td colspan="2">Nachricht: <input type="text" name="message"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit"></td>
</tr>
</table>
</form>
<?
}
?>
Bin für jede Hilfe dankbar.
Die SQL-Tabelle
CREATE TABLE shoutbox (
id int(11) NOT NULL auto_increment,
message text NOT NULL,
author varchar(80) NOT NULL default '',
email varchar(50) NOT NULL default '',
date varchar(50) NOT NULL default '',
ip varchar(20) NOT NULL default '',
PRIMARY KEY (id))
Die PHP-Datei
<?php
$db_host = "localhost";
$db_user = "evilcrow";
$db_password = "password";
$db_name = "database";
?>
<?
if($_POST['submit'])
{
if(!$_POST['author']) {
echo "!Error! - Es wurde kein Name eingetragen -";
die;
}
if(!$_POST['email']) {
echo "Error! - Es wurde keine Email Adresse eingetragen -";
die;
}
if(!$_POST['message']) {
echo "Error! - Es wurde keine Nachricht eingetragen -";
die;
}
?>
$message = strip_tags($_POST['message'], '');
$email = strip_tags($_POST['email'], '');
$author = strip_tags($_POST['author'], '');
$message_length = strlen ($message);
$author_length = strlen ($author);
if ($message_length > 150) {
echo "Error - Deine Nachricht muss weniger als 150 Zeichen haben -";
die;
}
if ($author_length > 150) {
echo "Error - Dein Name muss weniger als 150 Zeichen haben -";
die;
}
mysql_connect($db_host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db_name) or die (mysql_error());
$date = date("h:i A ds M");
$query = "insert into shoutbox (message, author, email, date, ip)
VALUES ('$message','$author','$email','$date','$_SERVER[REMOTE_ADDR]')";
mysql_query($query);
mysql_close();
echo "Eintrag wurde gepostet!";
}else{
mysql_connect($db_host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db_name) or die (mysql_error());
$query = "SELECT message, author, email, date, ip
FROM shoutbox order by id DESC LIMIT 10";
$result = mysql_query($query);
while($row=mysql_fetch_array($result))
{
?>
<table width="40%" border="0">
<tr>
<td width="40%">von: <?print $row['author'];?></td>
<td width="60%">am: <?print $row['date'];?></td>
</tr>
<tr>
<td colspan="2"><?print $row['message'];?></td>
</tr>
</table>
<form method=post action="shoutbox.php">
<table width="40%" border="0">
<tr>
<td width="40%">Name: <input type="text" name="author"></td>
<td width="60%">eMail: <input type="text" name="email"></td>
</tr>
<tr>
<td colspan="2">Nachricht: <input type="text" name="message"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit"></td>
</tr>
</table>
</form>
<?
}
?>
Bin für jede Hilfe dankbar.