Inserting MySQL Data Twice
Posted: Sun Jan 28, 2007 10:16 am
I'm trying to create a one file shoutbox that can show and post shouts. However, I'm having some difficulties inserting the data. The data gets inserted twice. Also, when I view the shouts, only the newest row from the table is displayed. Heres the code:
Code: Select all
<?php
$username="**";
$password="**";
$database="**";
$host="**";
$name = $_POST['name'];
$message = $_POST['message'];
$time = date("n/d/y h:ia");
$ip = $_SERVER['REMOTE_ADDR'];
if(isset($_POST['posted'])) {
mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "INSERT INTO shoutbox VALUES ('','$ip','$name','$time','$message')";
mysql_query($query);
mysql_close();
echo "<br><br><center>Your shout has been posted, <a href=\"index.php?id=shouts&page=shoutbox&act=posted\">click here</a> to view it.</center>";
} elseif(!isset($_POST['posted'])) {
echo "<center><form method='POST' action='index.php?id=shouts&page=shoutbox'>
Name: <input type='text' name='name' class='input' style=\"width:110px;\"><br>
Message: <br><textarea name='message' class='input' cols='10' rows='3'>Put your shout here</textarea><br><br>
<input type='hidden' name='posted' value='true'>
<input type='submit' value='Shout!' class='input' style=\"width:110px;\"></center>";
} elseif($_GET["act"] == "posted") {
mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query2="SELECT * FROM shoutbox";
$result=mysql_query($query2);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$name=mysql_result($result,$i,"name");
$message=mysql_result($result,$i,"message");
$time=mysql_result($result,$i,"time");
echo "<h2><center>Shouts</center></h2><br>";
echo "<center>$num shouts</center>";
echo "<center><table align=\"center\" border=\"1\" style=\"width:115px;\"><tr><td><span class=\"shout\"><b>Name:</b> $name</span></td><tr><td><span class=\"shout\">$message</span></td></tr><tr><td><span class=\"shout\">Posted at $time</span></td></tr></table><br><br>";
$i++;
}
}
?>