gpt4 book ai didi

php - 使用 PHP myadmin 的登录系统无法正常工作

转载 作者:行者123 更新时间:2023-11-29 03:32:54 24 4
gpt4 key购买 nike

我按照教程使用 php 创建了一个简单的登录系统。我已经安装了 wampserver 并从 phpmyadmin 面板创建了数据库。它不起作用,我相信这是服务器的问题。当我创建数据库时,那里出现的服务器是 mysql wampserver,在教程中是 localhost。我将 config.inc.php 中的服务器名称更改为 localhost 但仍然无法正常工作。当我单击登录按钮时,它会返回到 wampserver 的索引页面。我将分享我的代码,也许有人可以找到错误,因为我无法弄清楚我做错了什么。

数据库连接.php

<?php
$dbCon = mysqli_connect("localhost", "root", "", "tests");
?>

用户.php

<?php
session_start();

if (isset($_SESSION['id'])) {
// Put stored session variables into local PHP variable
$uid = $_SESSION['id'];
$usname = $_SESSION['username'];
$result = "Test variables: <br /> Username: ".$usname. "<br /> Id: ".$uid;
} else {
$result = "You are not logged in yet";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title><?php echo $usname ;?> - Test Site</title>
</head>

<body>
<?php
echo $result;
?>
</body>
</html>

首先.php

<?php
session_start();

if (isset($_POST['username'])) {

// Include the databas connection script
include_once("dbConnect.php");

$usname = strip_tags($_POST['username']);
$paswd = strip_tags($_POST['password']);

//$usname = mysqli_real_escape_string($dbCon, $usname);
//$paswd = mysqli_real_escape_string($dbCon, $paswd);



$sql = "SELECT id, username, password FROM members WHERE username = '$usname' AND activated = '1' LIMIT 1";
$query = mysqli_query($dbCon, $sql);
$row = mysqli_fetch_row($query);
$uid = $row[0];
$dbUsname = $row[1];
$dbPassword = $row[2];

// Check if the username and the password they entered was correct
if ($usname == $dbUsname && $paswd == $dbPassword) {
// Set session
$_SESSION['username'] = $usname;
$_SESSION['id'] = $uid;
// Now direct to users feed
header("Location: user.php");
} else {
echo "<h2>Oops that username or password combination was incorrect.
<br /> Please try again.</h2>";
}

}
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Basic login system</title>
</head>

<body>
<div id="wrapper">
<h1>Simple PHP Login</h1>
<form id="form" action="index.php" method="post" enctype="multipart/form-data">
Username: <input type="text" name="username" /> <br />
Password: <input type="password" name="password" /> <br />
<input type="submit" value="Login" name="Submit" />
</form>
</body>
</html>

最佳答案

RhapX 试图解释的是您的表单操作告诉表单将​​数据发布到哪里。目前,您有

<form id="form" action="index.php" method="post" enctype="multipart/form-data">

这意味着一旦用户点击提交,它就会将它们发送到 index.php 并将与它们一起发送 $_POST 数据。但是您是说 first.php 是实际执行所有工作的文件,因此您需要将用户和 $_POST 数据发送到 first.php。将其更改为:

<form id="form" action="first.php" method="post">

(将操作更改为 first.php 并去掉 enctype——这可能是正确的,但完全没有必要,我已经看到它给一些人带来了问题。)

关于php - 使用 PHP myadmin 的登录系统无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27763029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com