我是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
答案 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
做同样的事情您可以在此处找到更多信息: