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" />
就在结束 </form>
-tag 之前。再点一下,如果还是出现错误,再试试。
另外,请尝试使用复选框/单选按钮而不是按钮。我不知道是否可以使用按钮来做到这一点。
【讨论】:
我会试试这个并在几分钟后恢复。谢谢这位兄弟。【参考方案3】:不需要额外的提交按钮,<button>
s 在默认类型中的行为相同。
【讨论】:
以上是关于php 'ISSET' 功能不起作用。或者代码跳过我的 if 语句的主要内容,如果未能解决你的问题,请参考以下文章
当我将 var 从 ajax 发送到 php 时,如果 (isset $_Post[]) 不起作用
if(isset($_FILES)) 在 PHP 中不起作用