TopSladur.com - Кой е най-големия?
Помогни ни да направим Uroci.net по - богат! Добави урок
Категории Други уроци Adobe Photoshop Adobe Illustrator Adobe Flash Adobe Fireworks DreamWeaver CSS и HTML Corel Draw Image Ready PHP SEO CMS Microsoft Windows Microsoft Word Microsoft Excel PowerPoint Microsoft Access Microsoft Publisher Linux Visual basic JavaScript Ajax
3ds Max Maya 3D C++ Sound Forge Gimp SWiSH

Проверка на потребителско име с AJAX и PHP

kvadrata   трудност:    видян: 7558

Това може да се използва при регистрацията на потребители. Когато потребителят напише потребителското име, с което иска да се регистрира и в реално време му се съобщава дали е свободно или заето.

В този пример ще използваме 2 страници: register.html и checkuname.php
Ще започнем с register.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>uroci.net - Пример с AJAX и PHP</title>
</head>

<body>

<script language="javascript">
<!--

function checkUsername(username){
  document.getElementById('usermessage').innerHTML = 'Проверяване...'; // Извеждаме надпис, че името се проверява
  var xmlhttp=false; // Изчистваме променливата, която ще ползваме
  try {
    xmlhttp = new ActiveXObject('Msxml2.XMLHTTP'); // За Firefox
  } catch (e) {
    try {
      xmlhttp = new
      ActiveXObject('Microsoft.XMLHTTP'); // За IE
    } catch (E) {
      xmlhttp = false;
    }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest(); // Ако сме успели да активираме Active X, започваме XMLHttpRequest
  }
  var url = 'checkuname.php?username=' + username; // Път до PHP файла за проверка. Добавяме и GET променлива с името
  xmlhttp.open('GET', url, true); // Връзка с PHP файла
  xmlhttp.onreadystatechange=function() { // Обработване на получените данни за името
    if (xmlhttp.readyState==4) { // Проверяваме сме получили данни за името
      var content = xmlhttp.responseText; // Правим променлива с данните за името
      if( content ){
        switch(content){ // Ако PHP файла е отговорил с 1 - името е заето. Ако е отговорил с 2 е свободно
          case "1":document.getElementById('message').innerHTML = "&lt;span style='color:red'>Заето!&lt;/span>"; break;
          case "2":document.getElementById('message').innerHTML = "&lt;span style='color:green'>Свободно&lt;/span>"; break;
          default :document.getElementById('message').innerHTML = ""; break;
        }
      }
    }
  }
  xmlhttp.send(null) // Зануляване на XMLHttpRequest
  return;
}

-->
</script>


Потребител: <input type="text" name="username" onblur="checkUsername(this.value)" />
<div id="message"></div>

</body>
</html>



Ето и checkuname.php

<?php

mysql_connect("localhost", "mysql_user", "mysql_password"); // Свързване към базата данни (поставете вашите данни!)
mysql_select_db("mysql_db"); // Избиране на базата данни

if(isset($_GET['username'])){

$uname = $_GET['username'];
$query = mysql_query("SELECT * FROM users WHERE username = '$uname'");
if($num = mysql_num_rows($query)){
echo "1"; // Ако потребителското име съществува връщаме "1"
}else{ echo "2"; } // Ако не съществува връщаме "2"

}

?>

Това е. Просто и ясно ;)


Коментари (9)

afera на 07.02 2007 в 21:23ч.
това го пробвах вече и работи супер!
kvadrata на 08.02 2007 в 13:53ч.
Ами лично го пробвах дали работи. Ако неработеше нямаше да пусна урока.
Лошото е че иска база данни, но неможах да го измисля без база данни :(
zhgmondi на 17.02 2007 в 11:15ч.
Във function checkUsername имаш едно document.getElementById('usermessage').innerHTML

Къде е елемента с ID 'usermessage'?
gogott на 04.05 2007 в 21:49ч.
хаха това не е ли един отбор с много як химн който играе фифа знае за какво говоря.The great AJAX
ANDiTKO на 22.07 2007 в 12:46ч.
Еми то горе долу от там идва името на езика.
Aeris на 01.12 2007 в 11:22ч.
Asynchronous JavaScript and XML
DeBre_NeO на 23.03 2008 в 18:30ч.
Във function checkUsername имаш едно document.getElementById('usermessage').innerHTML

Къде е елемента с ID 'usermessage'?
DeBre_NeO на 23.03 2008 в 18:37ч.
Но каквото и да си говориме урока е ПЕРФЕКТЕН !!!
Кратко и ясно :)
DeBre_NeO на 23.03 2008 в 18:43ч.
Нямаш елемент с ID "USERMESSAGE", имаш само такъв с ID "MESAGE" ...

Регистрирайте се, за да добавите коментар

реклама

© Всички права запазени. 2006-2008. Created by: Site.bg
Препоръчваме: IT Новини | Кино и игри | Диплома.бг | Paparak.bg | Тунинг Портал | uchenik.com | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | AnimeS-bg.com | Фото Форум | Запознанства | Мрежа от приятели | IT Light | Spodeli.net | Фото-Култ | Dalavera.net | IDG.BG | Teenproblem.net | mucunki.com | Блог - Образование | Fresh-BG.com | Hanovete.com | Bulfleet.com | Mythlands.com | Ohoboho.com | News24 | Казанлък.Com | Atol.bg | Elmaz.com | MobileBulgaria.com | Setcom.bg