Pas*_*ner 2 html php mysql forms
我有几个选择语句看起来像这样.我需要将php变量传递到我的数据库中.
<select name="gamestart" >
<?php for($gamestart=1; $gamestart<=24; $gamestart++)
echo "<option value='$gamestart'>$gamestart:00</option>";
?>
</select>
Run Code Online (Sandbox Code Playgroud)
这是我的插入语句到我的数据库与其他类似的变量,我有同样的问题.
<?php
$mysql_query = "INSERT INTO soccer_games (gamestart, gameend)
VALUES ('$gamestart', '$gameend')";
$this->db->query($mysql_query);
?>
Run Code Online (Sandbox Code Playgroud)
截至目前,值已被放入数据库,但INSERT进入数据库的值是数字25(在我的循环中甚至不是一个选项,你可以看到),无论我在表单中选择什么值.
编辑1:问题可能是我没有使用过表格(我的无限智慧中的我没有意识到我需要一个表格).
我假设我需要这种性质的东西......
public function insertstatements(){
<?php
$mysql_query = "INSERT INTO soccer_games (gamestart, gameend)
VALUES ('$gamestart', '$gameend')";
$this->db->query($mysql_query);
?>
}
<form method="post" action="<?php insertstatements(); ?>">
<select name="gamestart" >
<?php for($gamestart=1; $gamestart<=24; $gamestart++)
echo "<option value='$gamestart'>$gamestart:00</option>";
?>
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
您可以使用gamestart表单中的任何一个$_POST['gamestart']或$_GET['gamestart']根据表单中的method设置访问表单中发送的内容(如果没有method属性,则为GET).
你$gamestart的设置是25在我猜之前for循环在你的数据库插入逻辑之前,所以它的值将被设置为25.
确保mysql_real_escape_string在将变量放入查询之前使用它,否则您可能很容易遭受一些SQL注入攻击.绝不相信用户输入!
所以一个正确的例子是(我不知道你从哪里来$gameend,但如果它也来自表格,也要用它来做同样的事情):
$gamestart=mysql_real_escape_string($_POST['gamestart']);
$mysql_query = "INSERT INTO soccer_games (gamestart, gameend)
VALUES ('$gamestart', '$gameend')";
Run Code Online (Sandbox Code Playgroud)
编辑:你可以简单地访问您的GET和POST变量,$gamestart如果已经register_globals启用.但你应该关闭它,而不是写任何依赖它的代码.为什么,在Google上搜索它.
| 归档时间: |
|
| 查看次数: |
3571 次 |
| 最近记录: |