如何退出php脚本并在脚本后继续?

时间:2010-12-24 06:47:39

标签: php

嘿伙计们,我有这段代码,当我在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>

哦,如果用户名和密码不正确,我可以看到页脚。

5 个答案:

答案 0 :(得分:2)

当你有一个return语句并且你不在函数内部时,脚本将退出,因此解析器永远不会到达导入页脚的语句。请记住,您的脚本是整个文档,而不仅仅是标记中包含的部分。如果解析器停在某处,则会遗漏整个文档的其余部分。

答案 1 :(得分:1)

您无法退出脚本并继续运行相同的脚本。

但是有关你的退货声明的一些建议:

1)如果你的函数没有返回任何东西,那么不要在那里放一个return语句。

2)每个函数只使用一个return语句,它会使你的代码更清晰。

答案 2 :(得分:1)

尝试删除&#34;返回&#34; (仅在函数中保留)在这种情况下,什么都不会改变,但是你会看到你的页脚。

答案 3 :(得分:1)

删除第33和39行的RETURN语句

答案 4 :(得分:1)

尝试将您的php部分插入为 php include 。回报;声明只会停止包含的php的执行,并且会在包含的内容后继续执行。

<?php include("footer.php") ?>将输出页脚。