Avatar billede web-geek Nybegynder
06. september 2004 - 20:53 Der er 12 kommentarer og
1 løsning

Oprette den samme bruger?

Har et problem, i mit opret system kan man oprette en bruger over 2 gange, altså det samme navn hvad gør jeg for at stoppe det?
Avatar billede sukos Juniormester
06. september 2004 - 20:54 #1
Lader dit felt i DB være af typen "UNIQUE"
Avatar billede web-geek Nybegynder
06. september 2004 - 20:54 #2
altså selve "brugernavn" i databas klononnen?
Avatar billede web-geek Nybegynder
06. september 2004 - 20:55 #3
CREATE TABLE `feedownload_brugere` (
  `id` int(4) NOT NULL auto_increment,
  `brugernavn` varchar(200) NOT NULL default '',
  `kodeord` varchar(200) NOT NULL default '',
  `admin` varchar(200) NOT NULL default 'nej',
  UNIQUE KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=12 ;



Hvordan?
Avatar billede web-geek Nybegynder
06. september 2004 - 20:56 #4
Den er på UNIQUE KEY ´id´ ?
Avatar billede web-geek Nybegynder
06. september 2004 - 21:01 #5
SØger et "helt" scripts til det, hvor den siger
if ($brugernavn == "har været oprettet en gang"){
echo "Allerede oprettet"; } ?>
Avatar billede morteeart Nybegynder
06. september 2004 - 21:05 #6
ved oprettelse . noget ala

if ( $usernamefromdb == $_POST['username'] { die("fy skamme, det brugernavn er optaget"); }
Avatar billede web-geek Nybegynder
06. september 2004 - 21:06 #7
Nej, sorry!! Lavede bare:

if (mysql_num_rows($query) == 1){
echo "Der findes allerede en bruger med navnet: $brugernavn";
    } else {
Avatar billede morteeart Nybegynder
06. september 2004 - 21:07 #8
eller bedre.

$query = mysql_query("SELECT FROM brugere WHERE username=$_POST[username] ");
if ( mysql_rum_rows($query) == 1 ) { die("brugernavnet ER oprettet");
Avatar billede web-geek Nybegynder
06. september 2004 - 21:07 #9
Læg point aligevel, du brugte jo tid på at lave det.
Avatar billede sukos Juniormester
06. september 2004 - 21:15 #10
Har du phpmyadmin?
Hvis du klikker på dit tablenavn, kan du klikke på "Dan et indeks (felt) kolonner (submitknap) for at vælge UNIQUE fra en drop down, samt feltet "brugernavn"

Så bliver feltet UNIQUE!
At id er unique, er ikke nødvendig, da den jo er autoincrement
Avatar billede sukos Juniormester
06. september 2004 - 21:17 #11
Og ved oprettelse,
$sql_et = "INSERT INTO `feedownload_brugere` (`brugernavn`) VALUES ('". $_POST["newusername"] ."')";
if(mysql_query($sql_et)) {
ok, brugeren fandtes ikke ......................
}else{
nix, brugeren fandtes i forvejen...........
}
Avatar billede sukos Juniormester
06. september 2004 - 21:21 #12
CREATE TABLE `feedownload_brugere` (
  `id` int(4) NOT NULL auto_increment,
  `brugernavn` varchar(200) NOT NULL default '',
  `kodeord` varchar(200) NOT NULL default '',
  `admin` varchar(200) NOT NULL default 'nej',
  PRIMARY KEY `id` (`id`),
  UNIQUE KEY `brugernavn` (`brugernavn`)
) TYPE=MyISAM AUTO_INCREMENT=12 ;
Avatar billede morteeart Nybegynder
07. september 2004 - 00:18 #13
ingen points til mig, nærmere sukos da det hen skriver er den klart bedste måde at gøre det på.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester