| Autor | Zpráva | ||
|---|---|---|---|
| HGD Profil |
#1 · Zasláno: 27. 3. 2008, 20:48:12
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 * |
#2 · Zasláno: 27. 3. 2008, 20:53:34
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 |
#3 · Zasláno: 27. 3. 2008, 20:53:44
Reakce na HGD:
Viz první ukázka kódu. |
||
| suky Profil |
#4 · Zasláno: 27. 3. 2008, 20:53:59
HGD
tesuje to zda je hodnota promenne true nebo false, podle toho se vyhodnoti... |
||
| HGD Profil |
#5 · Zasláno: 27. 3. 2008, 21:01:08
takže můžu místo:
if(!empty($_POST['jmeno'])) if($_POST['jmeno']) resp. if(isset($_POST['submit'])) if($_POST['submit']) |
||
| suky Profil |
#6 · Zasláno: 27. 3. 2008, 21:03:10
HGD
jeste jednou, testuje se hodnota promenne, TRUE x FALSE |
||
| HGD Profil |
#7 · Zasláno: 27. 3. 2008, 21:05:55
takže se to používá místo isset ??
|
||
| suky Profil |
#8 · Zasláno: 27. 3. 2008, 21:09:25
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 |
#9 · Zasláno: 27. 3. 2008, 21:27:59
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 |
#10 · Zasláno: 27. 3. 2008, 21:28:52
Casero
precti si jeho uvodni post |
||
| orava Profil |
#11 · Zasláno: 28. 3. 2008, 13:26:17
$ok=TRUE;
if ($ok) {echo 'ok';}
$ok=FALSE;
if ($ok) {} else {echo 'KO'; }
|
||
| ;-;D3@D3R;-; Profil * |
#12 · Zasláno: 28. 3. 2008, 18:50:40
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 |
#13 · Zasláno: 28. 3. 2008, 19:19:38
45. else{echo "Spatna barva!";};
Proc je na konci strednik ? |
||
| krteczek Profil |
#14 · Zasláno: 28. 3. 2008, 19:35:09 · Upravil/a: krteczek
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 |
#15 · Zasláno: 29. 3. 2008, 08:41:52
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 |
#16 · Zasláno: 29. 3. 2008, 09:09:26
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 |
#17 · Zasláno: 29. 3. 2008, 09:19:35
;-;D3@D3R;-;
else if (napsáno s mezerou) |
||
| ;-;D3@D3R;-; Profil * |
#18 · Zasláno: 29. 3. 2008, 16:34:07
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 |
#19 · Zasláno: 29. 3. 2008, 17:14:37
;-;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 * |
#20 · Zasláno: 29. 3. 2008, 18:10:39
;-;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 * |
#21 · Zasláno: 30. 3. 2008, 17:37:57
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!";};};};};
?>
|
||
|
Časová prodleva: 24 dní
|
|||
| ;-;D3@D3R;-; Profil * |
#22 · Zasláno: 23. 4. 2008, 18:19:34
uz sem to vyresil jinak
|
||
| nightfish Profil |
#23 · Zasláno: 23. 4. 2008, 18:24:44
;-;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>; |
||
|
Časová prodleva: 18 let
|
|||
0