php - 登录后空白页面
问题描述
我正在尝试使用 PDO 和会话创建登录/注册系统,用户可以创建他的帐户并且他可以访问欢迎页面,但是当注销并尝试使用有效的用户名和密码重新登录时,它会将我发送到空白的 php 页面,我在互联网上查看,空白的 php 页面意味着我找不到任何语法错误。顺便说一句,我尝试用任何密码输入任何用户名,但它仍然将我发送到一个空白的 php 页面,这是我的代码:Config.php
class config {
public static function connect()
{
$host = "localhost";
$username = "root";
$password = "";
$dbname = "logintest";
try{
$bdd = new PDO("mysql:host=$host;dbname=$dbname",$username,$password);
$bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
}catch(PDOException $e)
{
echo "Connection échoué" . $e->getMessage();
}
return $bdd;
}
}
?>
我的 process.php (这就是我认为问题来自的地方:
session_start();
include_once("config.php");
if(isset($_POST['register']))
{
$bdd = config::connect();
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
if(insertDetails($bdd,$username,$email,$password))
{
$_SESSION['username'] = $username;
header("Location: profile.php");
}
}
if(isset($_POST['login']))
{
$bdd = config::connect();
$username = $_POST['username'];
$password = $_POST['password'];
if(checkLogin($bdd,$username,$password))
{
$_SESSION['username'] = $username;
header("Location: profile.php");
}
else{
echo "Le mot de passe ou le nom d'utilisateur sont incorrect";
}
}
function insertDetails($bdd,$username,$email,$password)
{
$query = $bdd->prepare("
INSERT INTO users (username,email,password)
VALUES(:username,:email,:password)
");
$query->bindParam(":username",$username);
$query->bindParam(":email",$email);
$query->bindParam(":password",$password);
return $query->execute();
}
function checkLogin($bdd,$username,$password)
{
$query = $bdd->prepare("
SELECT * From users WHERE username=:username AND password=:password
");
$query->bindParam(":username", $username);
$query->bindParam(":password", $password);
$query->execute();
// Check how many rows are returned
if ($query->rowCount() == 1)
{
return true;
}
else {
return false;
}
}
我的 profile.php :
session_start();
include_once("config.php");
echo "Bienvenue " . $_SESSION['username'] . " ";
echo "<a href='logout.php'>Se deconnecter</a>". " ";
echo "<a href='update.php'>Mettre a jour le profile</a>" . " ";
echo "<a href='delete.php'>Supprimer mon compte</a>". " ";
?>```
and my logout.php :
```<?php
session_destroy();
header("Location: index.html");
?>
或者这是我正在处理的项目:https ://github.com/AmrouHab/LoginRegister/tree/master/neptunetest
我会采取任何帮助谢谢(顺便说一句对不起我的英语不好我是法语)
解决方案
好吧,我找到了我忘记在 process.php 中输入大写“L”的解决方案
if(isset($_POST['login']))
我已将其更正为
if(isset($_POST['Login']))
现在它正在工作。感谢您的关注。
推荐阅读
- node.js - 在 GCP Kubernetes 引擎的同一部署中运行应用程序的不同组件?
- c# - C#-如何根据字典值更新 DataTable 中的第一行
- java - 从'g'到'z'的字符如何在Java中将数字表示为String(包装类Integer)?
- xamarin.forms - Listview 搜索上的图像闪烁 - xamarin.forms
- laravel-5.7 - [] rabbitmq 队列没有连接器
- javascript - 关闭 iframe 打印对话框时如何刷新页面
- fortran - OpenMP 中并行块内的关键部分
- java - DateTimeFormatter 无法在 Java 8 中解析带十进制 0 的日期
- c++ - 找出如何修复 C++ Blackjack 程序的问题
- python - dict.copy 中的 Python KeyError