我这里有一个代码,它会向数据库发送一个数值。 PHP代码:
<?php
$ctr =1
<form method = 'POST'>
$radio =$ctr;
<input type 'radio' name = '$radio[ctr]' />
$ctr++;
<input type ='submit' name='submit'>
</form>
if(isset($_POST['submit']))
{
for($ctr=1; $ctr<$countme; $ctr++)
{
score++;
}
enter code here
$insert = mysql_query("UPDATE `tblname` SET `score` = '".$score."' where number = '$number');
if ($insert){ header('Location:somefile.php');}
}
?>
现在的问题是,更新查询似乎无法正常工作,header()
可以正常工作,但它会向数据库插入0
值。我尝试将header()
更改为echo
语句,并使用正确的值更新数据库。
您认为这是什么问题?代码不会返回任何错误。提前谢谢。
答案 0 :(得分:1)
这不是更正,这是创建...您的<?PHP?>
代码应位于页面顶部,因为如果页面上已经打印了某些内容,header()
将不会输出任何内容。
另外,你错过了mysql_connect()
,你知道吗?最后,这是不安全的php,小心。
<?php
if(isset($_POST['submit'])) {
$score = 0;
foreach ($_POST['radio'] as $id => $value) {
$value == true and $score++;
}
// mysql_connect();
$insert = mysql_query("UPDATE `tblname` SET `score` = '{$score}' where `number` = {$number}");
if ( $insert ) {
header('Location:somefile.php');
}
}
?>
<form method="POST">
<input type="radio" name="radio[]" />
<input type="submit" name="submit" />
</form>