[英]How can I force a PHP script to continue on with a script after calling exec()?
[英]how can I exit from a php script and continue right after the script?
大家好,我有這段代碼,當我在echo之后添加return時(如果有錯誤,並且需要在腳本之后立即繼續),我看不到頁腳,您知道問題出在哪里嗎?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en" >
<head>
<title>Login | JM Today </title>
<link href="Mainstyles.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div class="container">
<?php include("header.php"); ?>
<?php include("navbar.php"); ?>
<?php include("cleanquery.php") ?>
<div id="wrap">
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);
$conn=mysql_connect("localhost", "***", "***") or die(mysql_error());
mysql_select_db('jmtdy', $conn) or die(mysql_error());
if(isset($_POST['sublogin'])){
if(( strlen($_POST['user']) >0) && (strlen($_POST['pass']) >0)) {
checklogin($_POST['user'], $_POST['pass']);
}
elseif((isset($_POST['user']) && empty($_POST['user'])) || (isset($_POST['pass']) && empty($_POST['pass']))){
echo '<p class="statusmsg">You didn\'t fill in the required fields.</p><br/><input type="button" value="Retry" onClick="location.href='."'login.php'\">";
return;
}
}
else{
echo '<p class="statusmsg">You came here by mistake, didn\'t you?</p><br/><input type="button" value="Retry" onClick="location.href='."'login.php'\">";
return;
}
function checklogin($username, $password){
$username=mysql_real_escape_string($username);
$password=mysql_real_escape_string($password);
$result=mysql_query("select * from users where username = '$username'");
if($result != false){
$dbArray=mysql_fetch_array($result);
$dbArray['password']=mysql_real_escape_string($dbArray['password']);
$dbArray['username']=mysql_real_escape_string($dbArray['username']);
if(($dbArray['password'] != $password ) || ($dbArray['username'] != $username)){
echo '<p class="statusmsg">The username or password you entered is incorrect. Please try again.</p><br/><input type="button" value="Retry" onClick="location.href='."'login.php'\">";
return;
}
$_SESSION['username']=$username;
$_SESSION['password']=$password;
if(isset($_POST['remember'])){
setcookie("jmuser",$_SESSION['username'],time()+60*60*24*356);
setcookie("jmpass",$_SESSION['username'],time()+60*60*24*356);
}
}
else{
echo'<p class="statusmsg"> The username or password you entered is incorrect. Please try again.</p><br/>input type="button" value="Retry" onClick="location.href='."'login.php'\">";
return;
}
}
?>
</div>
<br/>
<br/>
<?php include("footer.php") ?>
</div>
</body>
</html>
哦,如果用戶名和密碼不正確,我可以看到頁腳。
當您具有return語句並且不在函數內部時,腳本將退出,因此解析器將永遠不會到達導入頁腳的語句。 請記住,腳本是整個文檔,而不僅僅是標記中包含的部分。 如果解析器停在某處,則整個文檔的其余部分將被忽略。
嘗試將您的php部分作為php include插入。 回報; 語句將僅停止執行所包含的php,在包含之后將繼續其余操作。
<?php include("footer.php") ?>
將輸出頁腳。
您不能退出腳本並繼續運行相同的腳本。
但是有關您的退貨聲明的一些建議:
1)如果您的函數未返回任何內容,則不要在其中放置return語句。
2)每個函數僅使用一個return語句,它將使您的代碼更清晰。
嘗試刪除“返回”(僅將其保留在函數中)在這種情況下不會有任何變化,但是您會看到頁腳。
刪除第33和39行的RETURN語句
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.