PHP的新手,为什么赢得这个if / elseif政治家的工作?

时间:2016-10-08 17:17:51

标签: php

我是PHP的新手,我正在努力让这个工作

<?php
$name =  $_GET['username'];
$pass =  $_GET['password'];
$authcheck = shell_exec("python authcheck.py  $name $pass");
if ( $authcheck == "Correct") {
  exec("python create.py names $name $pass");
} elseif ( $authcheck != "Correct"){
  echo "Incorrect username and password";
  exit;
}
?>

这始终与elseif部分相呼应。我想也许是因为$authcheck不是字符串,所以我做了$outcome = (string)$authcheck并更改了其余内容以使用$outcome代替$authcheck但它没有#&# 39;工作。

Python脚本的结果正好是Correct

2 个答案:

答案 0 :(得分:1)

正如我在你的var_dump中看到的那样,你的字符串中有一个空格:&#34;正确&#34;。 但是你要比较&#34;正确&#34;没有空间。你明白了吗? ; - )

答案 1 :(得分:-4)

在制作if。

之前尝试打印$authcheck

您可以用三种不同的方式打印它:

  • echo $authcheck这将打印 $ authcheck
  • 的值
  • print_r($authcheck)如果 $ authcheck 是对象或数组,则会使用格式化输出打印它,否则会打印出相同的回声。
  • var_dump($authcheck)这将打印 $ authcheck 的类型和值。这样,如果 $ authcheck 是字符串或in或NULL
  • ,您就可以了

你可以用 $ name $ pass

做同样的事情

您可以在此处找到更多信息: