我在一个页面中有 2 个按钮。其中一个按钮保存通过 3 个文本框输入的日期。另一个调用一个函数来进行一些数据操作。
这就是我从上面提到的第一个按钮中得到的。
<input type="submit" name="gravarnext" value="Gravar" />
<?php
if (isset($_POST['gravarnext'])) {
if ($_POST['atextfield1'] <= 0 OR $_POST['atextfield2'] <= 0 OR $_POST['atextfield3'] <= 0 OR $_POST['atextfield1'] > 31 OR $_POST['atextfield2'] > 12 OR $_POST['atextfield3'] < 2013){ ?>
<script>window.alert("Um ou mais valores são inválidos (Dia 1-31 / Mês 1-12 / Ano 2013+).");</script>
<?php } else {
$qp = "UPDATE login.next SET dia = '".$_POST['atextfield1']."'";
$rqp = mysql_query($qp);
$qp = "UPDATE login.next SET mes = '".$_POST['atextfield2']."'";
$rqp = mysql_query($qp);
$qp = "UPDATE login.next SET ano = '".$_POST['atextfield3']."'";
$rqp = mysql_query($qp);
echo $_SERVER['PHP_SELF']; ?>
<script>window.alert("Data do próximo sorteio atualizada com sucesso!");</script>
<?php }
}
这是第二个按钮的相应代码
<button onclick="myFunction()">Finalizar</button>
<script>
function myFunction()
{
var r=confirm("Depois de carregar 'ok', todas as ações tomadas são irreversíveis. Desejas continuar?");
if (r==true)
{
<?php
//Refresha o palpite do utilizador para 0 e guarda o palpite antigo como ultpalpite
$qp5 = "UPDATE login.users SET ultpalpite = palpiteatual";
$rqp5 = mysql_query($qp5);
//Gera o número sorteado
$numsort = rand(1,50);
$qp2 = "UPDATE login.sorteio SET ultsorteio = '".$numsort."'";
$rqp2 = mysql_query($qp2);
$qp3 = "UPDATE login.next SET numsorteado = '".$numsort."'";
$rqp3 = mysql_query($qp3);
//Adiciona +1 ao vezesganhou do(s) vencedor(es)
$qp4 = "UPDATE login.users SET vezesganhou = vezesganhou + 1 WHERE ultpalpite = '".$numsort."'";
$rqp4 = mysql_query($qp4);
//Atualiza data do ultimo sorteio
$d = date('j');
$m = date('n');
$y = date('Y');
$aqp1 = "UPDATE login.sorteio SET diaultsort = '".$d."', mesultsort = '".$m."', anoultsort = '".$y."'";
$arqp1 = mysql_query($aqp1);
?>
}
else
{
return 1;
}
}
</script>
所以,我的问题是,每当我单击第一个按钮(称为“Gravar”)时,除了与第二个按钮(称为“Finalizar”)关联的函数也运行之外,一切都运行得很好。这可能是什么原因造成的?不要担心 sql 漏洞和/或错误的编码。这仅用于测试目的。