我对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
,但它不起作用。
Python脚本的结果正是Correct
正如我在var_dump中看到的,字符串中有一个空格:"正确"。但你把它比作没有空格的"正确"。你明白了吗?;-(
在制作if.之前尝试打印$authcheck
你可以用三种不同的方式打印:
echo $authcheck
这将打印$authcheck的值print_r($authcheck)
如果$authcheck是一个对象或数组,这将使用格式化的输出打印它,否则将打印相同的echovar_dump($authcheck)
这将打印$authcheck的类型和值。通过这种方式,如果$authcheck是字符串或In或NULL
您可以使用$name和$pass执行相同的操作
在这里你可以找到更多信息:
- shell_exec((http://php.net/manual/en/function.shell-exec.php
- 回声http://php.net/manual/en/function.echo.php
- 打印_((http://php.net/manual/en/function.print-r.php
- var_dump((http://php.net/manual/en/function.var-dump.php