Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie - sprawdzenie czy user istnieje
Forum PHP.pl > Forum > Bazy danych > MySQL
Cr0n!x
Otoz mam taki porblem. Napisalem skrypt zapisujacy do sql'a dane userow. Przy rejestracji chce sprawdzic czy user istnieje. Jezeli istnieje chce aby pokazal sie komunikat jezeli natomiast nieistnieje dalsza czesc kodu.


[php:1:7da4bf4139]<?php


include("../config.php");


$sql_connection = mysql_connect (tutaj dane bazy) or die("Nie mozna ustanowic polaczenia z baza danych.");

// Ten kod ma byc wykonany jezeli uzytkownik nieistnieje

if(!$login || !$pass || !$pass2 || !$imie || !$email)
{
die("<p class=error align=center>Wszystkie pola sa obowiazkowe.</p>n");
}
elseif(!eregi("^[_[:alnum:]-]{5,15}$",$login))
{
die("<p class=error align=center>Login musi zawieraz min. 5 max 15 liter oraz cyfr.</p>n");
}
elseif(!eregi("^[_[:alnum:]-]{5,15}$",$pass))
{
die("<p class=error align=center>Haslo musi zawieraz min. 5 max 15 liter oraz cyfr.</p>n");
}
elseif($pass != $pass2)
{
die("<p class=error align=center>Hasla nie zgadzaja sie ze soba</p>n");
}
elseif(sprawdz_email($email))
{
die("<p class=error align=center>Niepoprawny adres e-mail</p>n");
}
elseif($login == $pass)
{
die("<p class=error align=center>Login nie moze byc taki sam jak haslo.</p>n");
}
else
{

$sql = "INSERT INTO $sql_table VALUES('$id', '$login', '$password', '$meil', '$imie', '$data', '$godz', '$ip', '$data', '$ip', '0', '$pkt')" ;

$wykonaj = mysql_query($sql) or die("Dane nie zostaly dodane");

mysql_close($sql_connection);

echo ($rej_ok);


// jezeli istnieje taki komuniakt

die($rej_user_ex);

}
}



?>[/php:1:7da4bf4139]
Fo
wystarczy zebys wybral z bazy wszystkie login'i i porownal z tym ktory jest aktualnie przez usera wpisywany przy rejestracji ... czyli bedzie to jakos mniej wiecej tak :
[php:1:25c13d8430]$usr_exist = ("SELECT * FROM tabela_userow;");
while($logins = mysql_fetch_array($usr_exist)) {
$usr_login = $logins[1]; // gdzie 1 odnosi sie do tego ktorym rekordem jest pole gdzie zapisany jest login w bazie.
}
if ($login == $usr_login) {
echo "taki login juz jest"; //albo jak wolisz --> echo "$rej_user_ex";
}
[/php:1:25c13d8430]
jesli chodzi o zmienna $login to jest to zmienna ktora wypelnia rejestrujacy.. :wink:
edit : mam nadzieje ze mniej wiecej o cos takiego ci chodzilo ... 8)
shw
A po co cala tabele? marnotrawstwo czasu i zasobow.
wystarczy wybrac na wypadek danego loginu (uwaga - pisze z glowy i troszke nie po trzezwemu smile.gif)
[php:1:607c61c9d7]<?php
$wyszukaj = mysql_query("SELECT * FROM tabela_userow WHERE user='".$user."'");
$wynikow = mysql_num_rows($wyszukaj);
if($wynikow == 1) {
echo "User juz istnieje!";
}

?>[/php:1:607c61c9d7]
to tak na szybko, bo to mozna jeszcze zoptymalizowac, ale ogolnie to powinienes zalapac o co chodzi.
user to pole w bazie gdzie znajduje sie nazwa uzytkownika.
tabela_userow to tabela w bazie danych.
rozumiesz?
Cr0n!x
Dziekuje Wam bardzo mi pomogliscie smile.gif . 2 sposob jest lepszy :wink: . THX
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.