首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >登录注册系统

登录注册系统
EN

Stack Overflow用户
提问于 2016-07-14 14:21:17
回答 2查看 193关注 0票数 1

我的登录和注册系统有一个小问题,但我不知道问题在哪里。当我按“登录”或“注册”时,下一页是白色的。我只看到我的留言:“再试一次!”我创建了3个PHP文件:

1) index.php

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
</head>
<body>
       <form action="logreg.php" metodh="post" accept-charset="utf-8">
	   <label>Username:</label><input type="text" name="username" placeholder="Username">
	   <br>
	   <label>Password:</label><input type="password" name="password" placeholder="Password">
	   <br>
	   <input type="submit" name="login" value="Login">
	   <input type="submit" name="register" value="Register">
       </form>
	   
</body>
</html>

我认为问题在下一个文件中:

2) logreg.php

代码语言:javascript
复制
<?php

$servername = "localhost";
$username = "alex";
$password = "calamar28";
$database = "register/login";

$conn = mysqli_connect($servername, $username, $password, $database );

if(!$conn){
	die("Connection failde:".mysqli_connect_error());
}

if(isset($_POST["login"])) {
	$user = $_POST['username'];
	$pass = $_POST['password'];
	 
	$sql = "SELECT * FROM users WHERE username='$user' AND password='$pass';";
	 
	$result = mysqli_query($conn, $sql);
	$count = mysqli_num_rows($result);
	
	if ($count == 1)
	{
		header("Location: personal.php");
	}
	else
	{
		echo "Username or password is incorrect!";
	}
	
}
else if(isset($_POST["register"])) {
	$user = $_POST['username'];
	$pass = $_POST['password'];
	 
	$sql = "INSERT INTO users (id, username, password) VALUES ('', '$user', '$pass')";
	 
	$result = mysqli_query($conn, $sql);
}
else
{
	echo "Try again!";
}	
?>

3) personal.php

代码语言:javascript
复制
<?php

if(isset($_POST["login"])){
	echo "Welcome to you personal area !";
	echo '<a href = "proiect4.php">Your proiect</a>';
}
else
{
	echo "You are not logged in!";
}
?>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-14 14:48:19

您还需要设置一些会话变量才能传递到personal.php页面.这将有助于确定用户是否已成功登录,因为当您重定向到此页面时,原始发布的数据将无法传输.您将希望您的logreg.php如下所示:

代码语言:javascript
复制
<?php
if (!isset($_SESSION)) {session_start();}    

$servername = "localhost";
$username = "alex";
$password = "calamar28";
$database = "register/login";

$conn = mysqli_connect($servername, $username, $password, $database );

if(!$conn){
	die("Connection failde:".mysqli_connect_error());
}

if(isset($_POST["login"])) {
	$user = $_POST['username'];
	$pass = $_POST['password'];
	 
	$sql = "SELECT * FROM users WHERE username='$user' AND password='$pass';";
	 
	$result = mysqli_query($conn, $sql);
	$count = mysqli_num_rows($result);
	
	if ($count == 1)
	{
                $_SESSION['loggedIn'] = 1;
		header("Location: personal.php");
	}
	else
	{
		echo "Username or password is incorrect!";
	}
	
}
else if(isset($_POST["register"])) {
	$user = $_POST['username'];
	$pass = $_POST['password'];
	 
	$sql = "INSERT INTO users (id, username, password) VALUES ('', '$user', '$pass')";
	 
	$result = mysqli_query($conn, $sql);
}
else
{
	echo "Try again!";
}	
?>

然后,您的personal.php页面将更改为:

代码语言:javascript
复制
<?php
if (!isset($_SESSION)) {session_start();} 

if(isset($_SESSION["loggedIn"]) && ($_SESSION["loggedIn"] == 1) ){
	echo "Welcome to you personal area !";
	echo '<a href = "proiect4.php">Your proiect</a>';
}
else
{
	echo "You are not logged in!";
}
?>

票数 1
EN

Stack Overflow用户

发布于 2016-07-14 14:31:32

HTML的默认方法是GET。在HTML中,您编写了metodh,而不是方法。这将被忽略,然后您的方法将自动默认为GET。除此之外,PHP代码也不错。将HTML代码更改为如下所示,所有内容都应如预期的那样正常工作:

代码语言:javascript
复制
<!DOCTYPE html>
    <html>
        <head>
        </head>
        <body>
           <form action="logreg.php" method="post" accept-charset="utf-8">
               <label>Username:</label><input type="text" name="username" placeholder="Username">
               <br>
               <label>Password:</label><input type="password" name="password" placeholder="Password">
               <br>
               <input type="submit" name="login" value="Login">
               <input type="submit" name="register" value="Register">
       </form>

    </body>
    </html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38376750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档