php mysql登录标题问题

标签 php mysql

你好,我为 php mysql 作业创建了一个简单的登录:

<?php
/*Initialize session*/
session_start();

/*Store form data in variables*/
$username = $_POST['username'];
$password = $_POST['password'];

/*Connect to the database*/
$conn = mysql_connect("localhost", "twa174" , "a3wgrrzn")
or die ("Could not connect: " .mysql_error());

mysql_select_db("twa174", $conn)
or die ("Could not find Database: " . mysql_error() );


/*Create empty error log*/
$errors = '';

/*Check for login attempt*/
if(isset($_POST['submit'])) {
    if(!isset($username) || empty($username)) $errors .= '<p>Please enter a 
username!</p>';
    if(!isset($password) || empty($password)) $errors .= '<p>Please enter a 
password!</p>';
    /*Initialize login sequence on attempt*/
    if(empty($errors)){
        $query = mysql_query("SELECT * FROM school_info WHERE schoolID ='".$username."'");
        $numrows = mysql_num_rows($query);
        if($numrows!=0){
            while ($row = mysql_fetch_assoc($query)){
                $dbusername= $row['username'];
                $dbpassword= $row['password'];
            }           
            if($username==$dbusername&&$password==$dbpassword){
                header("Location: leavers.php");
            } 
            else {
                $errors .= '<p>Incorrect login details</p>';
            }
        }
    }
}

?>

<?php echo($errors);?>














<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <title>Login PHP Page</title>
    <link href="assign2.css" rel ="stylesheet" type="text/css"/>
</head>


<body>
<form action = "login.php" method="post">
<table>
<tr> <td>Username:</td>
<td><input type="text" name="username" />
</td> </tr>
<tr><td>Password:</td>
<td><input type="password"  name="password"/> </td></tr> 
<tr><td> <input type="submit"  name="submit" value="Submit" </td> 
<td> <input type="reset" name="reset" value="Reset"</td></tr>
</table>

</form>
</body>

</html>

它的目的是在正确输入用户名和密码时重定向,但无论正确还是错误,它都停留在同一页面上。

我过去在标题方面遇到过一些麻烦。

我不确定我是否有太多括号或者它不会重定向,因为我的头函数上面已经有脚本。

有人知道我哪里出错了吗?

最佳答案

乍一看,我能看出 if-else 不合适。你的 else 在你的 if 里面。 Thay 可能会导致问题。

 if($numrows!=0){
    while ($row = mysql_fetch_assoc($query)){
    $dbusername= $row['username'];
    $dbpassword= $row['password'];}

    if($username==$dbusername&&$password==$dbpassword){
    header("Location: leavers.php");}

    else{$errors .= '<p>Incorrect login details</p>';}}}}

另外,在while循环后输出$dbusername和$dbpassword,检查它们是否与$username和$password相同(因为数据库中可能存在重复条目。

关于php mysql登录标题问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16382233/

相关文章:

php - 我无法从 MYsql 检索图像并将其显示到表列

PHP如何在扩展类中使用父类对象变量?

php - 将扩展配置文件实体添加到 FOS UserBundle

php - Yii框架: Help to translate relational Sql query

mysql - 非常简单的 Arduino 更新 SQL 条目

Mysql - 无法启用远程访问

mysql - 为什么关系型数据库不能水平扩展

php - 上传大型 JPG 文件后,WordPress async-upload.php 返回 500(内部服务器错误)

php - 如何在 PHP7 中使用 Memcached?

mysql - 在使用 Entity Framework Code First 和 mysql 时强制 engine=innodb