Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z if($a == 1 OR $a == 2)
świeżak
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Danielcom
post
Post #2





Grupa: Zarejestrowani
Postów: 92
Pomógł: 3
Dołączył: 6.10.2008

Ostrzeżenie: (0%)
-----


Zmień || na and, powinno pomóc.
Go to the top of the page
+Quote Post
bercow
post
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
Go to the top of the page
+Quote Post
świeżak
post
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 smile.gif
Go to the top of the page
+Quote Post
gargamel
post
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:31