Avatar billede kennith Nybegynder
23. januar 2005 - 03:30 Der er 4 kommentarer og
1 løsning

Kontrol af påkrævede felter i form

Jeg har lavet en form som opretter en ny bruger det virker som det skal men jeg vil gerne have at mit script går ind og chekker hvilke felter der er udfyldt inden det sender dem til databasen og jeg vil gerne have det gjort sådan at der er mulighed for forskellige "fejlbeskeder/advarsler" afhængigt af hvilke felter der er udfyldt.

I registrings formen skal password indtastes 2 gange for at bekræfte indtastningen. der skal udføres kontrol af at de to stemmer overens.

En ny bruger skal oprette sig med minimum brugernavn (username)og password (passw)er dette ikke udfyldt skal de selvfølgelig have besked om det. er disse felter udfyldt men mangler der andre (navn, adresse, osv.) skal brugeren gøres opmærksom på at han/hun kun bliver standard bruger med begrænsede rettigheder.

Kennith
Avatar billede tfswebguy Nybegynder
23. januar 2005 - 04:50 #1
Hmm
Hvis du har (username,passw,passw_tjek) som felter, kan du bruge:

if(!$username OR !$passw OR $passw != "$passw_tjek"){
print "Du har ikke skrevet et brugernavn, en kode, eller de to kodeord er ikke ens";
}else{
mysql_query("INSERT.....");
}
if(!$navn OR !$adresse.....){
print "Da du ikke har indtastet dit navn, adresse, osv, er din bruger begrænset";
}
Avatar billede hmortensen Nybegynder
23. januar 2005 - 06:33 #2
//Variablen sættes til 0 for fuld rettighed
$limited = 0;

if (empty($_POST['brugernavn']))
{
  echo "Brugernavn er ikke udfyldt!";
  exit;
}

if (empty($_POST['kodeord1']) && empty($_POST['kodeord1']))
{
  echo "Du har ikke udfyldt kodeord!";
  exit;

if ($_POST['kodeord1'] != $_POST['kodeord2'])
{
  echo "Kodeord stemmer ikke overens!";
  exit;
}

if (empty($_POST['navn']) OR empty($_POST['adresse']))
{
  echo "Du har begrænsede muligheder!";
  //Sættes til 1 ved begrænset adgang
  $limited = 1;
}

$sql = INSERT INTO....
Avatar billede Slettet bruger
23. januar 2005 - 11:34 #3
f.eks.

<?
$pass = $_POST['passw'];
$pass2 = $_POST['passw2'];
$user = $_POST['user'];
//Resten, navn osv
$navn = $_POST['navn'];

if(!empty($user) && strlen($user) > '0')
    {
    if(!empty($pass) && strlen($pass) > '0')
        {
        if($pass2 == $pass)
            {
            $q = mysql_query("SELECT * FROM tabel WHERE brugernavn='". $user ."'") or die(mysql_error());
            if(mysql_num_rows($q) == '0')
                {
                if(!empty($navn) && strlen($navn) > '0')
                    {
                    //Indsæt alt med fulde rettigheder
                    }
                else
                    {
                    //Indsæt alt uden fulde rettigheder
                    }
                }
            else
                {
                //Der er allerede én der har det brugernavn
                }
            }
        else
            {
            //De to kodeord var ikke ens
            }
        }
    else
        {
        //Der blev ikke indtastet nogen kodeord
        }
    }
else
    {
    //Brugernavn er ikke sat
    }
?>
Avatar billede kennith Nybegynder
24. januar 2005 - 23:50 #4
Tak for hjælpen :)

Kennith
Avatar billede Slettet bruger
25. januar 2005 - 16:14 #5
velbekomme
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