Avatar billede sonic_86 Nybegynder
17. april 2003 - 17:56 Der er 8 kommentarer og
1 løsning

Brugernavn og password må max. være på 15 tegn?

Hej
Jeg er i gang med at lave et bruger system men hvordan laver jeg så ens brugernavn må max være på 15 tegn og ens password også kun må være på 15 tegn:

Hvis så en har skrevet sit brugernavn på 16 eller over :D tegn, skal den skrive 'Dit brugernavn må max være på 15 tegn', Og så det sammen med password.


Her er min kode:

<?php
require_once('topbar.php');
include('config.php');

echo '<div align="center"><center><table border="0" width="744" cellspacing="0" cellpadding="3" style="border: 1px solid #000000"><tr><td width="100%" bgcolor="#B9E1FD">';

$nick = $_POST['nick'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
$mail = $_POST['mail'];

if (empty($nick) OR empty($password) OR empty($password2) OR empty($mail))
{
    echo '<font face="verdana" style="font-size: 11px;">Du skal udfylde alle felterne.<br><a href="java script:history.go(-1)">Tilbage</a>';
}
elseif ($password != $password2)
{
    echo '<font face="verdana" style="font-size: 11px;">De to passwords skal være ens.<br><a href="java script:history.go(-1)">Tilbage</a>';
}
else
{
    $result_nick = mysql_query("SELECT nick from brugere where nick = '$nick'")  or die (mysql_error());
    $number_nick = mysql_num_rows($result_nick);
    $result_mail = mysql_query("SELECT mail from brugere where mail = '$mail'")  or die (mysql_error());
    $number_mail = mysql_num_rows($result_mail);
    if ($number_nick > 0)
    {
        echo '<font face="verdana" style="font-size: 11px;">Desværre brugernavnet <b>'.$nick.'</b> er optaget.<br><a href="java script:history.go(-1)">Tilbage</a></font>';
    }
    elseif ($number_mail > 0)
    {
        echo '<font face="verdana" style="font-size: 11px;">Der er allerede oprettet en bruger med email adressen '.$mail.'!<br><a href="java script:history.go(-1)">Tilbage</a></font>';
    }
    else
    {
        $dato = date("d/m-Y - H:i:s");
        mysql_query("INSERT INTO brugere SET nick='$nick', password=MD5('$password'), mail='$mail', dato='$dato'");
        echo '<font face="verdana" style="font-size: 11px;">Brugernavn <b>'.$nick.'</b> er oprettet!<br>klik <a href="login.php">her</a> for at logge ind</font>';
    }
}

echo '</td></tr></table></center></div>';
?>
Avatar billede schaefner Juniormester
17. april 2003 - 17:57 #1
$var = "brugernavn";
if(strlen($var) > 15) {
  echo "Max 15 tegn";
} else {
// do your thing
}
Avatar billede schaefner Juniormester
17. april 2003 - 17:58 #2
Håber du selv kan sætte det ind i dit script :)
Avatar billede brian.nielsen Nybegynder
17. april 2003 - 17:58 #3
Hvorfor laver du ikke bare så indtastnings feltet maks kan indeholde 15 tegn??
f.eks. <input type="text" name="bla" maxlength="15">
Avatar billede sonic_86 Nybegynder
17. april 2003 - 17:59 #4
Kan jeg ikke er ikke så god :(
Avatar billede sonic_86 Nybegynder
17. april 2003 - 18:00 #5
brian.nielsen: det var en god ide også meget nemmere at lave :)
Avatar billede schaefner Juniormester
17. april 2003 - 18:01 #6
Prøv:

<?php
require_once('topbar.php');
include('config.php');

echo '<div align="center"><center><table border="0" width="744" cellspacing="0" cellpadding="3" style="border: 1px solid #000000"><tr><td width="100%" bgcolor="#B9E1FD">';

$nick = $_POST['nick'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
$mail = $_POST['mail'];

if (!isset($nick, $password, $password2, $mail)) {
    echo '<font face="verdana" style="font-size: 11px;">Du skal udfylde alle felterne.<br><a href="java script:history.go(-1)">Tilbage</a>';
} elseif (strlen($password) > 15) {
    echo '<font face="verdana" style="font-size: 11px;">Password må maks være på 15 tegn<br><a href="java script:history.go(-1)">Tilbage</a>';
} elseif ($password != $password2) {
    echo '<font face="verdana" style="font-size: 11px;">De to passwords skal være ens.<br><a href="java script:history.go(-1)">Tilbage</a>';
} elseif (strlen($nick) > 15) {
    echo '<font face="verdana" style="font-size: 11px;">Brugernavn må maks være på 15 tegn<br><a href="java script:history.go(-1)">Tilbage</a>';
} else {
    $result_nick = mysql_query("SELECT nick from brugere where nick = '$nick'")  or die (mysql_error());
    $number_nick = mysql_num_rows($result_nick);
    $result_mail = mysql_query("SELECT mail from brugere where mail = '$mail'")  or die (mysql_error());
    $number_mail = mysql_num_rows($result_mail);
    if ($number_nick > 0)
    {
        echo '<font face="verdana" style="font-size: 11px;">Desværre brugernavnet <b>'.$nick.'</b> er optaget.<br><a href="java script:history.go(-1)">Tilbage</a></font>';
    }
    elseif ($number_mail > 0)
    {
        echo '<font face="verdana" style="font-size: 11px;">Der er allerede oprettet en bruger med email adressen '.$mail.'!<br><a href="java script:history.go(-1)">Tilbage</a></font>';
    }
    else
    {
        $dato = date("d/m-Y - H:i:s");
        mysql_query("INSERT INTO brugere SET nick='$nick', password=MD5('$password'), mail='$mail', dato='$dato'");
        echo '<font face="verdana" style="font-size: 11px;">Brugernavn <b>'.$nick.'</b> er oprettet!<br>klik <a href="login.php">her</a> for at logge ind</font>';
    }
}

echo '</td></tr></table></center></div>';
?>
Avatar billede schaefner Juniormester
17. april 2003 - 18:03 #7
if (!isset($nick, $password, $password2, $mail)) {

Skal faktisk lige være:

if (empty($nick) OR empty($password) OR empty($password2) OR empty($mail)) {

Da du fakisk selv definere variablerne længere oppe, selvom de måske er tomme.
Avatar billede a_eriksen Nybegynder
17. april 2003 - 18:04 #8
Men ikke ret smart da man bare kan pille i html filen.
Avatar billede sonic_86 Nybegynder
17. april 2003 - 18:06 #9
schaefner: Mange tak det dur!
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