Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提交按钮在第一次单击时不起作用_Php - Fatal编程技术网

Php 提交按钮在第一次单击时不起作用

Php 提交按钮在第一次单击时不起作用,php,Php,我尝试了很多不同的方法,但我似乎不明白为什么提交按钮在第一次点击时就不起作用。我已经从代码中删除了if语句,但仍然需要单击两次。在第一次单击时,它会刷新页面,当您单击必须向下滚动的提交按钮时,这一点最为明显。下面的代码在页面上重复了大约27次,但使用了不同的歌曲。所有这些都在第二次点击后工作,所以我很确定它们连接正确。此外,当您单击按钮一次,然后如果您单击其他按钮,它会提交您单击的第一个按钮 我已经在页面上设置了一个测试帐户,如果有人想查看它的实际外观。用户名:测试密码:测试 <?php

我尝试了很多不同的方法,但我似乎不明白为什么提交按钮在第一次点击时就不起作用。我已经从代码中删除了if语句,但仍然需要单击两次。在第一次单击时,它会刷新页面,当您单击必须向下滚动的提交按钮时,这一点最为明显。下面的代码在页面上重复了大约27次,但使用了不同的歌曲。所有这些都在第二次点击后工作,所以我很确定它们连接正确。此外,当您单击按钮一次,然后如果您单击其他按钮,它会提交您单击的第一个按钮

我已经在页面上设置了一个测试帐户,如果有人想查看它的实际外观。用户名:测试密码:测试

<?php
$resultstwo = mysqli_query($con,"Select * FROM users WHERE user_name ='$username'");
while ($row = mysqli_fetch_array($resultstwo))
{
extract($row);
}
?>
<form method="post" action="index.php">
  <?php
    //If submit form was clicked
    if(isset($_POST['endo'])) {
        //Server side validation for security purposes
       if($points >= 100 AND $endo == 0 AND $savetheworldalbum == 0) {
            mysqli_query($con,"UPDATE users SET points = points - 100 WHERE users.user_name = '$username' LIMIT 1");
            mysqli_query($con,"UPDATE users SET endo = 1 WHERE users.user_name = '$username' LIMIT 1");
        }
    }
    if ($points >= 100 AND $endo == 0 AND $savetheworldalbum == 0) {
        echo '<input type="submit" name="endo" value="100pts">';
    } elseif ($endo == 1 OR $savetheworldalbum == 1) {
        echo '<input type="submit" name="submit" value="100pts" disabled title="You already earned this track!">';
    } else {
        echo '<input type="submit" name="submit" value="100pts" disabled title="You need at least 100 points for this download">';
    } 
  ?>
</form>

这就是它的输出

<form method="post" action="index.php">
<input type="submit" name="endo" value="100pts"></form>                                                    


在决定是否禁用提交按钮后,您似乎正在设置php变量
$endo
。首先阅读你的
$\u帖子
,收集数据,然后生成HTML。但是,除非包含设置了$endo的代码,否则我无法确定是否将提交处理程序放在表单之外(html/php文件的顶部)


请发布呈现的HTML,而不是PHP。有时候,在编辑之后,它会在第一次工作,但之后它会回到原来的状态,我添加了呈现的HTML,在第一次单击时也为我工作检查您的鼠标是否正常:)开玩笑吧,这对我来说适用于所有浏览器!这很奇怪,有没有其他人在不适合他们的地方尝试过它,因为我注意到我的计算机也没有正确运行某个脚本(它没有显示滚动条)它过去是这样的,但仍然不起作用,这是一个编辑,我试着看看它是否能工作,我将把它放回原处,并尝试在此处设置$endo$results2=mysqli_query($con,“Select*FROM users,其中user_name='$username');虽然($row=mysqli_fetch_array($resultstow)){extract($row);}我还应该注意,$endo设置在文档的最顶端,然后这段代码在中间行中,所以这里发生了四件事。a) 您正在读取$_POST['endo']b)您正在根据$_POST['endo']在数据库中设置endo字段,c)您正在从数据库中读取endo字段并将其放入$endo,d)您正在使用$endo决定是否禁用。订单很重要。顺序应该是a、b、c、d,但我怀疑(没有看到所有代码)您的顺序是c、a、b、d,这意味着您的禁用决策始终基于$endo的最后一个值,而不是当前值。换句话说,首先从$u POST['endo']设置数据库中的endo字段。然后将其读入变量$endo。然后使用$endo决定显示哪种按钮。提交按钮在我这样做时甚至没有做任何事情
<?php
if(isset($_POST['endo'])) {
    //Server side validation for security purposes
   if($points >= 100 AND $endo == 0 AND $savetheworldalbum == 0) {
        mysqli_query($con,"UPDATE users SET points = points - 100 WHERE users.user_name = '$username' LIMIT 1");
        mysqli_query($con,"UPDATE users SET endo = 1 WHERE users.user_name = '$username' LIMIT 1");
    }
} else { ?>
<html>
.`
.