Witam. Mam skrypt rejestracji użytkowników, napisałem go w oparciu o kilka kursów i manual php. Niestety są z nim problemy. Niezależnie jaki login wpisze w formularzu rejestracji, skrypt wywala mi ze taki login już istnieje.
Cały skrypt wygląda następująco:
[php]<?php
$login=$_POST['login'];
$password=$_POST['password'];
$confrim=$_POST['confrim'];
$mail=$_POST['mail'];
$sql = mysql_connect (localhost, user, pass);
mysql_select_db("baza_cms");
$zapytanie1="SELECT `login` FROM `cms_users` WHERE login='$login'";
$loginch = mysql_query($zapytanie1);
$zapytanie2="SELECT `mail` FROM `cms_users` WHERE mail='$mail'";
$mailch = mysql_query($zapytanie2);
if($loginch==FALSE)
{
if($mailch==FALSE)
{
$passch=strcmp($password, $confrim);
if($passch==0)
{
$passhash=md5($password);
$zapytanie3="INSERT INTO `cms_users` (`id`, `login`, `password`, `mail`) VALUES ('', '$login', '$passhash', '$mail')";
$register=mysql_query($zapytanie3);
}
else
{
echo "Podane hasła się nie zgadzaja.";
}
}
else
{
echo "Użytkownik o takim adresie e-mail już istnieje";
}
}
else
{
echo "Ten login jest już zajęty.";
}
mysql_close($sql);
?>[/php]
Odziwo, kiedy w if-ach pozamieniam ==FALSE na ==TRUE to skrypt doda użytkownika, albo postara się go dodać (nawet jak taki sam już istnieje).
Bardzo prosiłbym o pomoc, wytłumaczenie co robie źle.
[Php/MySQL] Rejestracja użytkowników
Re: [Php/MySQL] Rejestracja użytkowników
Witam, poruszałem temat skryptow rejestracji na tym forum tutaj masz jak zrobić takie coś w plikach PHP jak i w SQLite (zapytania podmienic mozna na MySQL)
http://forum.webinside.pl/viewtopic.php?t=11228
PS. Twój skrypt troche zagmatwany jest
http://forum.webinside.pl/viewtopic.php?t=11228
PS. Twój skrypt troche zagmatwany jest
Re: [Php/MySQL] Rejestracja użytkowników
jak już nie raz na forum wspomniałem nie znam sie na MySQL ale jeśli bym się znał (hehe) zapewne wyciągną bym loginy z bazy zapętlił i sprawdzał czy podany Login z formularza nie równa się któremuś z bazy (jeśli tak "FALSE", jeśli nie "TRUE")
Re: [Php/MySQL] Rejestracja użytkowników
zapętlać nie trzeba
moża użyć prostej funkcji:
[php]<?php
$login = $_POST['login'];
//odczytanie rekordow z tabeli
$czytaj = mysql_query("SELECT `id` (bądź " * ") FROM `cms_users` WHERE login = '$login' ");
if (mysql_num_rows($czytaj) == 0){
//dalsza instrukcja jeżeli podany login nie istnieje
}else{
//Instrukcja jeżeli podany login już istnieje:
echo 'Login zajęty!';
}
?>[/php]
btw. Dobrym sposobem jest wetknięcie do tabeli PRIMARY KEY`a (w wyżej podanej instrukcji jest to `id`).
[php]<?php
$login = $_POST['login'];
//odczytanie rekordow z tabeli
$czytaj = mysql_query("SELECT `id` (bądź " * ") FROM `cms_users` WHERE login = '$login' ");
if (mysql_num_rows($czytaj) == 0){
//dalsza instrukcja jeżeli podany login nie istnieje
}else{
//Instrukcja jeżeli podany login już istnieje:
echo 'Login zajęty!';
}
?>[/php]
btw. Dobrym sposobem jest wetknięcie do tabeli PRIMARY KEY`a (w wyżej podanej instrukcji jest to `id`).

