Php代码适用于所有浏览器,但不适用于IE8

时间:2010-06-10 01:59:50

标签: php

我认为错误必须与IE8和cookies操作不兼容,因为在IE8中你可以看到密码和登录询问屏幕但是当你输入数据并发送它时浏览器似乎什么也不做,这是你是一个网址,你可以尝试我的代码:http://200.8.27.127/tiempo/teacher.php

这是代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="it" http-equiv="Content-Language" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Formulario</title>
<style type="text/css">
h1 {    font: 50px Tahoma, Helvetica, Arial, Sans-Serif; text-align: center; color: #111; text-shadow: 0px 2px 3px #555;    }
h2 {    font: 14px Tahoma, Helvetica, Arial, Sans-Serif; text-align: center; color: #CCC; text-shadow: 0px 1px 2px #555;    }
h3 {    font: 10px Tahoma, Helvetica, Arial, Sans-Serif; text-align: center; color: #CCC;   }
b1 {    font: 16px Tahoma, Helvetica, Arial, Sans-Serif; color: #DDD;   }
b2 {    font: 10px Tahoma, Helvetica, Arial, Sans-Serif; color: #F9F7ED;    }

.caja {  width: 690px; height: 40px; background-color: transparent; border: 0px solid #000000; font-size:x-large; color: #222; font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; font-weight: bold;" size="299";  }
.style1 {   text-align: right; }
</style>
</head>
<body style="background-image: url('IMG/bg.png')">
<script type="text/javascript" src="JS/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="JS/jquery.notifications-1.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="JS/jquery.notifications.css" />
<script> function checkCharCount(textfield) { if(textfield.value.length > 300) textfield.value = textfield.value.substr(0, 300); document.getElementById("charCounter").innerHTML = 300 - textfield.value.length; } </script>
<?php
include("/LIB/HeadSQL.php");
include("/LIB/error.php");
if (isset($_COOKIE['ID_tablon'])) { 
        $username = $_COOKIE['ID_tablon']; 
        $pass = $_COOKIE['Key_tablon'];
        $check = mysql_query("SELECT * FROM usuarios WHERE nombre = '$username'") or die(mysql_error());
        while($info = mysql_fetch_array( $check )) {
            if ($pass != $info['clave']) {
                login();
            }
            else {
                entro($info['email'],$username);
            }
        }
} else {
    login();
}


function login()
{
    if (isset($_POST['quiere'])) {
        if(!$_POST['username'] | !$_POST['pass']) {
            include("LIB/login.php");
            error('Debes llenar todos los campos.',0);
        } else {
            $check = mysql_query("SELECT * FROM usuarios WHERE nombre = '".$_POST['username']."'") or die(mysql_error());
            $check2 = mysql_num_rows($check);
            if ($check2 == 0) {
                include("LIB/login.php");
                error('Ese usuario no existe.',0);
            }
            while($info = mysql_fetch_array( $check )) {
                $_POST['pass'] = stripslashes($_POST['pass']);
                $info['clave'] = stripslashes($info['clave']);
                //$_POST['pass'] = md5($_POST['pass']);
                if ($_POST['pass'] != $info['clave']) {
                    include("LIB/login.php");
                    error('La clave es incorrecta.',0);
                } else { 
                    $_POST['username'] = stripslashes($_POST['username']); 
                    $hour = time() + 3600; 
                    setcookie("ID_tablon", $_POST['username'], $hour); 
                    setcookie("Key_tablon", $_POST['pass'], $hour); 
                    entro($info['email'],$_POST['username']);
                }
            } 
        } 
    } else {
        include("LIB/login.php");
    }
    exit;
}


function entro($email,$username)
{
?>

<div id="todo" align="center" >
    <div id="cabeza" style="width:850px;height:100px">
    </div>
    <div id="contenido" style="width:850px;height:420px;background-image: url(IMG/cuadro.png)" >
        <div id="titulo" style="width:765px;height:75px;padding-top: 18px;margin: auto;text-align: left;">
            <b1>Bienvenido <b><?php echo($username); ?></b></b1><br>
            <?php $check = mysql_query("SELECT * FROM sms WHERE ref = '".$username."' ORDER BY fecha DESC LIMIT 0, 1") or die(mysql_error());
            while($info = mysql_fetch_array( $check )) { 
                echo("<b1> Tu ultimo mensaje enviado fue: </b1><b2>" . $info['texto'] . " enviado el " . $info['fecha'] . "</b2>");
            }
            ?>
        </div>
        <form method="post">
        <div id="formulario" style="width:850px;height:255px;margin-top: 10px">
            <div id="foto" align="right" style="width:725px; height:40px;padding-top: 11px;margin: auto">
                <?php $size = 60; $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( $email ) ) . "?size=" . $size; 
                $size = 256; $grav_urlB = "http://www.gravatar.com/avatar/" . md5( strtolower( $email ) ) . "?size=" . $size;
                echo('<img alt="Image" src="' . $grav_url . '" />'); ?>
            </div>
            <div id="texto" style="width:850px;height:29px; margin-top: 38px;margin-left: 4px">
                    <input name="sms" type="text"  onKeyUp="checkCharCount(this)" class="caja"  />
            </div>
            <div id="botones" style="width:725px;height:27px; margin-top: 15px" class="style1">
                <input name="usuario" type="hidden" value="<?php echo($username); ?>" />

                <input name="Submit1" type="image" value="submit" src="IMG/envia.png" />
            </div>
            <div id="resta" style="width:850px;height:29px; margin-top: 53px;margin-left: 4px">
                <h2><span id="charCounter">300</span> caracteres restantes.</h2>
                <h3><a href=logout.php>Cerrar Sesion</a></h3>
            </div> 

        </div>
        </form>
    </div>
</div>

</body>

</html>


<?php
session_start();
if (isset($_POST['Submit1'])) {
if (isset($_SESSION['token']) && (time() - $_SESSION['token']) < 5) {
   error('Debes esperar 5 segundos para poder enviar otra informacion.',0);
} else { 
   $_SESSION['token'] = time();
   include("/LIB/HeadSQL.php");
   include("/LIB/comprueba.php");
   $insert = "INSERT INTO sms (ref, texto, fecha) VALUES ('" . addslashes($_POST['usuario']) . "', '" . addslashes($_POST['sms']) . "', NOW() )";
   $add_member = mysql_query($insert);
   error("Tu mensage ha sido enviado con exito.",1);
}
}
    exit;
}
?>

你认为isuue可以在javascript上吗?

使用Firefox或谷歌浏览器试用代码,然后在IE8中试用。

1 个答案:

答案 0 :(得分:2)

绝对是JS。 PHP是一种服务器端语言,这意味着它只需要在您的服务器上工作......无论使用什么浏览器,都会将相同的内容发送到客户端。也就是说,我不知道你的JS中错误的具体位置。你正在使用jQuery ......为什么不利用它呢?摆脱那个

document.getElementById("charCounter").innerHTML

并将其替换为

$('#charCounter').html(...)

例如...... jQuery是为跨浏览器兼容而构建的,所以尽可能多地使用它。