从外部php可以看到div

时间:2011-09-26 14:33:15

标签: php javascript mysql login

我正在进行登录会话,我想在同一页面上显示错误,例如 - “无效密码”“用户不存在”

继承我的代码:

<?php
session_start();


mysql_connect('mysql.database.com','user','database')or die ('Connection Failed: '.mysql_error());
mysql_select_db('database')or die ('Error when selecting Database: '.mysql_error());
function remove($mensaje)
{
    $nopermitidos = array("'",'\\','<','>',"\"");
    $mensaje = str_replace($nopermitidos, "", $mensaje);
    return $mensaje;
}
if(trim($_POST["usuario"]) != "" && trim($_POST["password"]) != "")
{
    $usuario = strtolower(htmlentities($_POST["usuario"], ENT_QUOTES));
    $password = $_POST["password"];
    $result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if($row = mysql_fetch_array($result)){
        if($row["password"] == $password){
            $_SESSION["k_username"] = $row['usuario'];
            header( 'Location: diseno.php' ) ;
        }else{
            echo '<p class="message2">Invalid password</p>';
        }
    }else{
        echo '<p class="message2"User does not exist</p>';
    }
    mysql_free_result($result);
}else{
    echo '<p class="message2">Must enter a user and password</p>';
}
mysql_close();
?>
<SCRIPT LANGUAGE="javascript">
location.href = "index.php";
</SCRIPT>

正如您所看到的那样,这是我对登录表单的验证和操作。我想在同一页面中显示它,而不是在新页面中回显错误。我尝试使用javascript,但我使用它并不起作用。

var page = document.URL = "http://www.mysite.com/login.php" 
page.getElementById( 'wrongpassword' ).style.display = 'block';

我要显示的所有div在login.php文件中都设置为无。

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

实现此目的的最简单方法是处理登录,然后包含显示正常页面的PHP代码。我不确定你是如何设计你的网站的,但最后包括index.php可能会有所帮助。现在,您正在使用JS重定向,它不会为您提供所需的结果。

我喜欢设置包含消息的$ message变量,而不是回显消息。渲染主页面时,只需在适当的位置回显该变量(如果已设置)。

答案 1 :(得分:0)

如果你想在不改变页面的情况下改变这样的css样式,你必须使用javascript(用于更改css)+ ajax(用于获取登录结果)。

答案 2 :(得分:0)

为了做到这一点,你可以简单地使用JQuery。我已经在我的网站上完成了它,所以我可以说它确实有效。

启动会话,检查值并在javascript的全局变量中指定值或仅在那里打印

例如

<?php
session_start();
//checking ur values
echo "<script src=\"js/jquery-1.8.3.min.js\"></script>
      <script type=\"text/javascript\">
         $(document).ready(function(){
             //you can assign values here or print error messages to any div
             ('.div_class').html("unuthorised user");
         });    
      </script>";

?>

这里我使用了下载的JQuery文件 http://jquery.com/download/

您可以选择其他明智的方法来使用此JQuery文件的在线版本。其语法是

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">

如果有任何关于上述代码的进一步查询/问题,请随时返回。