php 'ISSET' 功能不起作用。或者代码跳过我的 if 语句

Posted

技术标签:

【中文标题】php \'ISSET\' 功能不起作用。或者代码跳过我的 if 语句【英文标题】:php 'ISSET' function not working. OR the code skips my if statementsphp 'ISSET' 功能不起作用。或者代码跳过我的 if 语句 【发布时间】:2017-11-08 22:34:45 【问题描述】:

不工作,我得到与最后一个 else 语句中定义的相同的错误输出。

我是 php 新手,请帮帮我。我做错了什么?

代码在这里

<form action="imagespace.php?groupid=<?php echo $_GET['groupid'] ;?>" method = "POST">
<input type="button" name="Up-Vote" value ="Up-Vote" class="up-votes" />
<input type="button" name="Down-Vote" value="Down-Vote" class="down-votes" />
</form>
<?php

$emailid=$_SESSION['emailid'];
$groupid = $_GET['groupid'];
$emailid = mysqli_real_escape_string($con,$emailid);
$groupid = mysqli_real_escape_string($con,$emailid);

if(isset($_POST['Up-Vote']))
     echo ' trial';
    $query = "INSERT into VOTES (emailid, groupid, vote) values ('$emailid','$groupid', '1') ";
    $query_run = mysqli_query($con,$query);
    if($query_run)
    echo 'upvoted';
    

else if(isset($_POST['Down-Vote']))
    
        $query = "INSERT into VOTES (emailid, groupid, vote) values ('$emailid','$groupid', '0') ";
        $query_run = mysqli_query($con,$query);
        if($query_run)
        echo 'downvoted';
    
else
echo 'error' ;


?>

</body>
</html>

【问题讨论】:

请发布您的代码,而不是图片。 正如@AlexHowansky 所说,至少发布你的代码然后什么是“不工作”? 不要在post变量中使用upvote/downvote,只需使用值为1或-1的vote,会更容易。 var_dump($_POST) 会准确地告诉您 post 变量中的内容。 @kRicha 它很有用,就像每个人都在这里反对我的问题一样。 ;p 【参考方案1】:

除了提供的答案之外,我还建议您执行以下操作:

// Before anything else, start your session
if (!isset($_SESSION)) 
    session_start();


// Next, check if your form is actually submitted
if ($_SERVER['REQUEST_METHOD'] == 'POST') 
    if (isset($_POST['...'])) 

     elseif (isset($_POST['...'])) 

    

?>

<!-- Keep PHP and html seperated -->
<form>
...
</form>

通过查看您的表单,我注意到您使用的是type='button'。我建议以下之一:

<input type="submit" ... />

<button type="submit">...</button>

【讨论】:

【参考方案2】:

我似乎在其中找不到提交按钮。尝试添加

<input type="submit" />

就在结束 &lt;/form&gt;-tag 之前。再点一下,如果还是出现错误,再试试。

另外,请尝试使用复选框/单选按钮而不是按钮。我不知道是否可以使用按钮来做到这一点。

【讨论】:

我会试试这个并在几分钟后恢复。谢谢这位兄弟。【参考方案3】:

不需要额外的提交按钮,&lt;button&gt;s 在默认类型中的行为相同。

【讨论】:

以上是关于php 'ISSET' 功能不起作用。或者代码跳过我的 if 语句的主要内容,如果未能解决你的问题,请参考以下文章

当我将 var 从 ajax 发送到 php 时,如果 (isset $_Post[]) 不起作用

if(isset($_FILES)) 在 PHP 中不起作用

php邮件功能中的抄送在发件人(发件人)和抄送邮件地址相同的情况下不起作用[重复]

PHP文件上传move_uploaded_file不起作用

添加产品表单不起作用,HTML 和 PHP

特定文件类型上传不起作用