0
Я попытался использовать ajax для отображения сообщения об ошибке, если имя пользователя или пароль неверны, и перейдите в tabeeb.html или secc.php, если они верны. но вместо перехода на правильную страницу страница отображается в диалоговом окне, например, img. что случилось?форма входа с ajax и javascript
это форма
<form method="post" class="bounceInDown animated">
<input type="text" name="u" id="u" placeholder="User Name" class="bbb"><br>
<input type="password" name="p" id="p" placeholder="Password" class="bbb">
<input type="button" onClick="myFunction()" name="loginbtn" class=" btn
btn-primary " value="Log in">
</form>
это функция
function myFunction(){
var u = document.getElementById("u").value;
var p = document.getElementById("p").value;
var dataString = 'u1=' + u + '&p1=' + p ;
if (u == '' || p == '') {
alert("Please Fill All Fieldsssssss");}
else {
// AJAX code to submit form.
$.ajax({
type: "POST",
url: "ajaxjss.php",
data: dataString,
cache: false,
success: function(html) {
alert(html);
}
});
}
return false;
MyFunction(), и это ajaxjss.php
<?php
// Fetching Values From URL
$u2 = $_POST['u1'];
$p2 = $_POST['p1'];
$connection = mysql_connect("localhost", "root", "password");
// Establishing Connection with Server..
$db = mysql_select_db("project", $connection); // Selecting Database
if (isset($_POST['u1'])) {
// من تحت هو التجربة
$result = mysql_query("select * from test where student_name = '$u2' ") or
die("faild");
$row = mysql_fetch_array($result);
if($row['student_name'] == $u2 && $row['student_password']==$p2)
{ $NoOFLetter = strlen($u2);
$result = substr($u2, $NoOFLetter-3, $NoOFLetter);
if($result == "doc"){header('Location: tabeeb.html'); exit; }
if($result == "sec"){header('Location: secc.php'); exit;}
exit; }
else{
$error_message = "Error in username or password!";}
// كل اللى فوق هو التجربة
if(!$query){
echo "error";
}else{echo "Form Submitted succesfully";}}
mysql_close($connection); // Connection Closed
?>
اسمعني .. هل تستخدم apache? –
a) ** не используйте ** устаревшие функции 'mysql', которые также удаляются в PHP7. вместо этого используйте 'mysqli' или' PDO'. b) ваш код широко открыт для ** SQL Injection ** - представьте, что кто-то разместил имя пользователя, например ''; Тест DROP TABLE; - 'c) - это ваш реальный пароль в вашей функции mysql_connect? если да: ** немедленно измените **. (также: вы никогда не должны использовать учетную запись root для каких-либо задач, кроме административных задач) d) ** никогда не когда-либо ** хранить пароли обычного текста! используйте 'password_hash()' и 'password_verify()' –
sql injection ... security venerability –