Autor | Zpráva | ||
---|---|---|---|
Niel Profil * |
#1 · Zasláno: 9. 4. 2006, 19:24:59
mam problem s ciklusom kod vyzera takto:
<?session_start(); $subor=$_SESSION['meno']; $a=1; while($a <= $y){ if (${'mnozstvo'.$a}=="0") { } else { $fp=fopen("kosik/$subor.dat","a+"); $ulozfinal="${'nazov'.$a}#${'cena'.$a}#${'mnozstvo'.$a}\n"; fputs($fp,$ulozfinal); fclose($fp); $a++; }} echo "ok"; ?> pokial sa ${'mnozstvo'.$a} nerovna 0 tak vsetko prebehne v poriadku akonahle sa rovna 0 tak sa to zasekne. a vypise: Fatal error: Maximum execution time of 30 seconds exceeded |
||
koudi Profil |
#2 · Zasláno: 9. 4. 2006, 19:32:21
protože ti tam samozřejmě vzniká tzv. infinite loop - nekonečná smyčka. dej to tý první podmínky $a++.
|
||
Niel Profil * |
#3 · Zasláno: 10. 4. 2006, 14:28:07
koudi vdaka moc ale stale mam problem a stale ked tam nastane ta podmienka ${'mnozstvo'.$a} sa rovna 0, dostanem hlasku "Cannot modify header information - headers already sent" a nechapem preco len vtedy ked sa rovna 0.:(
<?session_start(); $subor=$_SESSION['meno']; $a=1; $fp=fopen("kosik/$subor.dat", "w"); fclose($fp); while($a <= $y){ if (${'mnozstvo'.$a}=="0") { echo "nic"; $a++; } else { $fp=fopen("kosik/$subor.dat","a+"); $ulozfinal="${'nazov'.$a}#${'cena'.$a}#${'mnozstvo'.$a}\n"; fputs($fp,$ulozfinal); fclose($fp); $a++; }} header("location:faktura.php"); ?> |
||
Honza Hučín Profil |
#4 · Zasláno: 10. 4. 2006, 14:52:37
Protože vypisuješ příkazem echo. Hlavička se dá standardně poslat jedině dřív, než pošleš cokoliv na výstup. Pokud to echo je jen kvůli ladění, vyhoď ho a uvidíš, že to bude OK. Pokud potřebuješ někam zaznamenat, kterou větví se šlo, ulož tuto informaci do nějaké proměnné a případně ji pošli jako parametr v URL v příkazu header.
|
||
Niel Profil * |
#5 · Zasláno: 10. 4. 2006, 14:54:50
jo vdaka velmi velmi:)
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0