【发布时间】:2013-06-24 16:53:33
【问题描述】:
我正在尝试创建一些东西,如果用户选择一场比赛将获胜,并且该比赛获胜,则积分会自动进入 DB。我做得很好,直到积分只进入 DB 一次。我的意思是正确验证,但每次刷新点进入 DB 。请帮忙。
//Ndeshjet e fituara ose jo
echo "<h3>Ndeshjet e vendosura nga <b>$username</b> dhe Rezultatet:</h3><br/>";
$query = $db-> query("SELECT * FROM match_select WHERE user_id='$username'");
while ($row = $query->fetch(PDO::FETCH_ASSOC)){
$match = $db->query("SELECT * FROM `winner` WHERE `user_id` = '$username' AND `match_id` = '$id' AND `liga`='$liga'");
$id = $row['match_id'];
$liga = $row['liga'];
$koeficent = $row['selected_koef'];
if($match->rowCount($match)){
echo "";
}else{
if ($row['result'] == $row['final']){
$hey = "style='color: green;' ";
$match = $db -> query("INSERT INTO winner (user_id, match_id, koef, final, liga) VALUES ('$username','$id', '$koeficent', '1', '$liga')");
}else if ($row['final']== ""){
$hey = "style='color: black;' ";
}else{
$hey = "style='color: red;' ";
}
}
}
【问题讨论】:
-
将您的 php 代码与显示代码分开,这样它就不会重新执行。 IE page1 发布到 script.php,它不产生任何输出并将
header("Location:page2.php");exit();重定向到 page2。然后你可以点击后退,前进,刷新所有你喜欢的,但是script.php只会在表单提交时运行 -
我不想提交表单。如果他只赢了一次比赛,我想为用户更新数据库。
-
啊!所以你真的需要检查 $username 是否已经尝试过,通过将它记录在数据库中(不管他们是否获胜)并在执行你的代码之前检查它(即你已经尝试过并且获胜/失败)
-
这正是我想要做的。用我试过的形式,它工作得很好,但我希望这是另一种选择。如果我能让这个工作,表单将无法使用
-
您将不得不提供更多信息并将 cmets 添加到您的代码中以解释您尝试做什么
标签: php mysql error-handling