כמה עצות:
1. תשתמש ב mysql_fetch_assoc ולא array.
2. את הכנסת הנתונים לטבלה תעשה בתוך IF הגיעו נתונים מהטופס רק אז לנסות להכניס אותם.
ואם הגיעו נתונים להכנסה, תעשה redirect מחדש לדף ואז זה ימנע מהדפדפן לנסות לשלוח את נתוני הPOST מחדש בריענון.
3. תעשה mysql_real_escape_string לפני שאתה מכניס נתונים מהמשתמש לשאילתה
4. תשתמש ב HEREDOC שזה הדבר עם ה>>>
הקוד יראה משהו כזה:
PHP קוד:
<?php
$connection = mysql_connect("localhost","DBNAME","DBPASS")
or die ("Couldn't connect to server");
$query = "CREATE DATABASE IF NOT EXISTS DBNAME";
$result = mysql_query($query)
or die("Query failed: " . mysql_error());
$db = mysql_select_db("DBNAME", $connection)
or die ("Couldn't select database");
if(isset($name) && isset($_POST["number"])) {
$name = mysql_real_escape_string($_POST["name"]);
$number = mysql_real_escape_string($_POST["number"]);
$query = "INSERT INTO `reg` (name, number) VALUES('{$name}', '{$number}')";
$result = mysql_query($query)
or die("Query failed: " . mysql_error());
header("Location: ?");
die();
}
?>
<HTML>
<HEAD>
<TITLE>
äöâú ðúåðéí îúåê èáìä
</TITLE>
</HEAD>
<BODY>
<CENTER>
<H1>äöâú ðúåðéí îúåê èáìä</H1>
<?php
$query = "SELECT * FROM reg";
$result = mysql_query($query)
or die("Query failed: " . mysql_error());
echo <<<HTML
<TABLE BORDER='1'>
<TR>
<TH>Name</TH><TH>Number</TH>
</TR>
HTML;
while ($row = mysql_fetch_assoc($result))
{
echo <<<HTML
<TR>
<TD>{$row['name']}</TD><TD>{$row['number']}</TD>
</TR>
HTML;
}
echo <<<HTML
</TABLE>
HTML;
mysql_close($connection);
?>
</CENTER>
</BODY>
</HTML>