2013-02-21 70 views
0

我有这个问题。当我想登录我的PHP页面时,它只是清除文本框,没有别的..我一直试图解决这个问题,但我找不到解决方案。下面的代码:登录页面保持登录时清除我的文本框。

<?php 
include_once ("db.php"); 
include_once("session.php"); 

$username=$_POST['uporabnisko']; 
$pass=$_POST['geslo']; 

    if ((!empty($username)) && (!empty($pass))) 
    { 
     $pass=sha1($pass); // zakodiramo geslo 

     /*$query=mysql_query("SELECT username, password FROM users WHERE username='$username' AND password='$pass'"); 
     $username=mysql_real_escape_string($username); 
     $pass=mysql_real_escape_string($pass);*/ 

     $query = sprintf("SELECT username, password FROM users WHERE username = '%s' AND password = '%s'",     
        mysql_real_escape_string($username), mysql_real_escape_string($pass)); 

     $result=mysql_query($query); 

      if(mysql_num_rows($result) == 1) // preveri, če je uporabnik v bazi 
      { 
       $user = mysql_fetch_array($result); 

       $_SESSION['prijavljen'] = 1; 
       $_SESSION['id_user'] = $user['id']; 
       $_SESSION['username'] = $user['username']; 

       echo // preusmeri na index.php 
       ("<SCRIPT LANGUAGE='JavaScript'> 
       window.alert('Uspešna prijava!') 
       window.location.href='index.php' 
       </SCRIPT>"); 
      } 
      else 
      { 
       echo 
       ("<SCRIPT LANGUAGE='JavaScript'> 
       window.alert('Napačno uporabniško ime /geslo..') 
       window.location.href='prijava.php' 
       </SCRIPT>"); 
      } 
    } 
    else 
    { 
     echo 
     ("<SCRIPT LANGUAGE='JavaScript'> 
     window.alert('Niste izpolnili vseh polj!') 
     window.location.href='prijava.php' 
     </SCRIPT>"); 
    } 
?> 

我不知道什么可能是错的..

+0

可以在session_start()在这里失去了?我的意思是我没有看到session.php中的内容,但是请检查你的会话是否在你想要的地方处于活动状态。 – 2013-02-21 08:17:39

回答

0

你缺少;在你的每一个Javascript行之后加上。您需要

echo ("<SCRIPT LANGUAGE='JavaScript'> 
       window.alert('Napačno uporabniško ime /geslo..'); 
       window.location.href='prijava.php'; 
       </SCRIPT>"); 
0

您应该将您的include_once标签更改为require_once标签以确保您的脚本实际上包含在内。

您还应该至少使用mysqli或prepared语句来登录,以防止SQL注入攻击。

要重定向页面,则可以使用头功能在PHP

$result=mysql_query($query); 

     if(mysql_num_rows($result) == 1) // preveri, če je uporabnik v bazi 
     { 
      $user = mysql_fetch_array($result); 

      $_SESSION['prijavljen'] = 1; 
      $_SESSION['id_user'] = $user['id']; 
      $_SESSION['username'] = $user['username']; 

      header("location:index.php"); 
     } else { 
     echo("Napačno uporabniško ime /geslo.."); 
     header("location:prijava.php"); 
     } 

尝试这些变化,他们可能会帮助