1

这是我在登录(logging.php)页面中使用的代码..请问我应该怎么做?当尝试登录第一个帐户/其他帐户时..登录页面已加载但未重定向到任何页面相反,它只显示一个空白页.. 或者如果有的话,我的代码是错误的,你能帮助我并提供一个更好的代码来替换它吗?任何答复将不胜感激,谢谢!:) 我非常需要这个项目..

<?php

session_start();
  $username = $_POST['username'];
  $password = $_POST['password'];

if ( isset ($_POST['username']) )
{
 $connect = mysql_connect("localhost","root","") or die ("could'nt connect to db");
 mysql_select_db("tesda") or die ("cant connect");
 $sql=("SELECT * FROM login WHERE username='$username'");
 $result=mysql_query($sql);
 $row=mysql_fetch_array($result);

 if($result !=0 )
 {
    while($row=mysql_fetch_assoc($result))
    {
        $username = $row['username'];
        $password = $row['password'];
    }

if($row['name'] == $_POST['name'])
{

    if($_POST['username']=='tesda1'){
    header('Location: expi1.php');
    }
    else if($_POST['username']=='tesda2'){ 
    header('Location: expi2.php');
    }
    else if($_POST['username']=='tesda3'){ 
    header('Location: expi3.php');
    }
    else if($_POST['username']=='tesda4'){ 
    header('Location: expi4.php');
    }
    else if($_POST['username']=='tesda5'){ 
    header('Location: expi5.php');
    }
    else if($_POST['username']=='tesda6'){ 
    header('Location: expi6.php');
    }
    else if($_POST['username']=='tesda7'){ 
    header('Location: expi7.php');
    }
    else if($_SESSION['username']="$dbusername"){
    header('Location: attempt1.php');
    }
    else if($_SESSION['username']="$dbusername"){
    header('Location: attempt2.php');
    }
    else if($_SESSION['username']="$dbusername"){
    header('Location: attempt3.php');
    }
}
}
}
?>
4

1 回答 1

0

请看看下面的代码是否有效,我做了一些小改动......

 <?php

    session_start();
      $username = $_POST['username'];
      $password = $_POST['password'];

    if ( isset ($_POST['username']) )
    {
     $connect = mysql_connect("localhost","root","") or die ("could'nt connect to db");
     mysql_select_db("tesda") or die ("cant connect");
     $sql="SELECT * FROM login WHERE username='$username' AND password='$password'";
     $result=mysql_query($sql);


     if(mysql_num_rows($result)==1)
     {

        if($_POST['username']=='tesda1'){
        header('Location: expi1.php');
        }
        else if($_POST['username']=='tesda2'){ 
        header('Location: expi2.php');
        }
        else if($_POST['username']=='tesda3'){ 
        header('Location: expi3.php');
        }
        else if($_POST['username']=='tesda4'){ 
        header('Location: expi4.php');
        }
        else if($_POST['username']=='tesda5'){ 
        header('Location: expi5.php');
        }
        else if($_POST['username']=='tesda6'){ 
        header('Location: expi6.php');
        }
        else if($_POST['username']=='tesda7'){ 
        header('Location: expi7.php');
        }

    }else{
        header('Location:wrongattempt.php');
    }
    }

?>

创建一个单独的文件来处理不成功的尝试并显示不成功的尝试次数。

错误尝试.php

<?php
session_start();
$attempt = ++$_SESSION['count'];
echo 'Number of unsuccessful attempts = '.$attempt;

echo '<a href="login.php">Try again</a>';


?>

在您的登录页面中,在开始时添加以下行。我假设您的登录页面是 login.php。 登录.php

session start();
if(!isset($_SESSION['count']))
    $SESSION['count']=0; //initialize count session variable.
于 2012-10-11T04:11:24.847 回答