We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Problem z if/then i passing variables


kamson
25-04-2006, 01:19
Kod PHP:
if($_GET[zmienna]=="hej") { $cos='haha'; }
elseif (
$_GET[zmienna]=="hej2") { $cos='haha2'; }
elseif (
$GET[zmienna]=="hej3") { $cos='haha2'; }
else { 
$cos='nie haha'; } 
mozna bez else na koncu ale reszta musi dzialac , zmien tylko zmienna globalna bo niewiem czy form wysylasz post czy get

Naki-BoT
29-03-2006, 21:18
hehe Witam ; )

1.
= przyrownanie tzn deklarujesz zmienna(przypisujesz jej dane) czyli
if ($xxx = 5 )
da Ci tyle ze od tego momentu $xxx bedzie rowne 5.


== znaczy tyle co: identyczne, != jest tego przeciwienstwem czyli: rozne od

2. prosciej w php to to by wygladalo:

if ($zmienna = "hej") $cos = "haha";
if ($zmienna = "hejka") $cos = "haha 2";
if ($zmienna = "heja") $cos = "haha 3";
if ($zmienna = "hih") $cos = haha 4";

zauwaz tylko ze ten skrypt zamieni Ci zmienna hejka na "hahaka".

Pokombinuj nad lepszymi rozwiazaniami ; )

Pozdrawiam.

szczeles
29-03-2006, 20:35
Cytat Napisał lonasito
Wiem wiem, ale mi z podwojnym nie dziala.. :-s
Jak to nie działa ;-) Musi ;-)

lonasito
29-03-2006, 20:19
Wiem wiem, ale mi z podwojnym nie dziala.. :-s

Poza tym rozwiązałem problem wielokrotnego IF, stosując po prostu
Kod PHP:
switch ($zmienna) {
case (
costam): instrukcje; break;
case (
costam_innego): instrukcje; break;


szczeles
29-03-2006, 20:04
Cytat Napisał lonasito
Hm... zadziałało w końcu, ale z pojedyńczym =, z podwójnym == nie działa.
Co Ty nie powiesz ;-) Zapraszam do manuala: http://www.php.net/manual/en/languag...comparison.php

lonasito
29-03-2006, 19:58
Może nie może byc po prostu tak..?

Kod PHP:
if ( $zmienna "hej" ) { $cos "haha"; } 
if ( 
$zmienna "hejka" ) { $cos "haha 2"; } 
if ( 
$zmienna "heja" ) { $cos "haha 3"; }
if ( 
$zmienna "hih" ) { $cos haha 4"; } 
Nie wiem jak się z tym uporac, w przypadku kiedy jest kilka, albo i więcej możliwych wartości jednej zmiennej.. A może chodzi o to raczej o zmienną $cos ..?

lonasito
29-03-2006, 19:21
Hm... zadziałało w końcu, ale z pojedyńczym =, z podwójnym == nie działa.

Ale pojawił się kolejny problem. Chciałem zrobic wielokrotny IF statement.
Tak też mam w kodzie:

Kod PHP:
if ( $zmienna "hej" ) { 
$cos "haha"
}
if ( 
$zmienna "hejka" ) { 
$cos "haha 2"
}
if ( 
$zmienna "heja" ) { 
$cos "haha 3"

Próbowałem też inaczej:
Kod PHP:
if ( $zmienna "hej" ) { 
$cos "haha"
}
else if ( 
$zmienna "hejka" ) { 
$cos "haha 2"

else if ( 
$zmienna "heja" ) { 
$cos "haha 3"

Jednak za każdym razem, niezależnie od tego jaka jest przekazywana wartośc zmiennej $zmienna, kod bierze pod uwagę tylko ostatni warunek i $cos zawsze jest 'haha 3'.

Co jest nie tak..?

Snoopy
29-03-2006, 18:50
musisz napisac
if ( $zmienna == "hej" )

lonasito
29-03-2006, 18:42
Witam.

Mam plik .html w którym formularz przesyła zmienne do mojego pliku process.php.

W process.php jest mniej wiecej tak:
Kod PHP:
if ( $zmienna "hej" ) {
$cos "haha";
}

[...]

mail "adres@domena.pl""Tekst, tekst... $zmienna tekst tekst $cos ");
header "Location: http://adres.com" );
?>
I nie rozumiem jednej rzeczy - instrukcja 'mail' działa prawidłowo - widzi zmienną $zmienna i mi ją przesyła w emailu. Ale instrukcja IF tej zmiennej nie widzi, więc $cos pozostaje puste.. Dlaczego tak się dzieje? Co mam zmienic..?

Dzięki.
Lonasito