Kijken of een user bestaat
Ik ben bezig met mijn site en ik wil een registreer systeem maken.
ik wil stuit nu op het volgende probleem.
Wanneer ik nu een user aanmaak houdt hij er geen rekening mee dat de user wel al eens zou kunnen bestaan. Ik wil graag weten hoe ik zo'n check kan maken?
Opzich zou het vrij handig zijn als we weten hoe jij de gegevens opslaat. In een database, of plain text bestanden ?
In een database:)
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$userDieZichWilAanmelden = "Dion";
$sql = mysql_query("SELECT * FROM users WHERE naam = '".$userDieZichWilAanmelden."'");
if(mysql_num_rows($sql) > 0) {
echo "User bestaat al !";
} else {
echo "User bestaat nog niet !";
}
?>
$userDieZichWilAanmelden = "Dion";
$sql = mysql_query("SELECT * FROM users WHERE naam = '".$userDieZichWilAanmelden."'");
if(mysql_num_rows($sql) > 0) {
echo "User bestaat al !";
} else {
echo "User bestaat nog niet !";
}
?>
Lijkt me niet al te lastig ?
heel erg bedankt iig! ik ga weer ffe knutsellen
Je kunt ook het veld naam UNIQUE maken in bijv. phpMyAdmin. Dan zijn dubbele waarden niet toegestaan. mysql_errno() geeft in zo'n geval de waarde 1062 terug, dus daar kun je op testen.
Ik had eigenlijk gehoopt dat deze persoon TXT zou gebruiken x.x, weer geen ziel gered :(
als je die dan UNIQUE noemt. welke waardes moet je dan geven?
@arjan wat is het voordeel van txt?
Quote:
Dat de dingen hopeloos ingewikkeld worden. Niet aan te raden dus. wat is het voordeel van txt?
Dan de UNIQUE. Wanneer jij UNIQUE als eigenschap van een kolom hebt opgegeven, zal de database zélf controleren of de opgegeven waarde in de INSERT-query wel UNIQUE is. Is dat niet het geval, waarde bestaat dus al, zal de query mislukken. MySQL geeft dan errornumber 1062 retour.
UNIQUE is de enige juiste oplossing om unieke records te krijgen. Een SELECT-query kan je hooguit 99,999999% zekerheid geven. Komt in de buurt, maar het is geen 100% zekerheid. Daarnaast kost het je een extra query, dus krijg je performance-verlies.
hoezo is die query niet 100% dan??
Leroy schreef op 11.03.2007 15:46:
hoezo is die query niet 100% dan??
Daar ben ik ook wel erg benieuwd naar, als je consequent omgaat met je data lijkt het me een sterk verhaal.
De performance is inderdaad niet optimaal te noemen.