0

下面的表格没有给 MySQL 表“contest”的第四个字段加分。

我找不到代码有什么问题。我错过了一些明显的东西吗?

echo '<form action="http://www.website.com/folder/file.php" method="post"> 
    <input type="hidden" value="'.$u.'" name="u"> 
    <input type="hidden" value="'.$profile.'" name="profile"> 
    <input type="hidden" value="'.$profileid.'" name="profileid"> 




    <div class="friend2title"><label for="url">Add points:</label></div> 
    <div class="friend2field"><input name="state" type="text" id="state" maxlength="150"></div>




    <div class="addresssubmit"><input name="submit" type="submit" value="Add"></div> 
</form>
';

然后,在http://www.website.com/folder/file.php

$u = $_POST['u'];
$profile = $_POST['profile'];
$profileid = $_POST['profileid'];

$state = $_POST['state'];





$state = mysql_real_escape_string($state);



mysql_query("INSERT INTO contest VALUES (NULL, 'critic', '$profileid',  '$state', NULL')");
4

1 回答 1

1

您必须value在状态输入中使用默认值声明属性

<input name="state" type="text" id="state" value="' . $state . '" maxlength="150">

另外,您的代码容易受到 SQL 注入的影响,永远不要信任来自用户的字段,这对您的数据库非常危险。

于 2012-07-02T23:42:06.253 回答