Avatar billede human Nybegynder
27. december 2004 - 00:00 Der er 15 kommentarer og
1 løsning

Lille spørgsmål om isset og empty

Goddag.

Ja jeg har altså en form der ser således ud:
<form action="ikke_aktiveret.php" method="post">
<b>Kode:</b><br />
<input type="text" name="akt_kode"><br />
<b>E-Mail:</b><br />
<input type="text" name="email_address"><br /><br />
<input type="submit" name="Kode" value="Okay">
</form>

Hvis der bliver trykket på Okay, så skal den skrive, begge indtastet, intet indtastet, eller du mangler kode/email.

Hvordan gøres det?
Avatar billede jakoba Nybegynder
27. december 2004 - 00:14 #1
if ( isset( $_POST['Kode'] ) ) {
        // vi ved formen blev submittet, så det er umagen værd at teste de to felter.
    if ( isset( $_POST['email_address'] ) ) {
        // Ja, der blev skrevet noget i email_address feltet
        if ( isset( $_POST['akt_kode'] ) {
                // og også i akt-kode
            echo "begge indtastet";
        } else {
            echo "du mangler akt_kode";
        }
    } else {
            // ingenting i lmail_address
        if ( ! isset( $_POST['akt_kode'] ) {
                // og heller ikke i akt_kode
            echo "intet indtastet";
        } else {
            echo "do mangler email_address";
        }
    }
}

mvh JakobA
Avatar billede ranglen Nybegynder
27. december 2004 - 00:19 #2
Det er måske en idé at benytte empty() i stedet for, den kontroller også om strengen er tom. Bliver formen submitted, vil alle tekstfelter autoamtisk være sat. Så alle ovenstående isset() er faktisk unødvendige..
Avatar billede human Nybegynder
27. december 2004 - 00:20 #3
Parse error: parse error, unexpected '{' på line 45, det er den der:
if(isset($_POST['akt_kode']) {
Avatar billede human Nybegynder
27. december 2004 - 00:21 #4
Så jeg skal erstatte alle isset med empty?
Avatar billede human Nybegynder
27. december 2004 - 00:21 #5
Det er netop en forklaring af empty og isset jeg leder efter.
Avatar billede jakoba Nybegynder
27. december 2004 - 00:23 #6
Ups. i begge de inderste if sætninger mangler der en )
        if ( isset( $_POST['akt_kode'] ) ) {    // tilføjet ')'
men jeg er bange for ranglen har ret. det bør være
        if ( !empty( $_POST['akt_kode'] ) ) {
Avatar billede jakoba Nybegynder
27. december 2004 - 00:25 #7
ja,  erstat  isset  med  !empty
og  erstat  !isset  med  empty
Avatar billede human Nybegynder
27. december 2004 - 00:25 #8
Okay, erstatter altså alle isset med empty?
Avatar billede human Nybegynder
27. december 2004 - 00:25 #9
Okay :)
Læg et svar
Avatar billede jakoba Nybegynder
27. december 2004 - 00:27 #10
det må være ranglen's
Avatar billede human Nybegynder
27. december 2004 - 00:27 #11
Den melder stadig fejl i samme linie :/
Avatar billede baitianlong Nybegynder
27. december 2004 - 00:30 #12
jakoba. Du er gammel bruger her på e, og jeg har den dybeste respekt, men dit svar er ikke helt smukt...

1) du mangler en ) i linie 6 og 14.
2) hvis man blot klikker "Okay" / submit, siger den "begge indtastet". De bliver set, når de bliver instantieret

Derfor...

<?php
if ( isset( $_POST['Kode'] ) ) {
        // vi ved formen blev submittet, så det er umagen værd at teste de to felter.
    if ( !empty( $_POST['email_address'] ) ) {
        // Ja, der blev skrevet noget i email_address feltet
        if ( !empty( $_POST['akt_kode'] )) {
                // og også i akt-kode
            echo "begge indtastet";
        } else {
            echo "du mangler akt_kode";
        }
    } else {
            // ingenting i lmail_address
        if ( empty( $_POST['akt_kode'] )) {
                // og heller ikke i akt_kode
            echo "intet indtastet";
        } else {
            echo "do mangler email_address";
        }
    }
}
?>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
<b>Kode:</b><br />
<input type="text" name="akt_kode"><br />
<b>E-Mail:</b><br />
<input type="text" name="email_address"><br /><br />
<input type="submit" name="Kode" value="Okay">
</form>

:)
Avatar billede baitianlong Nybegynder
27. december 2004 - 00:31 #13
...jeg var lidt lang tid om at skrive :) Men ovenstående er løsningen
Avatar billede human Nybegynder
27. december 2004 - 00:34 #14
Okay.. jeg ved ikke hvem der skal have poing, men det virker nu. Tak.

SMid svar den af jer der føler i skal have pong.
Avatar billede haren Nybegynder
27. december 2004 - 12:21 #15
Du kunne også dele dem.. :D
Avatar billede baitianlong Nybegynder
27. december 2004 - 22:25 #16
Her er i hvert fald et 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