Здравейте правя си система за регистрация но се натъкнах на един проблем. Системата е по урок и аз само и добавям ключ който ще се изпраща на пощата.
$key=substr (md5(uniqid(rand(),1)), 3, 16);
$query = mysql_query("INSERT INTO `users`(`username` , `password` , `email`, `key` , `active` ) VALUES('".$username."' , '".md5($password)."', '".$email."' , '".$key."' , '0' )");
// inserts the information into the database.
$text="Здравейте $user вешия активиращ код е :$key ";
echo "$text";
//Показване на формата в която да се въведе активиращия код
echo "Успешна регистрация за да активирате акаунта си моля проверете пощата си! ";
echo "<form action=getkey.php method=get>";
echo "Въвъдете вашия активиращ код : <input type=text name=key /><br /><input type=submit /></form>";
Проблемът ми е че getkey.php не ъпдейтва информацията в базата. Ето и самият скрипт.
<?php
$key=$_GET['key'];
//присвояваме данните от гет в променвлива
include('onfig/config_log_in.php');
//инлудваме фаила за връзка с база данни
$key= htmlspecialchars(mysql_real_escape_string($key));
//почистваме от неприянни данни
//проверка дали съществува такъв активиращ код
$sql="SELECT id FROM users WHERE `key`='$key' AND active='0'";
$q=mysql_query($sql);
if(mysql_num_rows($q)==1){
//ако има такав ред в база данни с такав код и той не е активиран т.е. active=0 то активира акаунта
$sql="UPDATE users SET active='1' WHERE `key`='$key' ";
$q=mysql_query($sql);
echo "Вашия акаунт е активиран!";
}
else{echo'Грешем код или акаунта вече е активиран.';}
?>
$key=substr (md5(uniqid(rand(),1)), 3, 16);
$query = mysql_query("INSERT INTO `users`(`username` , `password` , `email`, `key` , `active` ) VALUES('".$username."' , '".md5($password)."', '".$email."' , '".$key."' , '0' )");
// inserts the information into the database.
$text="Здравейте $user вешия активиращ код е :$key ";
echo "$text";
//Показване на формата в която да се въведе активиращия код
echo "Успешна регистрация за да активирате акаунта си моля проверете пощата си! ";
echo "<form action=getkey.php method=get>";
echo "Въвъдете вашия активиращ код : <input type=text name=key /><br /><input type=submit /></form>";
Проблемът ми е че getkey.php не ъпдейтва информацията в базата. Ето и самият скрипт.
<?php
$key=$_GET['key'];
//присвояваме данните от гет в променвлива
include('onfig/config_log_in.php');
//инлудваме фаила за връзка с база данни
$key= htmlspecialchars(mysql_real_escape_string($key));
//почистваме от неприянни данни
//проверка дали съществува такъв активиращ код
$sql="SELECT id FROM users WHERE `key`='$key' AND active='0'";
$q=mysql_query($sql);
if(mysql_num_rows($q)==1){
//ако има такав ред в база данни с такав код и той не е активиран т.е. active=0 то активира акаунта
$sql="UPDATE users SET active='1' WHERE `key`='$key' ";
$q=mysql_query($sql);
echo "Вашия акаунт е активиран!";
}
else{echo'Грешем код или акаунта вече е активиран.';}
?>