Autor | Zpráva | ||
---|---|---|---|
Kamil M. Profil * |
#1 · Zasláno: 8. 7. 2008, 09:59:09
Může mi někdo prosím vysvětlit proč mi todle háže Parse error: parse error, unexpected '>' in C:\Program Files\EasyPHP 2.0b1\www\tabulka.php on line 25. Má to vypočítat všechna prvočísla od zadané hodnoty do zadané hodnoty a zapsat do tabulky.
<form method=post> Vypočítej všechna prvočísla od <input type=text name=od size=5> do <input type=text name=do size=5> <input type=submit value=Vypočítat name=odeslano> </form><br> <? if (isset($_POST['odeslano'])) { $i=$_POST['od']; $do=$_POST['do']; echo "<TABLE ALIGN=CENTER BORDER=2> $x=2; while ($i==$do){ do{ $y=$i/$x; $x++; }while ($y!=0 or $x!=$i); if ($x==$i) echo "<TR><TD>".$i; $i++; } } ?> </table> </body> |
||
Matty Profil |
#2 · Zasláno: 8. 7. 2008, 10:01:08
Kamil M.
Chybí ti tam uvozovka a středník: "<TABLE ALIGN=CENTER BORDER=2>"; |
||
Kamil M. Profil * |
#3 · Zasláno: 8. 7. 2008, 10:01:46
Chyběli me tam uvozovky
echo "<TABLE ALIGN=CENTER BORDER=2> Ale teď mě to píše Parse error: parse error, unexpected T_VARIABLE, expecting ',' or ';' in C:\Program Files\EasyPHP 2.0b1\www\tabulka.php on line 19 |
||
Kamil M. Profil * |
#4 · Zasláno: 8. 7. 2008, 10:02:24
:D diki napsal sem uvozovky a nenapsal středník už to funguje
|
||
Joker Profil |
#5 · Zasláno: 8. 7. 2008, 10:02:53 · Upravil/a: Joker
edit: pozdě :-)
|
||
Kamil M. Profil * |
#6 · Zasláno: 8. 7. 2008, 10:04:08
Ale stejně to mám nějak blbě protože mi to vůbec nic nenapíše jak tuknu na Vypocitat:(
|
||
Kamil M. Profil * |
#7 · Zasláno: 8. 7. 2008, 10:06:04
A už vím kde mám chybu:D
|
||
Joker Profil |
#8 · Zasláno: 8. 7. 2008, 10:07:19
Kamil M.
Ale stejně to mám nějak blbě protože mi to vůbec nic nenapíše jak tuknu na Vypocitat:( No jasně: while ($i==$do){ ...v kombinaci $i=$_POST['od']; to znamená, že výpočet se provede jenom pokud do políček "od" a "do" vyplním to samé. Pravděpodobně tam má být while($i<$do) |
||
Kamil M. Profil * |
#9 · Zasláno: 8. 7. 2008, 10:10:47
jj ma tam byt ($i!=$do) ale stejně to mám blbě $y má byt zbytek po celočíselném dělení ne obyčejné dělení
|
||
Kamil M. Profil * |
#10 · Zasláno: 8. 7. 2008, 10:11:43
V Pascalu byl zbytek po celočíselném dělení MOD. Je něco takovýho aji v PHP?
|
||
peta Profil |
#11 · Zasláno: 8. 7. 2008, 10:12:44 · Upravil/a: peta
Kamil M.
1. php kod bych daval uplne na zacatek souboru, dovnitr bych dal pouze vypis pres echo. 2. <?php - toto je platna php znacka <?xml - toto je platna xml znacka <? - a toto je platma php a xml znacka cili pro jistotu bych tam psal vzdy php. 3. $i=$_POST['od']; - je dobre si overit issetem, zda tam neco je a je dobre provest kontrolu udaje na znaky, format a tak. Co kdyz ti poslu od=50 do=40 ? nebo od=0 do=0 ? URI = tabulka.php?od=0&do=0&odeslano=1 4. pokud chces resit v kodu, pak je treba dat odkaz na kod. soubor_php.txt , aby jsme se mohli podivat, co je na radku 25, 24, 26. Takhle se ti na to muzem vykaslat uplne. 5. if (isset($_POST['odeslano'])) { echo "<TABLE ALIGN=CENTER BORDER=2> ...} ?> </table> To je velmi chytre, ze? Kdyz neni nic odeslano, tak vzdy vypise tag /table, ktery ovsem nikde nezacina. S takovym html kodem bych te poslal zpet do skoly, protoze bych pak nechtel resit CSS pro takovy kod. Pekna makacka najit pak, proc se neco obarvuje tak, jak nema... 6. while ($y!=0 or $x!=$i); chyba je na tomto radku, reseni je na cz.php.net/while Osobne bych pouzival vsude {} misto spesl jinych zapisu Hm, tak koukam podle ostatnich reakci, ze tam tech chyb je vic nez,co jsem nasel :) |
||
Kamil M. Profil * |
#12 · Zasláno: 8. 7. 2008, 10:16:21
S takovym html kodem bych te poslal zpet do skoly
To bude problém já do školy chodím do tercie na gymplu:D |
||
Kamil M. Profil * |
#13 · Zasláno: 8. 7. 2008, 10:17:53
peta
Uznávám mám to celý podrbaný su zvyklej na pascal radsi si ještě přečtu pár lekcí na Linuxsoftu:D |
||
Alphard Profil |
#14 · Zasláno: 8. 7. 2008, 10:30:47
V Pascalu byl zbytek po celočíselném dělení MOD. Je něco takovýho aji v PHP?
Ano, modulo s operátorem % $g = 5 % 2; v $g by mělo být 1 |
||
Kamil M. Profil * |
#15 · Zasláno: 8. 7. 2008, 10:34:43
Alphard
Dik funguje:D |
||
peta Profil |
#16 · Zasláno: 8. 7. 2008, 10:36:57
Kamil M.
pascal a delphi - jsou pascal jazyky php, javascript, java, ... - a dalsi desitky jsou skupina c jazyku asm, ... - jsou zase assemblery atd proste ten zapis je jinaci, dobra literatura je cz.php.net + jmeno funkce nebo skupiny funkci cz.php.net/string cz.php.net/operators cz.php.net/image cz.php.net/file ... |
||
Kamil M. Profil * |
#17 · Zasláno: 8. 7. 2008, 10:40:36
peta
Dik mrknu na to |
||
Joker Profil |
#18 · Zasláno: 8. 7. 2008, 11:40:14
Kamil M.
Ještě jedna poznámka: while($i != $neco){ ... $i++; } Lepší je tu podmínku zadat: while($i < $neco) ...protože zjevně se ten cyklus nemá provádět ani v situaci, kdy $i bude větší, než $neco. Pro tenhle případ to možná je skoro zbytečné, ale je to takový dobrý návyk, protože ve složitějším případě nebo při chybě se může stát, že to $i hodnotu $neco přeskočí a sklouzne do nekonečného cyklu. |
||
AAA Profil * |
#19 · Zasláno: 10. 7. 2008, 22:48:30
class prvocislo{
function __construct($in){ $this->in=$in; if ($this->in["start"]<1 or $this->in["stop"]<$this->in["start"] or !is_numeric($this->in["start"])) { echo "chyba v zadaní"; return; } $this->start_stop(); echo $this->out; } function start_stop(){ for ($i=$this->in["start"]; $i<=$this->in["stop"]; $i++){ if (($i%2)==0) continue; // $this->out .= ($i%11)==0?"<br>":" "; //$this->deleni($i); $this->out .= ($this->deleni($i)==0 ? "<b>$i</b><br>" : "<font color=\"red\">$i-$this->_break</font><br>"); } } function deleni($del){ for ($d=2; $d<=($del/3); $d++){ switch ($d) { case 1: break; case $del: $chyba = 0; break 2; default: if (($del%$d)==0) {$chyba = 1; $this->_break=$d; break 2;} break; } } return $chyba; } //strpos($string1,$needle) // 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 } |
||
Časová prodleva: 16 let
|
0