Problem med if

Tags:    php

Hey,

har et problem med if sætning..

vil gerne have at en af disse to felter skal være udfyldt.
Dem begge må ej være udfyldt.

if($maxdeltagere == "" || $select == ""){
fejl her.
}

Hvis man har valgt maxdeltagere, skal den godkende det, dog kun hvis select er tom.

Og hvis det er omvendt rækkefølge, skal det gælde det samme.

Så skal maxdeltagere være tom, og select skal indeholde noget.

Nogen til gavn med dette.



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
kan du gøre sådan her.

Fold kodeboks ind/udPHP kode 


eller sådan her med en else if

Fold kodeboks ind/udPHP kode 




prøv at gør noget i den her stil, sådan det hele er inde i din if..

Fold kodeboks ind/udPHP kode 




Dit forsøg nr 1, virker skam.
Havde slet ikke i tankerne om at bruge empty.
men må sige det virkede :)
Og lige hvad jeg søgte. Og tak :)
---



Har kun et problem nu. Nu vil den i submit, have begge er fyldt. før den vil acceptere.


$maxdeltagere = htmlspecialchars($_POST['maxdeltagere']);
$select = htmlspecialchars($_POST['select']);
if(isset($_POST['addevent']))
{

Altså den forlanger select, og maxdeltagere ???

Den poster intet, og den udskriver fejlen: * Du kan skal vælge mellem dropdown eller input feltet, og kun et af dem ..

Der er skrevet i en af dem. Så undre mig.


Gør jeg således:


if((!empty($maxdeltagere) && empty($select)) || (empty($maxdeltagere) && !empty($select)))
{
$error .="<img src='images/error.png' width='16' height='16'> * Hvorfor???..<br />";
}
else
{
$error .="<img src='images/error.png' width='16' height='16'> * Du kan skal vælge mellem dropdown eller input feltet, og kun et af dem ..<br />";
}

Så i submit, skriver den: Hvorfor?

Når et af dem er udfyldt. :(



Indlæg senest redigeret d. 22.04.2013 21:24 af Bruger #17554
Tror jeg har løst det.
Har ændret de to navne til:

maxdeltagere1, maxdeltagere2


--
Dette er før: if(isset($_POST['addevent'])){

$maxdeltagere1 = isset($_POST['maxdeltagere1']) ? htmlspecialchars($_POST['maxdeltagere1']) : null;
$maxdeltagere2 = isset($_POST['maxdeltagere2']) ? htmlspecialchars($_POST['maxdeltagere2']) : null;

Dette er efter: if(isset($_POST['addevent'])){

if((!empty($maxdeltagere1) && empty($maxdeltagere2)) || (empty($maxdeltagere1) && !empty($maxdeltagere2)))
{
}
else
{
$error .="<img src='images/error.png' width='16' height='16'> * Du kan skal vælge mellem dropdown eller input feltet, og kun et af dem ..<br />";
}


Kan ikke post hvis de begge er udfyldt, og den poster nu hvis kun den ene er udfyldt. Test med begge muligheder. Den poster kun med den ene.

Så håber det er optimalt ? :)

Det jo som du skrev den, dog lidt rettelse. Plus ændring af navne på de to felter.



Indlæg senest redigeret d. 22.04.2013 21:58 af Bruger #17554
erhm. Den kan også tænkes lidt omvendt. :)

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 22.04.2013 23:00 af Bruger #10216
t