Die überprüfung von Benutzername und Passwort mit php ajax
Arbeite ich an einer Hausaufgabe, die im Zusammenhang zu php. In der Zuordnung einer Login-Seite gewünscht wird. In diesem Protokoll auf Seite, jedem Benutzer wird erwartet, dass zur Eingabe seines Benutzernamens und Passwort. Dieser Benutzername und Passwort sollen verglichen werden mit den Werten in der Kunden-Tabelle in der mysql-Datenbank. Wenn das Passwort und der Benutzername stimmt mit den Platten unter 'cid' und 'name' Spalten in der Tabelle Kunde, eine Mitteilung über erfolgreiche Anmeldung angezeigt.
Ich habe 3 php-Dateien, die sind loginGUI.php , check_login.php und db_connect.php.
db_connect.php:
<?php
$db_name="ozcan_b"; //Database name
$tbl_name="customer"; //Table name
//connect to db
$con=mysql_connect("127.0.0.1","xxxxxx","xxxxxx");
mysql_select_db("ozcan_b")or die("cannot select DB");
//Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysql_connect_error();
exit(0);
}
?>
loginGUI.php:
<?php
session_start();
require_once ('db_connect.php'); //include the database connection
?>
<html>
<head>
<title>
Login page
</title>
</head>
<body>
<h1 style="font-family:Comic Sans Ms;text-align="center";font-size:20pt;
color:#00FF00;>
Login Page
</h1>
<form name="myForm" method="POST" >
Username<input type="text" name="userid"/>
Password<input type="password" name="pswrd"/>
<input type="button" value="Login" id='checklogin' onclick="check()"/>
<div id='username_availability_result'></div>
</form>
<script language="JavaScript">
var xhr_request = false;
var checking_html = 'Checking...';
//when button is clicked
function check(){
//Check the fields
if(document.forms['myForm'].userid.value=="" || document.forms['myForm'].pswrd.value=="")
{
alert('Please enter your password and your username!');
}
else
{
//else show the cheking_text and run the function to check
//$('#username_availability_result').html(checking_html);
check_availability();
}
}
//function to check username availability
function check_availability(){
//get the username
var userid = document.forms['myForm'].userid.value;
var pswrd = document.forms['myForm'].pswrd.value;
//use ajax to run the check
var request = $.ajax(
{
url:check.php,
type:POST,
data:{pswrd:pass, userid:username}
success:function()
{
alert("Success");
}
});
</script>
</body>
</html>
check_login.php:
<?php
session_start();
require_once ('db_connect.php');
if(isset($_POST['pswrd']) && isset($_POST['userid']))
{
$sql = "SELECT * FROM users WHERE username='".mysqli_real_escape($dbc, trim($_POST['userid'])."' AND password= '".mysqli_real_escape($dbc, trim($_POST['pswrd'])."'");
$result = mysql_query($dbc, $sql) or die("Could Not make request");
if(mysql_num_rows($result) == 1)
{
//redirect to the welcome page
}
else
{
echo "User Not Found";
}
}
?>
Und meine Frage ist, ich kann kein Ergebnis nach ajax , scheint es nicht funktioniert. Was ist falsch?
P. S : ich habe bearbeitet meine php-Dateien entsprechend den Empfehlungen. Danke für alles , aber ajax wieder nicht funktioniert. Helfen Sie mir!!
- Wo sind Sie einschließlich der jQuery-Bibliothek? Haben Sie noch andere JS-oder CSS?
- Ich habe auch keine jQuery-Bibliothek!! Wo sollte ich auch? Ich Schreibe alle php-Dateien mit TextWrangler auf dem mac.
- Platzieren Sie diese in der
<head>
Abschnitt loginGUI.php:<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
- Okey ich Hinzugefügt, aber es hat keinen Einfluss auf das Ergebnis. Ich bearbeitet meine php-Dateien entsprechend den Empfehlungen. Bitte helfen Sie mir auf dieser bearbeiteten version.
- Müssen Sie geben einige details über die error(s), die Sie erhalten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie nicht eigentlich senden die
userid
undpswrd
im PHP-Skript. Sie können nicht nur senden$.ajax
zufällige Eigenschaften und hoffe, dass es funktioniert. Ihre Daten gehen in diedata
parameter.Können Sie jquery ajax
});
Dies sollte für Sie arbeiten, kann u sammeln die Daten von der server-Seite mit normalen
$_POST['password']
und$_POST['username']
Auf der server-Seite, die Sie tun können, diese
Sieht es für mich aus, dass Sie mithilfe von code aus verschiedenen Orten. Sie sollten überprüfen, dass die Benutzername /Kennwort-Kombination vorhanden ist, nicht zu prüfen, wenn es verfügbar ist.
Niemand deine Hausaufgaben für dich, sorry. Hier ist ein guter Grund, warum..
Sie mischen
mysql
undmysqli
hier. Sie sollten mit NURmysqli
! Ihreuserid
undpswrd
Variablen zugewiesen bekommenusername
undpass
in der AJAX-Aufruf, aber dercheck_login.php
Skript sieht Sie nie. Es ist noch auf der Suche nachuserid
undpswrd
. Du hast zu viele Fehler, und Sie scheinen nicht zu sein sehr responsive zu bekommen-Sie fixiert. Außerdem sind wir nicht ein Hausaufgaben Website.Das problem könnte durch fehlende type-Attribut im script-tag. Es sollte sein:
Dieser sollte das problem lösen.