Avatar billede haolan Nybegynder
04. november 2005 - 16:02 Der er 4 kommentarer og
1 løsning

Afvis hvis bruger allerede eksisterer!

Jeg har forsøgt mig med følgene kode til brugeroprettelse:

<?
include("php/config.php");
if ($_POST['func'] == 2) {

$tjek_users = mysql_query("SELECT * FROM users WHERE stamme='".$_POST['stamme']."'");
    while($tjek = mysql_fetch_array($tjek_users)) {
        if($_POST['stamme'] == $tjek['stamme']){
            $message = "Dit valgte stammenavn er allerede i brug i systemet, vælg venligst et andet!";
        } elseif($_POST['stamme'] != $tjek['stamme']) {
        $password = md5($_POST['password']);
        $insert_user = "INSERT INTO `users` (`id`, `stamme`, `password`, `email`, `msn`, `klanid`, `heroesid`, `tlf`, `irl`) VALUES ('', '{$_POST['stamme']}', '{$password}', '{$_POST['email']}', '{$_POST['msn']}', '{$_POST['klanid']}', '{$_POST['heroesid']}', '{$_POST['tlf']}', '{$_POST['irl']}')";
        mysql_query($insert_user) or die(mysql_error());
        $message = "Din stamme '{$_POST['stamme']}' blev tilføjet, du kan ikke logge ind før et ledelsesmedlem har godkendt din status";
        }
    }
}
?>

Men når den valgte 'stamme' ikke eksisterer i forvejen udskriver den intet. Og jeg ved naturligvis at det skyldes at når while ikke får noget resultatet kan den heller ikke fortsætte behandlingen og derfor går det galt. Såå er der nogen der kan hjælpe mig med hvordan man får det til at virke?
Avatar billede nielle Nybegynder
04. november 2005 - 17:21 #1
Noget i denne stil?

<?
include("php/config.php");
if ($_POST['func'] == 2)
{
    $tjek_users = mysql_query("SELECT * FROM users WHERE stamme='".$_POST['stamme']."'");
   
    if (mysql_num_rows($tjek_users) == 0)
        echo "Den valgte stamme eksistere ikke.";
    else
    {
        while ($tjek = mysql_fetch_array($tjek_users))
        {
            if ($_POST['stamme'] == $tjek['stamme'])
            {
                $message = "Dit valgte stammenavn er allerede i brug i systemet, vælg venligst et andet!";
            }
            elseif ($_POST['stamme'] != $tjek['stamme'])
            {
                $password = md5($_POST['password']);
                $insert_user = "INSERT INTO `users` (`id`, `stamme`, `password`, `email`, `msn`, `klanid`, `heroesid`, `tlf`, `irl`) VALUES ('', '{$_POST['stamme']}', '{$password}', '{$_POST['email']}', '{$_POST['msn']}', '{$_POST['klanid']}', '{$_POST['heroesid']}', '{$_POST['tlf']}', '{$_POST['irl']}')";
                mysql_query($insert_user) or die(mysql_error());
                $message = "Din stamme '{$_POST['stamme']}' blev tilføjet, du kan ikke logge ind før et ledelsesmedlem har godkendt din status";
            }
        }
    }
}
?>
Avatar billede nielle Nybegynder
04. november 2005 - 17:28 #2
Hmmm... Jeg tror ikke helt at jeg forstår hvad det er du ønsker at opnå?

Du trækker ud med denne:

$tjek_users = mysql_query("SELECT * FROM users WHERE stamme='" . $_POST['stamme'] . "'");

- men inde i din while spørger du så:

if ($_POST['stamme'] == $tjek['stamme'])

- som jo så af gode grunde *altid* vil være opfyldt hvis stammen overhovedet eksistere, og også på:

elseif ($_POST['stamme'] != $tjek['stamme'])

- som af samme grund *aldrig* kan være opfyldt. :^)

Prøv lige at forklare noget mere.
Avatar billede nielle Nybegynder
04. november 2005 - 17:32 #3
... eller måske er det bare sådan her?

<?
include("php/config.php");
if ($_POST['func'] == 2)
{
    $tjek_users = mysql_query("SELECT count(*) AS antal FROM users WHERE stamme='" . $_POST['stamme'] . "'") or die(mysql_error());
    $row = mysql_fetch_assoc($tjek_users);
   
    if ($row["antal"] != 0)
        $message = "Dit valgte stammenavn er allerede i brug i systemet, vælg venligst et andet!";
    else
    {
        $password = md5($_POST['password']);
        $insert_user = "INSERT INTO `users` (`id`, `stamme`, `password`, `email`, `msn`, `klanid`, `heroesid`, `tlf`, `irl`) VALUES ('', '{$_POST['stamme']}', '{$password}', '{$_POST['email']}', '{$_POST['msn']}', '{$_POST['klanid']}', '{$_POST['heroesid']}', '{$_POST['tlf']}', '{$_POST['irl']}')";
        mysql_query($insert_user) or die(mysql_error());

        $message = "Din stamme '{$_POST['stamme']}' blev tilføjet, du kan ikke logge ind før et ledelsesmedlem har godkendt din status";
    }
}
?>
Avatar billede haolan Nybegynder
04. november 2005 - 18:26 #4
Det var lige præcis det der skulle til :) mange tak.. Læg svar for points
Avatar billede nielle Nybegynder
04. november 2005 - 20:08 #5
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