在插入正确的登录详细信息(即用户名和密码),php和jquery中的代码后,我的代码登录失败

我有以下代码(php和jquery)登录学生和教师(使用相同的表格进行访问)。 在我的系统中,管理员可以创建学生和教师。 创建后,详细信息将保存到数据库中。 保存的详细信息可用于登录其管理面板。 但是,问题是,当学生或教师想要使用管理员提供的登录详细信息登录时(已经保存在数据库表中),显示错误消息:登录失败,请检查您的用户名和密码。 (保存到数据库表中的相同详细信息用于登录过程)。 这让我痛苦不堪。 如果有人可以告诉我,如果我的代码中有错误,将非常感谢。

login_form.php

  jQuery(document).ready(function(){ jQuery("#login_form1").submit(function(e){ e.preventDefault(); var formData = jQuery(this).serialize(); $.ajax({ type: "POST", url: "login.php", data: formData, success: function(html){ if(html=='true_teacher') { $.jGrowl("Loading File Please Wait......", { sticky: true }); $.jGrowl("Welcome to Soch College's E- Learning Management System", { header: 'Access Granted' }); var delay = 1000; setTimeout(function(){ window.location = 'dasboard_teacher.php' }, delay); } else if (html == 'true'){ $.jGrowl("Welcome to Soch College's E- Learning Management System", { header: 'Access Granted' }); var delay = 1000; setTimeout(function(){ window.location = 'student_notification.php' }, delay); } else { $.jGrowl("Please Check your username and Password", { header: 'Login Failed' }); } } }); return false; }); });  

的login.php

  0 ) { $_SESSION['id']=$row_student['student_id']; echo 'true'; }else if( $count_tea > 0 ) { $_SESSION['id']=$row_teacher['teacher_id']; echo 'true_teacher'; } else{ }?> 

我认为问题出在这里;

 if( $count_stu > 0 ) { //$_SESSION['id']=$row_student['student_id'];// mistake $_SESSION['id']=$row_stu['student_id']; echo 'true'; }else if( $count_tea > 0 ) { //$_SESSION['id']=$row_teacher['teacher_id'];// mistake $_SESSION['id']=$row_tea['teacher_id']; echo 'true_teacher'; } else{ echo 'Wrong Username Or Password'; } 

我同意@Drew Pierce,你应该考虑使用pdo或mysqli。

在直接处理用户提供的用户提供的数据(如usernamepassword时,使用预准备语句至关重要。

您现在的代码对SQL注入是开放的。 将mysqlimysqli准备语句一起使用,或将PDO与 mysqli准备语句 一起使用

来自Fred: PHP不在mySQL数据库中插入内容:文本,图像,任何内容