Регистрация+Ajax

nom3r1

Registered
http://www.pmgmontana.com/projects/coding-bg/bg/index.php?page=register

Някой можели дами направи подобна регистрация ajax?

Тоест проверката на името, паролите дали се съвпадат, дали е-майл е валиден и накрая captcha-та :)
 
http://web-tourist.net/login/login/view.php?st=2922

Виж да схванеш принципа, останалото е лесно -> сравняването на паролите и т.н
 
register.php
Код:
<?php
$pach = "link"; #link na saita ti
<meta http-equiv="content-type" content="text/html; charset=windows1251">
<div  class="title">
<div id="txt">
Регистрация
</div>
</div>
<div class="text">
<div id="h">
<script language="javascript">
var xmlhttp

function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Your browser does not support XMLHTTP!");
return;
}
var url="chekuname.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
</script>
<?php
$ip = $_SERVER["REMOTE_ADDR"];
if ($_COOKIE['username']) { echo "Вие сте влeзли"; } else {
$user = htmlspecialchars($_POST['user']);
$email = htmlspecialchars($_POST['mail']);
$pol = $_POST['pol'];
$pr = $_POST['agree'];
$god = $_POST['godini'];
$rank = $_POST['rank'];
$avatar = "noavatar.png";
$opisanie = "Не е посочено!";
$grad = $_POST['grad'];
 if (isset($_POST['davai'])) {

		
		if(empty($_POST['user']) || empty($_POST['pass']) || empty($_POST['pass1']) || empty($_POST['mail'])) {
		echo '<div id="error"><div class="txt">Грешка!<a href="'.$pach.'an_register.php">Назад</a></div></div>';
		} else {
			$captcha = $_POST['captcha'];
			$cookie = $_COOKIE['captcha'];

			if("$captcha" !== "$cookie") { echo '<div id="error"><div class="txt">Невалиден код<a href="'.$pach.'an_register.php">Назад</a></div></div>'; }
			else {
				if ($_POST['pass'] == $_POST['pass1']) {
					$pass = md5(htmlspecialchars($_POST['pass']));
						$chek = mysql_query("SELECT * FROM an_sers WHERE username='$user'") or die(mysql_error());
						$chek = mysql_num_rows($chek);
			if ($chek == '1') { 
				echo '<div id="error"><div class="txt">Този потребител е вече зает!<a href="'.$pach.'an_register.php">Назад</a></div></div>'; 
			} else {
				if (empty($_POST['skype'])) {
					$skype = "Не е посочено!";
				} else { 
					$skype = htmlspecialchars($_POST["skype"]);
				}			
				
			mysql_query("INSERT INTO an_users (username, password, email, skype, sex, godini, avatar, ip, rank, opisanie) VALUES('$user', '$pass', '$email', '$skype', '$pol', '$god', '$avatar', '$ip', '$rank','$opisanie')")or die(mysql_error());
			echo  '<div id="suc"><div class="txt"> Благодарим Ви <a href="'.$pach.'an_index.php">Назад</a></div></div>';
		} } else {
									echo '<div id="error"><div class="txt">Нестана :)<a href="'.$pach.'an_register.php">Назад</a></div></div>';
				} 
} }
} else {
?>
<form action="" method="post">
<table width="400" align="center">

<input type="hidden" name="ip" value="<?php echo $ip; ?>">
<input type="hidden" name="rank" value="1">
 <tr>
  <td style="border:1px solid black;">
Потребител:<font color="red">*</font>
  </td>
  <td style="border:1px solid black;">
<input type="text" style="width:260px; border:1px solid #989898;" name="user" value="" id="txt1" onkeyup="showHint(this.value)" maxlength="10">
<div id="txtHint"></div>
  </td>
 </tr>
 <tr>
  <td style="border:1px solid black;">
Парола:<font color="red">*</font>
  </td>
  <td style="border:1px solid black;">
<input type="password" id="pass" style="width:260px; border:1px solid #989898;" name="pass" value="">
  </td>
 </tr>
 <tr>
  <td style="border:1px solid black;">
Повтори парола:<font color="red">*</font>
  </td>
  <td style="border:1px solid black;">
<input type="password" style="width:260px; border:1px solid #989898;" name="pass1" value="">
  </td>
 </tr>
 <tr>
  <td style="border:1px solid black;">
Email:<font color="red">*</font>
  </td>
  <td style="border:1px solid black;">
<input type="text" style="width:260px; border:1px solid #989898;" name="mail" value="">
  </td>
 </tr>
 <tr>
  <td style="border:1px solid black;">
Skype:
  </td>
  <td style="border:1px solid black;">
<input type="text" style="width:260px; border:1px solid #989898;" name="skype" value="">
  </td>
 </tr>
 <tr>
  <td style="border:1px solid black;">
Пол:
  </td>
  <td style="border:1px solid black;">
<select name="pol" style="width:260px; border:1px solid #989898;">
<option value="Мъж">Мъж</option>
<option value="Жена">Жена</option>
</select>
  </td>
 </tr>
 <tr>
  <td style="border:1px solid black;">
Години:
  </td>
  <td style="border:1px solid black;">
<select name="godini">
<option value="10">10</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
<option value="32">32</option>
<option value="33">33</option>
<option value="34">34</option>
<option value="35">35</option>
<option value="36">36</option>
<option value="37">37</option>
<option value="38">38</option>
<option value="39">39</option>
<option value="40">40</option>
<option value="41">41</option>
<option value="42">42</option>
<option value="43">43</option>
<option value="44">44</option>
<option value="45">45</option>
<option value="46">46</option>
<option value="47">47</option>
<option value="48">48</option>
<option value="49">49</option>
<option value="50">50</option>
<option value="51">51</option>
<option value="52">52</option>
<option value="53">53</option>
<option value="54">54</option>
<option value="55">55</option>
<option value="56">56</option>
<option value="57">57</option>
<option value="58">58</option>
<option value="59">59</option>
<option value="60">60</option>
<option value="61">61</option>
<option value="62">62</option>
<option value="63">63</option>
</select>
  </td>
 </tr>
 <tr>
  <td style="border:1px solid black;">
   Въведи кода от картинката 
  </td>
  <td style="border:1px solid black;">
  <div align="left"><img src=image.php id="image"><br>
  <a href="#" onclick="document.getElementById('image').src = 'http://94.156.115.69/antipatrul/image.php?sid=' + Math.random(); return false">Нов код</a>
  </div>
  
  <div align="left"><input type=text name=captcha maxlength=5></div>
  </td>
 <tr>
  <td>
<input type="submit" id="newpass" name="davai" value="Регистрирай се!">
  </td>
 </tr>
</table>
</form><?php } } ?>
</div></div>
кода е с моя дизайн а базата данни е
Код:
CREATE TABLE `users` (
  `id` mediumint(9) NOT NULL auto_increment,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `skype` varchar(255) NOT NULL,
  `opisanie` varchar(255) NOT NULL,
  `sex` varchar(255) NOT NULL,
  `godini` varchar(255) NOT NULL,
  `rank` varchar(255) NOT NULL,
  `ip` varchar(255) NOT NULL,
  `avatar` varchar(255) NOT NULL,
  `grad` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
chekuname.php
Код:
<?php
header("Content-type: text/html; charset=Windows-1251");
include 'conenct.php';

$q=htmlspecialchars($_GET["q"]);

$query="SELECT username from users where username like '$q'";
$result=mysql_query($query);

$num=mysql_num_rows($result);

if ($num == 0)
{
$response = "<font color=\"green\">OK</font>";
}
else
{
$response = "<font color=\"red\">Това име е заето</a>";
}
echo $response;
?>
Това е! Успех[/code]
 

Back
Горе