![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
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? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 6.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zmień || na and, powinno pomóc.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 156 Pomógł: 11 Dołączył: 25.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
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 Ten post edytował bercow 12.02.2011, 10:49:04 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
No ale czy źle to zrozumiałem?
JEŻELI nie jest Kobietą LUB nie jest mężczyzną TO. Dziękuje za pomoc ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
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 Ten post edytował gargamel 12.02.2011, 12:27:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 06:31 |