0

我有一个很长的 PHP 脚本,最后有一些 JavaScript。在脚本中间,如果“if”语句为真,那么它们就是一种停止 PHP 脚本其余部分并输出页面 HTML 部分其余部分的方法。这是一个小片段:

... more code ...
        case 2:
            $e=$_POST['email'];
            $n=$_POST['name'];
            mysql_connect($dbloc,$dbuser,$dbpass);
            mysql_select_db($dbname)or die(mysql_error());
                $query="SELECT * FROM users WHERE email='$e'";
            $re=mysql_query($query);
            $numm=mysql_numrows($re);
            if($numm>=1){
                $js="alert('Sorry but your email is currently in use. Please try again with a different email address.');";
                $url="./";
                exit();
            }
            else{
                $_SESSION['rEmail']=$e;
                $_SESSION['rName']=$n;
            }
        break;
... more code...

<html goes here />

我原本以为exit()只结束 PHP 部分,但仍归还页面的其余部分,但似乎并非如此。

4

1 回答 1

0

exit()正在执行它是女仆做的。它正在从调用它的位置退出您的 PHP 代码。

您认为它将打印剩余的 HTML 的概念是错误的。整个 PHP 代码被视为一个 PHP 脚本,所有的逻辑/PHP 函数都被标记在里面<?php?>外面的文本就像文档一样,并按原样输出。

使用语句中的退出if,它之后的代码/文本根本不会被处理。我建议您改用break语句。

于 2012-11-04T16:17:50.223 回答