HTML/php解析器错误

HTML/php解析器错误,php,html,Php,Html,我正在浏览有关的教程 直到: if(strlen($message) > 0) { $message = '<p class="error">' . $message . '</p>'; } if(strlen($message)>0) { $message=''.$message.'; } 这行php可以在index.php中找到。当我在firefox中打开页面时,php解析器似乎停止在大于的位置。我能逃脱这个角色吗?我需要吗 编辑:所有php代码:

我正在浏览有关的教程 直到:

if(strlen($message) > 0)
{
    $message = '<p class="error">' . $message . '</p>';
}
if(strlen($message)>0)
{
$message='

'.$message.

'; }
这行php可以在index.php中找到。当我在firefox中打开页面时,php解析器似乎停止在大于的位置。我能逃脱这个角色吗?我需要吗

编辑:所有php代码:

<?php 
//Load the settings
require_once("settings.php");

$message = "";
//Has the user uploaded something?
if(isset($_FILES['file']))
{
    $target_path = Settings::$uploadFolder;
    $target_path = $target_path . time() . '_' . basename( $_FILES['file']['name']); 

    //Check the password to verify legal upload
    if($_POST['password'] != Settings::$password)
    {
        $message = "Invalid Password!";
    }
    else
    {
        //Try to move the uploaded file into the designated folder
        if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) {
            $message = "The file ".  basename( $_FILES['file']['name']). 
            " has been uploaded";
        } else{
            $message = "There was an error uploading the file, please try again!";
        }
        }

    //Clear the array
    unset($_FILES['file']);
}


if(strlen($message) > 0)
{
    $message = '<p class="error">' . $message . '</p>';
}    
?>
<html> ... </html> //my html code

...  //我的html代码

始终使用尤达条件,并以相反的顺序编写此类语句(您通常习惯于:

if ( 0 !== strlen( $message ) )
{
    $message = 'Hello World!';
}

无论如何,您也可以简单地检查
!empty($message)

始终使用Yoda条件,并以相反的顺序编写此类语句(您通常习惯于:

if ( 0 !== strlen( $message ) )
{
    $message = 'Hello World!';
}
无论如何,您也可以简单地检查
!empty($message)

这个怎么样

if(!empty($message)){
    $message = '<p class="error">'.$message.'</p>';
}
if(!empty($message)){
$message='

'.$message.

'; }
但是为什么不直接将段落标记分配给错误消息,而不是先将错误消息分配给
$message
,然后再分配段落标记呢?

这是怎么回事

if(!empty($message)){
    $message = '<p class="error">'.$message.'</p>';
}
if(!empty($message)){
$message='

'.$message.

'; }

但是,为什么不直接将段落标记分配给错误消息,而不是先将错误消息分配给
$message
,然后再分配段落标记呢?

如果条件正常,则不会出现任何错误

未来可能出现的问题

  • if(设置($\u文件['file']))
  • if($\u POST['password']!=设置::$password)
  • if(移动上传的文件($文件['file']['tmp\u名称],$target\u路径))
  • 如果你没有进入身体,那就意味着身体有问题

      if(isset($_FILES['file']))
    

    因为如果它比
    $message=“”;

    快,那么它的工作状态没有任何错误

    未来可能出现的问题

  • if(设置($\u文件['file']))
  • if($\u POST['password']!=设置::$password)
  • if(移动上传的文件($文件['file']['tmp\u名称],$target\u路径))
  • 如果你没有进入身体,那就意味着身体有问题

      if(isset($_FILES['file']))
    

    因为如果小于
    $message=“”;

    不会导致PHP解析器停止


    如果看不到服务器输出的HTML,很难确定,但是由于
    是文件中的第一个
    ,PHP解析器似乎永远不会启动,浏览器处理
    之间的所有内容不会导致PHP解析器停止



    如果看不到服务器输出的HTML,很难确定,但是由于
    是文件中的第一个
    ,PHP解析器似乎永远不会启动,浏览器会处理
    之间的所有内容。如果代码包含在正常的
    中,那么我看不出它有问题。你确定吗不需要转义
    >
    字符浏览器接收到的输出是什么(HTML源)?我将其初始化为$message=“”;将错误消息粘贴到此处,这将对您所说的
    php解析器停止
    有很大帮助。您是说
    $message
    没有在浏览器中打印输出吗?如果代码包含在正常的
    中,那么我看不出它有问题。您当然不需要逃避
    字符浏览器接收的输出(HTML源)?我将其初始化为$message=“”;将错误消息粘贴到此处,这将有助于理解
    php解析器停止的意思
    ?你是说
    $message
    没有在浏览器中打印输出?虽然这是一个流行的建议,但它并不能解释问题中的代码为什么不起作用。不,但这是一种获取错误输出的方法,不会以相反的顺序发生虽然这是一个流行的建议,但它并不能解释问题中的代码为什么不起作用。不,但这是一种获取错误输出的方法,不会以相反的顺序发生。为了回答您的问题,我会这样做:您可能想为不同的情况添加多条错误消息,那么为什么要为每条消息添加两倍的标记。然后添加HT将ML标记添加到每个项目?为什么?在这种情况下,我仍然会将其添加到每个循环项目和/或容器中。这几乎可以工作,但在“$message”上的“.”处失败为了回答您的问题,我这样做的原因如下:您可能希望为不同的情况添加多条错误消息,那么为什么要将每条消息的标记加倍。并将HTML标记添加到每个项目?为什么?在这种情况下,我仍然会将其添加到每个循环项目和/或容器。这几乎可以实现,但在“$message”上的“.”处失败这可能是准确的。我通过接受约里波文的答案“修复”了“>问题”,但在下一次失败。“这可能是准确的。我通过接受约里波文的答案“修复”了“>问题,但在下一次失败”。“在那之前似乎失败了。在那之前似乎失败了。