我有一个带有相同图像的轮播,当用户点击一个时,我会显示一个带有电子邮件和密码的表单。当通过AJAX发送提交操作时,我将图像ID,电子邮件和密码传递给PHP回调。 在我的PHP中验证凭据后,我调用了node.js脚本,但我每次只能执行一个node.js脚本。
有没有办法执行许多node.js,每个node.js具有相同的id映像名称,并且使用php_exec执行不同的电子邮件和密码?
My Carousel code:
<div class="col-sm-12">
<div id="owl_carousel" class="owl-carousel owl-theme" style="opacity: 1; display: block;">
<div class="owl-wrapper-outer"><div class="owl-wrapper" style="width: 7296px; left: 0px; display: block;"><div class="owl-item" style="width: 228px;"><div class="item">
<img role="button" tabindex="-1" data-trigger="hover" data-content="lollipop" data-placement="bottom" data-toggle="popover" data-container="body" alt="lollipop" id="lollipop" style="width: 170px; height: 170px;" src="img/clients/lollipop.png" data-original-title="" title="">
</div></div>
</div>
这是我的PHP代码:
My PHP Code
<?php
class validateForm {
function formValidate() {
// Informations passes from form
$username = trim($_POST['username']);
$password = trim($_POST['password']);
$filename = trim($_POST['file']);
$retorno = array();
// CasperJS call
$nodejs_run = "node";
$script = "/usr/share/node/parser.js";
// Check if POST is null
if ( (empty($username) && empty($password)) || ($username == null || $password == null) ) {
$retorno['error'] = "Fill the form!";
echo json_encode($retorno);
} else {
// Execute to CasperJS via asynchronous process
try {
exec("{$nodejs_run} {$script} {$username} {$password} {$filename} 2>&1", $output,$retval);
} catch (Exception $e) {
$retorno['failure'] = "The request failure!";
}
if (($retval) == '0'){
$retorno['success'] = $output;
echo json_encode($retorno);
} else {
$retorno['error'] = $output;
echo json_encode($retorno);
}
} // end of if block
return false;
} // end function
} // end class
// Call function
$instValidadeForm = new validateForm; //create instance of class
echo $instValidadeForm->formValidate(); // access method of class
?>
感谢您的帮助。
答案 0 :(得分:0)
当您使用exec()时,您可以使用&amp;&amp;
分隔多个命令例如:
exec("$command1 && $command2 && $command3", $output, $retval);
在这种情况下,$ command2仅在$ command1成功时执行,$ command3仅在$ command2成功时执行。 $ retval将保存最后一个要执行的命令的返回状态。