Avatar billede jesperkm Nybegynder
28. april 2005 - 19:36 Der er 7 kommentarer og
1 løsning

Hvis man allerede er i databasen.

Hvordan laver man således at man ikke kan komme ind i databasen efter anden gang?

altså.
Vi siger en person som trykker "opret" kommer i databasen med brugernavnet = 'Det han skrev'

Men anden gang skal han ikke kunne trykke "opret" fordi hans brugernavn allerede er i databasen, kan det lade sig gøre? ;)
Avatar billede scaniav8 Nybegynder
28. april 2005 - 19:45 #1
Jeps men så skal du lave sådan at når man opretter sig bliver hans IP også sat ind i databasen, så laver du en:

$ip = $_SERVER['REMOTE_ADDR'];
$res = mysql_query("SELECT * FROM brugersystem WHERE ip = '$ip'");
$row = mysql_fetch_array($res);
if($row[ip] == "$ip"){
echo"";
else{
echo"Opret knappen her";
}
Avatar billede hyberpreprocessor Nybegynder
28. april 2005 - 19:46 #2
Du checker vel bare om det er i database.
Går ud fra at du bruger MySQL da det gør de fleste php brugere.

Så du skal vel bruge noget lign.

<?php

$brugernavn = $_POST['brugernavn']; // brugernavn fra <form>

$sql ="SELECT brugernavn FROM brugere WHERE brugernavn='$brugernavn'";
$query = mysql_query($sql);
if(mysql_num_rows($query) != 0)
{
die("brugernavnet er optaget");
}
?>
Avatar billede dugi Nybegynder
28. april 2005 - 19:48 #3
$findesbrugeren = mysql_num_rows(mysql_query("SELECT * FROM tabel WHERE username = '".$_POST['brugernavn']."'));

if ($findesbrugeren >= 1)
{
  print "Brugernavn eksistere allerede!<br>- Vælg et andet";
}
else
{
  mysql_query("INSERT INTO tabel (brugernavn) VALUES ('".$_POST['brugernavn']."')");
}
Avatar billede jesperkm Nybegynder
28. april 2005 - 19:51 #4
Ah, i har ret gutter! :D
Smid svar :)
Avatar billede scaniav8 Nybegynder
28. april 2005 - 19:52 #5
hvad angår mine point, bare behold :)
Avatar billede coderdk Praktikant
29. april 2005 - 01:50 #6
Jeg ville vælge en af de ovenstående, det kan dog også gøres sådan:

$sql = "INSERT IGNORE INTO tabel (brugernavn) VALUES (" . $_POST['brugernavn'] . ")";
$qh = mysql_query( $sql );
if ( mysql_affected_rows( $qh ) > 0 )
{
  echo "Brugeren blev indsat";
}
else
{
  echo "Brugeren blev ikke indsat";
}
Avatar billede coderdk Praktikant
29. april 2005 - 01:53 #7
Det forudsætter at dog at der er et UNIQUE contraint på brugernavn, som denne f.eks:

CREATE TABLE `tabel` (`brugernavn` VARCHAR (20) NOT NULL, UNIQUE(`brugernavn`))
Avatar billede hyberpreprocessor Nybegynder
29. april 2005 - 09:33 #8
svar
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