Я создаю страницу входа, где пользователи могут войти в свою учетную запись, используя имя и свой электронный идентификатор. У меня возникает проблема на странице входа, когда я пытаюсь ввести данные с правильным идентификатором электронной почты и называть его не входящим в систему. Я новичок в ajax. что мне делать, чтобы заставить его работать? пожалуйста, может ли кто-нибудь направить меня, я пробую это с трех дней, но не могу заставить его работать
login.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>
success.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 ";
}
?>
pannel.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>
сэр, я исправлю это, но даже если я даю правильный адрес электронной почты и назову его все еще показывающим недействительные учетные данные, пожалуйста, что мне делать, сэр
если вы сделаете var_dump для $ _SESSION, что вы получите?
хорошо, сэр, я проверю и позвоню вам
Примечание: неопределенный индекс: имя в C: \ xampp \ htdocs \ 3 \ success.php в строке 7 Примечание: неопределенный индекс: электронная почта в C: \ xampp \ htdocs \ 3 \ success.php в строке 8
я получаю эту ошибку, сэр






Проблема в том, что вам нужно начать сеанс на php, как показано ниже
<?php session_start(); ?>
Надеюсь сработает ...
куда я должен вставить этот код, сэр? в каком файле? session.php?
вставьте его в success.php и pannel.php
затем проверьте запрос sql, чтобы убедиться, что логин работает правильно или нет
да, сэр, это правильно, можете ли вы проверить один раз в моем вопросе, что я вставил все файлы, которые я использовал
не проверяйте свой запрос в ur db, тогда вы можете отлаживать, где реальная проблема
пожалуйста, не могли бы вы направить меня еще немного, сэр, пожалуйста
у вас проблема с вызовом ajax, поэтому вы можете сослаться на эта ссылка
Вы должны использовать подготовленные операторы, с этим кодом вы уязвимы для атак с использованием SQL-инъекций.