0

所以我有一个 .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>

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

4

3 回答 3

0

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

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

于 2012-10-29T08:16:09.163 回答
0

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

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

于 2012-10-29T07:53:49.547 回答
0

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

于 2012-10-29T07:58:16.463 回答