Не работает форма для регистрации

81
09 марта 2021, 13:30

Есть форма для регистрации, но про нажатии на кнопку ничего не происходит. Код формы:

<!DOCTYPE html>
<html>
<head>
    <title>index</title>
</head>
<body>
<script src="ajax_framework.js" language="javascript"></script>
<!-- Show Message for AJAX response -->
<div id="login_response"></div>
<!-- При отправке формы вызывается функция login() из ajax_framework.js -->
<form action="javascript:login()" method="post">
<input name="emailLogin" type="text" id="emailLogin" value=""/>
<input name="pswLogin" type="password" id="pswLogin" value=""/>
<input type="submit" name="Submit" value="Login"/>
</form>
</body>
</html>

ajax_framework.php:

    function createObject() {
var request_type;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
request_type = new ActiveXObject("Microsoft.XMLHTTP");
}else{
request_type = new XMLHttpRequest();
}
return request_type;
}
var http = createObject();

/* ----------------------- */
/*      LOGIN              */
/* ----------------------- */
/* Переменная nocache содержит случайное число, добавляемое в запрос
   для предотвращения кеширования браузером запроса */
var nocache = 0;
function login() {
 // Отображаем соощение в области ID ajax_response
 document.getElementById('login_response').innerHTML = "Loading..."
    // Проверяем, что все поля не пустые. Используем encodeURI() для кодирования недопустимых символов в запросе.
var email = encodeURI(document.getElementById('emailLogin').value);
var psw = encodeURI(document.getElementById('pswLogin').value);
 // Получаем случайное число
nocache = Math.random();
 // Pass the login variables like URL variable
http.open('get', 'login.php?email='+email+'&psw='+psw+'&nocache = '+nocache);
http.onreadystatechange = loginReply;
http.send(null);
}
function loginReply() {
if(http.readyState == 4){ 
var response = http.responseText;
 if(response == '0'){
// if login fails
  document.getElementById('login_response').innerHTML = 'Login failed! Verify user and password';
// else if login is ok show a message: "Welcome + the user name".
  } else {
document.getElementById('login_response').innerHTML = 'Welcome'+response;
  }
}

login.php :

    <?php include('config.php');
// Verify if user exists for login
if(isset($_GET['email']) && isset($_GET['psw'])){
$email = $_GET['email'];
$psw = $_GET['psw'];
/*$getUser_sql = 'SELECT * FROM USER WHERE email="'. $email . '" AND psw = "' . $psw . '"';
$getUser  = mysql_query($getUser_sql);
$getUser_result =  mysql_fetch_assoc($getUser);
$getUser_RecordCount = mysql_num_rows($getUser);*/
$proof_email = mysqli_query($link, "SELECT * FROM users WHERE email = '$email' ");
$getUser_result =  mysql_fetch_assoc($proof_email);
if($getUser_RecordCount = 1){ echo '0';} else { echo "Good";}
}
?>

config.php :

    <?php
 $link = mysqli_connect( 
            'localhost',  /* Хост, к которому мы подключаемся */ 
            'root',       /* Имя пользователя */ 
            '',   /* Используемый пароль */ 
            'hentai'); 
?>
Answer 1

Код в файле ajax_framework.js синтаксически неверный - в нем отсутствует завершающий }. Проверьте сообщения в консоли разработчика Вашего браузера - в нем вы увидете Uncaught SyntaxError: Unexpected end of input.

Проверить js-код, на корректность, можно линтером, например тут

READ ALSO
Создание CSS3 эффекта мигающего века

Создание CSS3 эффекта мигающего века

Я пытаюсь создать экран ожидания c цифрами обратного отсчета, который показывает глаз вместе с веком, и глазное яблоко с эффектом радужной...

101
Простая смена классов JS

Простая смена классов JS

У меня есть валидация с помощью регулярки, где я проверяю совпадают ли условия с введенными даннымиСейчас показан пример где нужно ввести...

100
Разделить строку на массив слов c++

Разделить строку на массив слов c++

В Java есть функцияsplit которая разделяет строку вокруг регулярного выражения и возвращает массив строк, так вот есть ли в C++ (стандартной библиотеке)...

95