【问题标题】:Using PHP code causes formatting problems使用 PHP 代码会导致格式问题
【发布时间】:2012-10-29 16:16:09
【问题描述】:

所以我有一个 .php 网页,它在顶部包含一个用于登录系统的 PHP 脚本。 下面是显示网页的 HTML。现在在 Firefox 或 chrome 中显示正常,但在 Internet Explorer 中,该网站看起来令人震惊。我发现删除 PHP 后格式是正确的。这是页面顶部使用的 PHP 代码:

<?php
session_start();
if(!session_is_registered(myusername)){
header("location:http://www.mvaeng.com.au/Login");
}
$myusername = $_SESSION["myusername"];
$mypassword = $_SESSION["mypassword"];

$host="localhost"; // Host name
include 'DATA.php';
$db_name="mvaengco_Loginsystem"; // Database name
$tbl_name="Members"; // Table name


mysql_connect("$host", "$username", "$password")or
die(mysql_error());
mysql_select_db("$db_name")or die(mysql_error());


$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and
password='$mypassword'";
$result=mysql_query($sql);

$count=mysql_num_rows($result);

if(!($count==1)){
    header("location:http://www.mvaeng.com.au/Login");
}
$htaccess = 'Files/.htaccess';
$ip .= $_SERVER['REMOTE_ADDR'];
$line1ht .= "order deny,allow \r\n";
$line2ht .= "deny from all \r\n";
$line3ht .= "allow from $ip \r\n";
file_put_contents($htaccess, $line1ht);
file_put_contents($htaccess, $line2ht, FILE_APPEND | LOCK_EX);
file_put_contents($htaccess, $line3ht, FILE_APPEND | LOCK_EX);

?>

以及 PHP 代码下面的 HTML 代码的第一部分:

<head>
        <title>Client File System - Logged In</title>
        <meta charset="utf-8">

        <link href="http://mvaeng.com.au/css/reset.css" rel="stylesheet"      type="text/css" />

        <link href="http://mvaeng.com.au/css/layout.css" rel="stylesheet"      type="text/css" />

        <link href="http://mvaeng.com.au/css/style.css" rel="stylesheet"      type="text/css" />
        <script type="text/javascript" src="http://mvaeng.com.au/js/dropdown.js">     </script>

        <script src="http://code.jquery.com/jquery-1.8.1.min.js"      type="text/javascript"></script>
        <script src="jquery.easing.js" type="text/javascript"></script>
        <script src="jqueryFileTree.js" type="text/javascript"></script>
        <link href="jqueryFileTree.css" rel="stylesheet" type="text/css"      media="screen" />
        <script type="text/javascript">  
            var x="../../MASTER/Files/";  

            function openFile(file) {
                var fileA=file.replace("/","/BIN_1/");
                    window.location = fileA;
            }  

            $(document).ready( function() {

                $('#fileTree').fileTree({ root: '../../BIN_1/Files/',      script: 'connectors/jqueryFileTree.php' }, function(file) { 
                    openFile(file);
                });


            });
        </script>

    </head>

那么,我该如何解决这个问题?
谢谢!

【问题讨论】:

  • 这毫无意义 - PHP 不会显示在服务器上。你能显示发送到浏览器的最终 HTML 代码的第一行吗?还有什么看起来不对?
  • 每个部分在 IE 中看起来都挤在页面顶部
  • 显示一些 HTML 代码。这是不可能的,否则无法回答。这个问题可能有上千种不同的原因。
  • 那么在ie中是什么样子的

标签: php internet-explorer formatting


【解决方案1】:

嗯,IE 是一个非常烦人的浏览器。它对 html 的解释不同,尤其是在涉及空白区域或空格时...

无论如何,如果跨浏览器兼容性对您来说真的很重要,我建议您使用正确放置的 div(或其他匹配元素)来设计页面,并将文本放入其中。
php 代码可能会导致一些不需要的空格破坏您的 html 输出,并且 IE 不知道如何处理...

【讨论】:

    【解决方案2】:

    尝试在 php 脚本的开头使用 ob_start(),在文件末尾使用 ob_flush()。

    【讨论】:

      【解决方案3】:

      如果您的 html 中有其他 PHP 部分,那么删除 IE 中的顶部可能会产生您所看到的更改。除此之外,我看不出顶级 PHP 代码的存在或缺失会产生什么视觉效果。

      另一方面,您需要切换到 mysqli。 PHP 中的 mysql 在 90 年代被使用,不再是编写任何严肃程序的正确方法。你越早做出改变,你以后改变的就越少。 mysqli 真的没有那么不同。只要看一些例子,你就会很容易理解。

      【讨论】:

      • HTML 中有一小段 PHP 代码,即
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2021-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 2012-03-16
      相关资源
      最近更新 更多