Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z if($a == 1 OR $a == 2)
Forum PHP.pl > Forum > Przedszkole
świeżak
Cześć.

Jestem tutaj nowym użytkownikiem i dopiero rozpoczynam naukę php.

Chciałbym zapytać ponieważ czego nie rozumiem mam taki kod:

Kod
$plec=$_POST['plec'];

if( $plec != 'k' || $plec != 'm' ) {
    echo 'plec nie ustawiona';
}


i problem polega na tym że w momencie gdy robię sobie ECHO $plec widzę wynik k lub m, a ciągle otrzymuję "PŁEĆ NIE USTAWIONA".
Ja nie widzę tutaj żadnego błędu, a jednak ciągle coś jest nie tak.


$_POST['plec'] pobierana jest z
Kod
<input type="radio" name="plec" id="plec" value="k" > <span class="dziewczyna" />Dziewczyna</span>
        <input type="radio" name="plec" id="plec" value="m" > <span class="chlopak" />Chłopak</span>


Tak jak pisałem robiąc
Kod
<?php echo $plec; ?>

otrzymuję wynik k lub m, czyli wnioskuję że POST działa poprawnie a błąd leży po stronie ||

W momencie gdy usunę || $plec != 'm'
również działa poprawnie

Pomożecie?
Danielcom
Zmień || na and, powinno pomóc.
bercow
ja bym dal &&

if( $plec != 'k' || $plec != 'm' )
onacza tyle, jezeli $plec nie jest 'k', lub $plec nie jest 'm' to ... || to operator OR, && to operator AND, czyli 'i'

http://php.net/manual/en/language.operators.comparison.php
http://www.php.net/manual/en/language.operators.logical.php
świeżak
No ale czy źle to zrozumiałem?

JEŻELI nie jest Kobietą LUB nie jest mężczyzną TO.


Dziękuje za pomoc smile.gif
gargamel
Cytat
No ale czy źle to zrozumiałem?

Masz 2 warunki składające się na if.
Operator || oznacza tyle że jeśli któryś z tych 2 warunków jest spełniony, to spełniony jest cały "if"

Zauważ że w if( $plec != 'k' || $plec != 'm' )
jeśli $plec = k to pierwszy warunek nie jest spełniony, ale drugi jest.
I odwrotnie,
jeśli $plec = m to pierwszy warunek jest spełniony, a drugi nie.

W operatorze || wystarczy spełnić jeden warunek. W operatorze && trzeba spełnić wszystkie warunki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.