php - 无法使用我的详细信息登录
问题描述
我正在创建一个登录页面,用户可以在其中使用姓名和电子邮件 ID 登录他们的帐户。我在登录页面中遇到问题,当我尝试使用正确的电子邮件 ID 输入详细信息并将其命名为未登录时。我是 ajax 新手。我应该怎么做才能让它工作?请任何人指导我,我从三天开始尝试,但没有让它工作
登录.php
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="script.js"></script>
<style>
.error {
color: red;
display: none;
}
.div1 {
margin-top: -19px;
margin-bottom: -25px;
margin-left: -19px;
}
.copy {
border-radius: 4px;
padding: 6px 20px;
border-style: ridge;
}
#error_message{
background: #F3A6A6;
}
.ajax_response {
padding: 10px 20px;
border: 0;
display: inline-block;
margin-top: 20px;
cursor: pointer;
display:none;
color:#555;
}
</style>
</head>
<body style="background-color:#80bfff">
<div style="padding-left: 380px; padding-top:80px" class="div1">
<h2 style="color:#009999">Login :</h2>
<p><span class="error">All fields are required </span></p>
<form action="" method="post" id="logForm" enctype="multipart/form-data">
<span style="color:#0099ff">Name: </span>
<input type="text" name="name" id="name" class="copy" style="margin-left: 52px" value ="" />
<span class="namee error">Enter name</span>
<br/><br/>
<span style="color:#0099ff"> E-mail: </span>
<input type="text" name="email" id="email" class="copy" style="margin-left: 48px" value ="" />
<span class="emaile error">Enter email</span>
<br/><br/>
<input type="button" id="submit" class="submit" name="submit" value="Register" />
<p style="color:black">Haven't Registered? <a href="index.php">Register here</a>.</p><br><br>
<div id="error_message" class="ajax_response" style="float:left"></div>
</form>
</div>
</body>
<script>
$(document).ready(function(){
$("#submit").click(function(){
var error = false;
var form = document.getElementById('logForm');
var formData = new FormData(form);
// Loop through the form data
for(var p of formData){
// Check if the form data is empty
if(p[1] === ''){
// Show the error
$('.'+p[0]+'e').show();
error = true;
}
}
// prevent AJAX from running in case of an error
if(error){
return false;
}
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "success.php",
data: formData,
processData: false,
contentType: false,
cache: false,
success: function(data){
if (data['success']==true) {
window.location = 'pannel.php';
}
else {
alert('Invalid Credentials');
}
}
});
});
});
</script>
</html>
成功.php
<?php
$mysqli = mysqli_connect("localhost","root","","ajax1");
$name=$_POST["name"];
$email=$_POST["email"];
//Checking is user existing in the database or not
$query = "SELECT * FROM `users` WHERE name='$name' and email='$email'";
$result = mysqli_query($mysqli,$query);
$row1 = mysqli_fetch_array($result);
$rows = mysqli_num_rows($result);
if($rows==1){
$_SESSION['name'] = $name;
$_SESSION['id']=$row1['userid'];
echo "successfully logged in";
}
else{
$error = " Invalid Name or E-MAIL ";
}
?>
面板.php
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<br><br><br><br>
<?php
$mysqli = mysqli_connect("localhost","root","","ajax1");
$query=mysqli_query($mysqli,"select * from `users` where userid='".$_SESSION['id']."'");
$row=mysqli_fetch_array($query);
echo 'Welcome - '.$row['name'];
?>
<br>
<a href="logout.php">Logout</a>
<br><br>
</div>
</body>
</html>
解决方案
问题是您需要在 php 中启动会话,如下所示
<?php session_start(); ?>
我希望它会工作...
推荐阅读
- python - Python Pandas 传播价值直到条件
- javascript - Firestore:如何获取 Firestore 查询结果的文档名称?
- sql - 哪个sql查询是正确的
- timer - STM32 arduino 在中断时更改硬件定时器
- javascript - 加载页面时如何解决错误elFinder
- pandas - 如何将乘数应用于数据框中的特定搜索值
- unix - LINUX:如何 AWK 在每个唯一行中找到最大值
- python - 合并/连接两个表,缺少第二个表中的信息
- database - EF Core 数据库连接保持活动状态
- php - 改变 woocommerce 迷你购物车中的价格在一秒后更改为前一个