这是基本的东西,但我不能得到以下形式来可靠地处理。该页面的名称是inplain.php。它偶尔会起作用。该页面只列出“平台”表中的所有值,并允许用户添加记录和刷新。
<?
session_start();
if (!isset($_SESSION['id_customer'])) { die ("Access Denied"); }
include "../inc/db.php";
if (isset($_POST['submit'])) {
$platform = $_POST['platform'];
$created = date("Y-m-d H:i:s");
$query = "INSERT INTO Platform (id_platform, platform, date_created, date_modified) VALUES ('', $platform, '$created', '$created')";
mysql_query($query);
mysql_close();
header("Location: inplain.php");
}
echo $passage;
?>
<table cellpadding="15">
<tr>
<td valign="top" width="50%">
<?
$sell_result = mysql_query("SELECT COUNT(id_platform) FROM Platform");
$sell_count=mysql_fetch_array($sell_result);
?>
The following <?=$sell_count['COUNT(id_platform)']?> categories exist in Platform. | <a href="inlist.php">Add Game...</a>
<div style="height: 250px; overflow: auto;">
<ul>
<?
$result = mysql_query("
SELECT * FROM Platform");
while($row = mysql_fetch_array($result)) {
?>
<li>
<a href="inwant.php?addswaps=1&cat=Sell&col=sell&hid=<?=$row['id_platform']?>"><?=$row['id_platform']?></a> - <?=$row['platform']?>
<img src="../images/dot.png" width="1" height="20" border="0" />
<a href="inplain.php?remove=1&cat=Platform&col=platform&pid=<?=$row['id_platform']?>"><img src="../images/delete.jpg" width="15" height="15" border="0" alt="Delete" /></a>
</li>
<? } ?>
</ul>
</div>
</td>
</tr>
<tr>
<td>
<form name="inplain.php" method="post">
Add a new platform:
<br />
<input type="text" name="platform" size="30" /><BR>
<input type="submit" id="submit" name="submit" value="Add" />
</form>
</td>
</tr>
</table>
感谢您的建议,这最终终于有效了,我在“if(isset($ _ POST ['submit'])){”
的位置添加了这个。$password = mysql_real_escape_string($_POST['password']);
if ($_POST['Submit'] == 'Add' & $password == 'xyd') {
$platform = mysql_real_escape_string($_POST['platform']);
$created = date("Y-m-d H:i:s");
$query = "INSERT INTO Platform (id_platform, platform, date_created, date_modified) VALUES ('', '$platform', '$created', '$created')";
mysql_query($query);
mysql_close();
header("Location: inplain.php");
die();
}
答案 0 :(得分:1)
在撰写exit
标题后,您需要Location
。写入额外的输出可能会破坏重定向。
答案 1 :(得分:0)
您应输出mysql查询的结果,并使用mysql_error函数确定查询中是否有某些内容失败。我注意到你没有在插入的$ platform变量周围加上引号,这可能是一个问题。
另外,请注意您的脚本容易受到sql注入攻击。在插入之前,您需要使用mysql_real_escape_string转义$ platform字符串。
最后,在您的提交逻辑中,在将重定向的标头发送回脚本之后,您应该在浏览器重定向时放置一个die()命令以阻止脚本进行任何进一步处理。不是必需的,但是很好的做法。
答案 2 :(得分:0)
可能值得检查MySQL和PHP的错误日志。
故障是否可能与调用脚本的位置有关,因为我注意到您的数据库详细信息位于包含相对路径的包含中。如果这个脚本也被“包含”而不是直接运行,那么这个相对路径可能并不总是正确的吗?