Avatar billede mussepower5 Nybegynder
14. februar 2008 - 17:28 Der er 6 kommentarer og
1 løsning

jeg kan ikke få register tjek til at køre..

<html>
<body>
<center><form action="register.php" method=POST>
Username <input type=text name="username">
<br>
Password <input type=password name="pass1">
<br>
Password igen<input type=password name="pass2">
<br>
E-mail <input type=text name="email1">
<br>
E-mail igen<input type=text name="email2">
<br>
<input type="checkbox" name="agree" <?=(isset($agree) ? "checked" : "")?>>You have read the ruels and agree them?
<br>
<br>
<input type=submit value="Registrer!" name="submit"><p>
</form>
</center>
</body>
</html>
<?php
if ($username == "")
        {
            $sig1 = "Please choose a username.";
        }
        else if ($pass == "")
        {
            $sig2 = "Please choose a password.";
        }
        else if (strlen($pass1) < 4)
        {
            $sig3 = "Please choose a password of at least 4 characters.";
        }
        else if ($pass1 != $pass2)
        {
            $sig4 = "The passwords you entered do not match. Please try again.";
        }
        else if ($email1 == "")
        {
            $sig5 = "Please enter your email address.";
        }
        else if( $email1 != $email2)
        {
            $sig6 = "The password you entered do not match. Please try agen.";
        }
       
        else if($_POST['submit']){             

                                $con=mysql_connect('localhost','root','');
        mysql_select_db('musse');
                            mysql_query("INSERT INTO login (username, password, email) VALUES ('" . $_POST['username'] . "', '" . md5($_POST['pass1']) . "', '" . $_POST['email1'] . "')") or die(mysql_error());
}                           
?>


( den skal tjekke efter..
er username felt udfyldt?
er pass1 udfyldt?
er pass2 udfyldt?
er pass1 mere end 4 tejn?
er pass1 og pass2 ens?
er email1 udfyldt?
er email2 udfyldt?
er email1 og email2 ens?
er agree knappen trykket ned?
findes der allrede dette username?
findes der allrede denne emailadresse?

hvis alt dette er opfyldt skal den skrive det ind i bd´en..

håber i kunne lave min kode om så det virker

INFO:
db: musse
table: login
i table: id username password email
Avatar billede kjeldsted Novice
14. februar 2008 - 21:55 #1
Er der et sted i koden (som du ikke har sendt) hvor du sætter variablerne $username, $pass $email osv. Ellers skal disse jo være sat da den ellers kontrollere en tom variabel. Og i din kode gør den ikke andet end at tjekke om felterne er udfyldt, hvis ikke sætter den en variabel. Du skal i din kontrol også skrive die() (el. lign.) for at den forhindre PHP i at indsætte i databasen.
Avatar billede mussepower5 Nybegynder
14. februar 2008 - 23:31 #2
I know.. men jeg vil gerne havde at en ekspert ( en user på hejmmesiden ) kunne ændre min kode så den kommer til at gøre det...
Avatar billede kjeldsted Novice
15. februar 2008 - 13:08 #3
<html>
<body>
<center><form action="register.php" method=POST>
Username <input type=text name="username">
<br>
Password <input type=password name="pass1">
<br>
Password igen<input type=password name="pass2">
<br>
E-mail <input type=text name="email1">
<br>
E-mail igen<input type=text name="email2">
<br>
<input type="checkbox" name="agree" <?=(isset($agree) ? "checked" : "")?>>You have read the ruels and agree them?
<br>
<br>
<input type=submit value="Registrer!" name="submit"><p>
</form>
</center>
</body>
</html>
<?php
else if($_POST['submit'])
  {
        if ($_POST['username'] == "")
        {
            die('Please choose a username.');
        }
        else if ($_POST['pass1'] == "")
        {
            die('Please choose a password.');
        }
        else if (strlen($_POST['pass1']) < 4)
        {
            die('Please choose a password of at least 4 characters.');
        }
        else if ($_POST['pass1'] != $_POST['pass2'])
        {
            die('The passwords you entered do not match. Please try again.');
        }
        else if ($_POST['email1'] == "")
        {
            die('Please enter your email address.');
        }
        else if($_POST['email1'] != $_POST['email2'])
        {
            die('The password you entered do not match. Please try agen.');
        }
       
        $con=mysql_connect('localhost','root','');
        mysql_select_db('musse');
                            mysql_query("INSERT INTO login (username, password, email) VALUES ('" . $_POST['username'] . "', '" . md5($_POST['pass1']) . "', '" . $_POST['email1'] . "')") or die(mysql_error());
}                           
?>
Avatar billede mussepower5 Nybegynder
15. februar 2008 - 18:24 #4
ehm.. j okay du har godt nok skrevet min kode rigtig.. men hvordan får man den til at tjekke om username ellerrede er der? ( den skal gøre sådan at den tjekker efter om username eksister, hvis den gør skal den sige: this username you have choose do already eksist. select a other username
Avatar billede mussepower5 Nybegynder
15. februar 2008 - 18:24 #5
ja*

og så skal den også tjekke om agree knappen er trykket ned
Avatar billede kjeldsted Novice
17. februar 2008 - 10:26 #6
Hvis du vil tjekke om brugernavnet er i brug så laver du bare en mysql select fra databasen hvor username=$_POST['username'] og sikre at der er 0 felter. Altså:

$brugernavn=$_POST['usermane'];
$result_num_rows=mysql_query("SELECT NULL FROM login WHERE username=$brugernavn");
if(mysql_num_rows($result_num_rows)!=0)
{
    die('this username you have choose do already eksist. select a other username');
}
if($_POST['agree']==true)
{
    die('Besked hvis checkboxen ikke er aktiveret');
}

Jeg kan faktisk ikke helt huske om $_POST['agree'] vil retunere true eller "chcked", men hvis ikke den ene virker så gør den anden. Så prøv dig frem.
Avatar billede kjeldsted Novice
17. februar 2008 - 10:29 #7
Og hvis du også vil tjekke om email adressen eksistere allerede så kopiere du jo bare koder der tjekker for brugernavn og udskifter username med email.
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