我的函数shell_exec()有问题,我已经尝试了一切,但我不知道问题出在哪里。我有这个php程序证明你是否登录,我想使用cookie,但我不允许在我工作的公司的apache服务器,我不知道为什么。所以通常在这个程序中我检查我是否已经启动了我的会话,如果我没有,我使用登录,用户将其放在页面中的文本情况之前,如果我这样做(已启动我的会话),我将使用我在之前的文本情况下放入的登录,现在存储在会话变量中。我不知道它是否是正确的方法,但这就是我带来的解决方案。我不是php的专家。 所以问题是函数shell_exec()在第一个“if”之外工作但不在条件中,当我进入条件时它不返回任何东西。我想知道你的意见。
这是代码:
$login = $_POST['login_venezia'];
if (isset($login))
{
$log = $login;
if($_SESSION['login_test']!=NULL)
{
$tableau = shell_exec('groups'.$_SESSION['login']);
echo "1";
echo $_SESSION['login']."\n";
}
else
{
$tableau = shell_exec('groups'.$log);
echo "2";
echo "Login = ".$log;
}
//$tableau = shell_exec('groups '.$log);
echo "Login = ".$login;
echo "Tableau = ".$tableau;
$resultat = explode(" ",$tableau);
$cookies = $_COOKIE['session_ser'];
die;
$path = dirname($_SERVER['PHP_SELF']); //chemin avant de fichier courant
$path_separe = explode('/',$path); //nous retourne la chaine de caractere donc le chemin du fichier mais sans les slash
$lenght = count($path_separe);
$imp = $path_separe[$lenght-2];
if($tableau != NULL)
{
for($i=0; $i<count($resultat);$i++)
{
if($resultat[$i] === $imp && $cookies!=NULL)
{
$valeur = 1;
}
}
if($i === count($resultat))
{
//header('Location: verifnon.php?mavar=1'); //n'appartien pas au projet
}
}
else
{
//header('Location: compteinexistant.php?mavar=1'); //son compte existe pas
echo "Erreur";
}
if($valeur === 1)
{
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* Configure le délai d'expiration à 30 minutes */
session_cache_expire(1440);
$cache_expire = session_cache_expire();
session_start();
$_SESSION['login'] = $login;
//header('Location: verifoui.php?mavar=1');
}
}
else
{
echo "Veuillez saisir votre login \n";
}
答案 0 :(得分:0)
在组之后放置一个空格,否则你正在运行'groupslogin'而不是命令:
if($_SESSION['login_test']!=NULL)
{
$tableau = shell_exec('groups '.$_SESSION['login']);
echo "1";
echo $_SESSION['login']."\n";
}
else
{
$tableau = shell_exec('groups '.$log);
echo "2";
echo "Login = ".$log;
}