使用PHP代码会导致格式化问题

时间:2012-10-29 07:50:14

标签: php internet-explorer formatting

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

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

3 个答案:

答案 0 :(得分:0)

嗯,IE是一个非常讨厌的浏览器。它以不同的方式解释html,特别是涉及空白区域或空格时......

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果你的html中有其他PHP片段,那么删除IE中的顶部部分可能会产生你所看到的变化。除此之外,我没有看到顶级PHP代码的存在与否会产生什么视觉效果。

不在一边,你需要切换到mysqli。 PHP中的mysql在90年代使用,不再是编写任何严肃程序的正确方法。你越早做出改变,你以后就越不需要改变。 mysqli真的没那么不同。看看一些例子,你就可以轻松地抓住它们了。