Witam.
Mam mały problem.
Posiadam skrypt rejestracji, lecz chcę go udoskonalić w aktywację przez email.
Mam problem, bo nie uaktualnia mi w bazie danych tabeli kod i nie dodaje tam kodu, oraz nie uaktualnia tabeli access i nie zmienia z 0 na 1.
rejestracja.php
<?php
$connect = mysql_connect('localhost', 'root', 'password') or
die('Nie można połączyc się z bazą danych. Przepraszamy za kłopoty'); $db = mysql_select_db(db
') or die('Nie mo
żna wybrać bazy danych. Przepraszamy za kłopoty'); $login = $_POST['login'];
$access = $_POST['0'];
$email = $_POST['email'];
$data = date('Y-m-d-G:i:s'); $zapytanie = mysql_query("SELECT COUNT(*) FROM user WHERE login='$login' LIMIT 1"); $zapytanie = mysql_query("SELECT COUNT(*) FROM user WHERE email='$email' LIMIT 1"); if (empty($_POST["login"]) || empty($_POST["email"]) || empty($_POST["haslo"]) || empty($_POST["haslo2"])) {
echo '<center>Nie wypełniono wszystkich pól.</center> <meta http-equiv="Refresh" content="3; url=index.php" />'; }
elseif($_POST["haslo"]!=$_POST["haslo2"])
{
echo '<center>Podane hasła nie są identyczne.</center> <meta http-equiv="Refresh" content="3; url=index.php" />'; }
elseif($zajete[0] != 0)
{
echo '<center>Podana nazwa użytkownika jest już zajęta.</center> <meta http-equiv="Refresh" content="3; url=index.php" />'; }
elseif($zajete1[0] != 0)
{
echo '<center>Podany email jest zajęty przez innego użytkownika.</center> <meta http-equiv="Refresh" content="3; url=index.php" />'; }
elseif(!$_POST["email"] || !preg_match("/^[-0-9a-zA-Z_\.]+@([-0-9a-zA-Z_\.]+\.)+([0-9a-zA-Z]){2,4}$/i", $_POST["email"])) {
echo '<center>Podany email jest nieprawidłowy.</center> <meta http-equiv="Refresh" content="3; url=index.php" />'; }
else
{
$zapytanie = "INSERT INTO `user` (`login`, `access`, `email`, `haslo`, `data`) VALUES ('".$login."', '".$access."', '".$email."', '".$haslo."', '".$data."')";
$zap= "SELECT `email` FROM `user` ORDER BY `id` DESC";
$naglowki = "Content-type: text/html; charset=iso-8859-2\r\n";
$naglowki .= "Reply-to: nansss@boo.pl <nansss@boo.pl>\r\n";
$naglowki .= "From: nansss@boo.pl <nansss@boo.pl>\r\n";
}
{
}
else
{
echo '<center>Twoje konto zostało założone.<br> W ciągu 10 minut otrzymasz email z następnymi instrukcjami.</center> <meta http-equiv="Refresh" content="5; url=index.php" />';
$kod = str_shuffle("qwertyuiopasdfghjklzxcvbnm1234567890"); mail($email, 'Aktywacja konta na xxx.pl', '<b>Witaj na xxx.pl!</b><br>Konto <b>'.$login.'</b> zostało zarejestrowane na podany adres e-mail.<br>W celu potwierdzenia rejestracji konta kliknij w poniższy odnośnik:<br><a href="http://sampo.boo.pl/rejestracja.php?active='.$kod.'"> xxx.pl/rejestracja.php?active='.$kod.' </a><br><br>Jeśli nie rejestrowałeś konta o nazwie <b>'.$login.'</b> po prostu zignoruj tego maila.<br><br><br>------<br>Wiadomość wygenerowana automatycznie<br>przez serwis xxx.pl', $naglowki); $zapy = "UPDATE `user` SET `klucz` =('".$kod."') WHERE `access` =1";
}
if($_GET["active"])
{
mysql_query("UPDATE `user` SET `access` =1 WHERE `klucz` ='$_GET[active]' "); {
echo '<center>Aktywacja ukończona pomyślnie. Możesz już korzystać z naszego serwisu.</center>'; }
else
{
echo '<center>Podano nieistniejący kod aktywacyjny.</center>'; }
}
?>
Najpradopodobniej z tym kodem coś jest nie tak, ale nie jestem pewien.
$zapy = "UPDATE `user` SET `klucz` =('".$kod."') WHERE `access` =1";
}
if($_GET["active"])
{
mysql_query("UPDATE `user` SET `access` =1 WHERE `klucz` ='$_GET[active]' ");
Proszę o pomoc