我的表格如下:
<form action="campionat.php?competitii='.$idcompetitie.'">
<input type="submit" name="upgrade" value="inainte" />
</form>
在campionat.php
:
if($_POST['upgrade']=="inainte")
{
$lvlupstadion = $levelstadio+1;
$cost = 10000000*$lvlupstadion;
$bugetnou = $buget - $cost;
$q = mysql_query("UPDATE echipa SET levelstadion='".$lvlupstadion."' , buget='".$bugetnou."' WHERE (`echipa`='".$echipa."') AND (`user`='".$id."') AND (`competitie`='".$competitie."')") ;
if (!$q)
{
echo mysql_error($q);
}
echo $lvlupstadion.$bugetnou.$echipa.$id.$competitie;
}
为什么我的数据库没有更改,我的脚本没有提醒我错误?
答案 0 :(得分:2)
<form>
标记的默认方法是GET。
由于您的表单没有指定方法,因此它会发送一个get。在这种情况下,$_POST['upgrade']
不可用。
如果你改变了
<form action="campionat.php?competitii='.$idcompetitie.'">
<input type="submit" name="upgrade" value="inainte" />
</form>
到
<form method="post" action="campionat.php?competitii='.$idcompetitie.'">
<input type="submit" name="upgrade" value="inainte" />
</form>
它应该有用。
答案 1 :(得分:1)
您的表单没有method
,因此默认为GET
。这是一个问题,因为您正在尝试访问永远不会设置的$_POST['upgrade']
。
将方法设置为post
。
<form method="post" ... >
来自W3C docs:
方式强>
可能的(不区分大小写)值是“get”(默认值)和“post”
答案 2 :(得分:1)
你的表格遗失了。你必须在$ _GET和$ _POST之间做出选择。 +你用$ q做什么?
答案 3 :(得分:0)
如果
(`user`='".$id."')
是一个ID(int),你不需要简单的引用。它可能对你有帮助
答案 4 :(得分:0)
将值存储在隐藏字段中,然后将其发送到另一个页面
<form action="campionat.php" method="post">
<input type="hidden" name="competitii" value="<?php echo $idcompetitie; ?>">
<input type="submit" name="upgrade" value="inainte" />
</form>
您的重定向不是从表单发布方法发送值。