Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Регистрация с использованием Ajax
Оригинал статьи здесь
Форма запроса регистрационной информации
Для начала создадим форму ввода регистрационной информации и подключим скрипт из внешнего файла, содержащий необходимые функции (XMLHttpRequest и др.)
<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>
Обработчик ajax_framework.js:
/* ------------------------ */ /* XMLHTTPRequest Enable */ /* ------------------------ */ 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() получила и отправила в login.php две переменных (email and psw) для проверки наличия пользователя в базе данных.
Проверку осуществляет login.php:
<!-- Include Database connections info. --> <?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); if($getUser_RecordCount < 1){ echo '0';} else { echo $getUser_result['nick'];} } ?>
config.php
<?php // Connection's Parameters $db_host="localhost"; $db_name="database_name"; $username="database_username"; $password="database_password"; $db_con=mysql_connect($db_host,$username,$password); $connection_string=mysql_select_db($db_name); // Connection mysql_connect($db_host,$username,$password); mysql_select_db($db_name); ?>
.
Прокомментировать/Отблагодарить