Autor Zpráva
HGD
Profil
viděl jsem už několikrát na stránkách:
if($promena){}

nikde jsem se nedočet, co to je? ...a tak se ptám zda to testuje, jestli proměnná $promena existuje, nebo jestli je prázdná
molol
Profil *
např:

if($promena=='ahoj'){
echo "1";
}else{
echo "2";
}


Tenhle kód říká, že pokud se $promena bude rovnat slovu ahoj vypíše se číslo 1, pokud se $promena bude rovnat čemukoliv jinému vypíše se číslo 2.
Str4wberry
Profil
Reakce na HGD:
Viz první ukázka kódu.
suky
Profil
HGD
tesuje to zda je hodnota promenne true nebo false, podle toho se vyhodnoti...
HGD
Profil
takže můžu místo:
if(!empty($_POST['jmeno']))
použít
if($_POST['jmeno'])
???
resp.
if(isset($_POST['submit']))
->
if($_POST['submit'])
???
suky
Profil
HGD
jeste jednou, testuje se hodnota promenne, TRUE x FALSE
HGD
Profil
takže se to používá místo isset ??
suky
Profil
HGD
isset($p) ... vraci true, pokud je $p inicializovana
prikaz if(), zhodnoti, zda je obsah zavorek rovny true, cili zda je pravdivy, pletes do sebe dve veci...
Casero
Profil
suky
pletes do sebe dve veci...
Jestli ho chápu, tak ne.

HGD
A co to vyzkoušet? Když proměná je prázdná i když není zavedena, vždy podmínka vrací FALSE. TRUE je pouze v případě, že proměná má nenulový obsah.
suky
Profil
Casero
precti si jeho uvodni post
orava
Profil
$ok=TRUE;
if ($ok) {echo 'ok';}
$ok=FALSE;
if ($ok) {} else {echo 'KO'; }
;-;D3@D3R;-;
Profil *
Nevim jak mam opravit chybu T_ELSEIF on line 44.Nechapu co tam mam spatne.

42. $open2=fopen('forum-back.txt','w');
43. if($color=="#E6EEFF"){fwrite($open2,"#CCDCFF");}
44. elseif($color=="#CCDCFF"){fwrite($open2,"#E6EEFF");}
45. else{echo "Spatna barva!";};
46. fclose($open2);
Medvídek
Profil
45. else{echo "Spatna barva!";};

Proc je na konci strednik ?
krteczek
Profil
Proč si to nevyzkoušet, že?
<?php
error_reporting(E_ALL);
if($a)
{
	echo $a;
}
else
{
	echo 'ne';
}
?>
<br />
<b>Notice</b>:  Undefined variable: a in <b>/var/www/p.php</b> on line <b>4</b><br />
ne

Prostě jedná se o použití nedefinované proměnné...
<?php
error_reporting(E_ALL);
$a = 'ahoj';
if($a)
{
	echo $a;
}
else
{
	echo 'ne';
}
?>

v tomhle případě se vypíše obsah proměnné $a;

Ale jsem přesvědčen, že použití isset(); jestli je již proměnná nastevena nebo empty(), jestli ověřujeme, zda v proměnné je nějaký obsah, je přeci jen lepší
suky
Profil
krteczek
Prostě jedná se o použití nedefinované proměnné...
To neni pravda.
if($a)
	{
	echo $a;
	}



PHP zjistuje, zda je obsah zavorek roven TRUE.
V tomto pripade tedy if($a == TRUE).
Pokud promenna neni zinicalizovana, je logicke, ze vyskoci chyba...
Pokud je promenna nejakeho datoveho typu, tento typ se prevede na boolean, tedy $b = (boolean) $a;. V tabulce (link) jsou uvedeny pretypovani promennych. Takze dam priklad:
//zinicializujeme promennou $a
$a = "0";
if ($a) echo "Pokud se zobrazim, zjistuji, zda je promenna inicializovana!";
else echo "Pokud se zobrazím, zjistuji, zda se obsah zavorek rovna TRUE";
Joker
Profil
Lidi, lidi, nějak se v tom motáte :-) Alespoň někteří z vás.
Zkusím stručně shrnout to, co se suky snaží vysvětlit:

se ptám zda to testuje, jestli proměnná $promena existuje, nebo jestli je prázdná
Ani jedno.

Podmínka if(cokoliv) testuje to, jestli to "cokoliv" dává logickou hodnotu true, nebo false. Výraz:
if($promena)
je to samé, jako:
if($promena == true)
a testuje, zda je hodnota proměnné $promenna rovna hodnotě true, nebo něčemu, co se na true dá převést (například nenulové číslo)

Jinak if(isset($a)) není to samé, jako if(!empty($a)).

Funkce isset(), ta jen zkouší, jestli proměnná má *nějakou* hodnotu nastavenou, vrátí true i v případě, že samotná hodnota proměnné je false.
Funkce empty() už tomu if($a) je daleko bližší, ale ještě navíc testuje, zda proměnná má vůbec nějakou hodnotu (tj. vlastně negativní isset):
if(!empty($a))
bude co do výsledku stejné, jako:
if(isset($a) && $a)

Už je to jasné?
nightfish
Profil
;-;D3@D3R;-;
else if (napsáno s mezerou)
;-;D3@D3R;-;
Profil *
else if:
$open2=fopen('forum-back.txt','w');
if($color=="#E6EEFF"){fwrite($open2,"#CCDCFF");}
else if($color=="#CCDCFF"){fwrite($open2,"#E6EEFF");}
else{echo "Spatna barva!";};
fclose($open2);

nepomohlo, ted to napsalo chybu T_ELSE
nightfish
Profil
;-;D3@D3R;-;
imho máš chybu někde jinde, protože výše uvedený kód bez problémů funguje...
takže zaměř své pátrání na místa výš v kódu
AlPsoft
Profil *
;-;D3@D3R;-;
Vysek skriptu funguje jak s 'elseif', tak i s 'else if'.
Mozna by pomohlo tech par radku smazat a znova napsat.
Nekdy se tam muze dostat znak, ktery neni videt a muze udelat paseku.
PS: A co ta promenna $color ?
;-;D3@D3R;-;
Profil *
jsem to zkusil prepsat a nic, tak ja uvadim cely kod, je to script pro pridani prizpevku do fora a ty barvy kvuli tomu, aby mel kazdy prizpevek jinou podkladovou barvu:
<?php
if($text==""){
include"pridat2.php";
}else{
if($heslo=="" and $jmeno=="") {
echo 'nebyly zadany udaje!!!';
}else{
$h=fopen("zaci/".$jmeno."/heslo","r");
$read=fread($h,3000);
fclose($h);
if($heslo==$read){
$y=(str_replace(">usmev<","<img src='smiles/01.png'>","$text"));
$c=(str_replace(">andel<","<img src='smiles/02.png'>","$y"));
$v=(str_replace(">brejle<","<img src='smiles/03.png'>","$c"));
$b=(str_replace(">jazyk<","<img src='smiles/04.png'>","$v"));
$w=(str_replace(">mlceni<","<img src='smiles/05.png'>","$b"));
$n=(str_replace(">pes<","<img src='smiles/06.png'>","$w"));
$m=(str_replace(">nejisty<","<img src='smiles/07.png'>","$n"));
$l=(str_replace(">velky_usmev<","<img src='smiles/08.png'>","$m"));
$k=(str_replace(">mraceni<","<img src='smiles/09.png'>","$l"));
$j=(str_replace(">:-/<","<img src='smiles/10.png'>","$k"));
$h=(str_replace(">pusa<","<img src='smiles/11.png'>","$j"));
$g=(str_replace(">brekot<","<img src='smiles/12.png'>","$h"));
$f=(str_replace(">velky_usmev2<","<img src='smiles/13.png'>","$g"));
$d=(str_replace(">laska<","<img src='smiles/15.png'>","$f"));
$s=(str_replace(">smutek<","<img src='smiles/16.png'>","$d"));
$a=(str_replace(">stydeni<","<img src='smiles/16.png'>","$s"));
$q=(str_replace(">udiv<","<img src='smiles/17.png'>","$a"));
$potext=(str_replace(">mrknuti<","<img src='smiles/18.png'>","$q"));
$col=fopen("forum-back.txt","r");
$color=fread($col,3000);
fclose($col);
$zac="<html><body><div style='font-family:Tahoma;background:".$color.";'><small><small>";
$kon="</small></small></div></body></html>";
$uprnick="<b>".$jmeno."</b>;
$kontext=$zac.$uprnick.$potext.$kon;
$nepo=fopen('forum.txt','a+');
fwrite($nepo,$kontext);
if(fwrite($nepo,$kontext)){
fclose($nepo);
$open2=fopen('forum-back.txt','w');
if($color=="#E6EEFF"){fwrite($open2,"#CCDCFF");}
elseif($color=="#CCDCFF"){fwrite($open2,"#E6EEFF");}
else{echo "Spatna barva!";};
fclose($open2);
echo"Třídní Novinka uložena.";
}else{echo "CHYBA!";};};};};
?>
;-;D3@D3R;-;
Profil *
uz sem to vyresil jinak
nightfish
Profil
;-;D3@D3R;-;
ač jsem si vědom stáří tvého dotazu, nemohu neodpovědět

používal-li bys jakýkoliv editor s podporou zvýrazňování syntaxe, zjistil bys, že na řádku s
$uprnick="<b>".$jmeno."</b>;
ti chybí ukončovací uvozovky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: