Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 4. 2. 2006, 15:44:32
pomozte prosim neviem kde mam chybu
<form action="zpracuj.php" method="post"> <b>vase meno:</b><input name="jmeno"> <p> <b>vase jazykove znalosti su:</b><br> <input type="checkbox" name="cj" value="cz"> cestina<br> <input type="checkbox" name="aj" value="en"> anglistina<br> <input type="checkbox" name="nj" value="de"> nemcina<br> <input type="checkbox" name="fj" value="fr"> francuztina<br> <input type="checkbox" name="sj" value="es"> spanielcina<br> <input type="checkbox" name="ot" value="n/a"> iny <input type="text" name="jj"> <p> <input type="submit" name="ok" value="odoslat"> </form> ====================skript s nazvom zpracuj.php================================== <?php if $_POST["jmeno"] exit("hej, to sa ani nevies predstavit"); if $_POST["cj"] echo "to je vyborne ze $_POST["jmeno"] hovori cesky"; else echo "skoda ze nevies cesky"; if $_POST["aj"] echo "hello $_POST["meno"]"; if $_POST["nj"] echo "hola $_POST["meno"]"; if $_POST["fj"] echo "salut $_POST["meno"]"; if $_POST["sj"] echo "hola $_POST["meno"]"; if $_POST["ot"] && $_POST["jj"] echo "bohuzial $_POST["jj"] neviem"; ?> |
||
pe4k Profil |
#2 · Zasláno: 4. 2. 2006, 16:02:00
neviem či ti nechýbajú zátvorky pri podmienkach a množinové zátvorky pri ohraničení platnosti podmienok
|
||
gaminn Profil * |
#3 · Zasláno: 4. 2. 2006, 16:04:00
No předně se raději nauč základní syntaxi PHP, protože v tomhle kousku kódu je tolik chyb, že jsem to ještě neviděl;)
|
||
Anonymní Profil * |
#4 · Zasláno: 4. 2. 2006, 16:04:54
zatvorky v podmienke mi tam nechybaju lebo pretoze sutam lomene zatvorky a zlozene zatvorky sa tam nedavaju pokuial viem
|
||
Anonymní Profil * |
#5 · Zasláno: 4. 2. 2006, 16:05:33
tak mi ich napis ja som to prepisal z knihy ten kod
|
||
gaminn Profil * |
#6 · Zasláno: 4. 2. 2006, 16:07:30
if($prom), to je základ.
Potom , co se týče funkčnosti skriptu, očekával bych, že na druhém řádku bude if(!$_POST['jmeno']). |
||
gaminn Profil * |
#7 · Zasláno: 4. 2. 2006, 16:09:25
Jinak, co se týče knihy, řekl bych, že ta je velmi zastaralá, pokud se v ní ještě vyskytují v téhle době již nestandardní tagy <br>, <input> (bez uzavření <br />), tag <p> není uzavírán.
|
||
Anonymní Profil * |
#8 · Zasláno: 4. 2. 2006, 16:10:31
ta kniha je z roku 2005 PHP -zaciname programovat
|
||
Anonymní Profil * |
#9 · Zasláno: 4. 2. 2006, 16:15:33
co tam je este zle
<?php if ($_POST['jmeno']) exit("hej, to sa ani nevies predstavit"); if ($_POST['cj']) echo "to je vyborne ze $_POST["jmeno"] hovori cesky"; else echo "skoda ze nevies cesky"; if $_POST["aj"] echo "hello $_POST["jmeno"]"; if $_POST["nj"] echo "hola $_POST["jmeno"]"; if $_POST["fj"] echo "salut $_POST["jmeno"]"; if $_POST["sj"] echo "hola $_POST["jmeno"]"; if $_POST["ot"] && $_POST["jj"] echo "bohuzial $_POST["jj"] neviem"; ?> |
||
gaminn Profil * |
#10 · Zasláno: 4. 2. 2006, 16:20:00
Promiň, ale neříkej, že takový kód je uveden v nějaké knížce, tomu se mi nechce moc věřit;) No ještě by tomu mohlo vadit třeba $_POST["jmeno"] přímo v řetězci - bez problémů bude "to je vyborne ze ".$_POST["jmeno"]." hovori cesky"; Pak samozřejmě ještě chybí další závorky u podmínek.
|
||
Raider Profil |
#11 · Zasláno: 4. 2. 2006, 16:24:46
Tiež pochybujem že taký kód aký si uviedol by bol v nejakej knižke o PHP.
Ale k veci. Čo má za význam táto podmienka ? if ($_POST['jmeno']) exit("hej, to sa ani nevies predstavit"); Trochu som pozmenil celý ten kód, tak si ho dobre pozri. <?php |
||
Anonymní Profil * |
#12 · Zasláno: 4. 2. 2006, 16:26:21
tak si tu knihu kup a budes sa divit !!!!
<?php if ($_POST['!jmeno']) exit("hej, to sa ani nevies predstavit"); if ($_POST['cj']) echo "to je vyborne ze ".$_POST["jmeno"]." hovori cesky"; else echo "skoda ze nevies cesky"; if ($_POST["aj"]) echo "hello $_POST["jmeno"]"; if ($_POST["nj"]) echo "hola $_POST["jmeno"]"; if ($_POST["fj"]) echo "salut $_POST["jmeno"]"; if ($_POST["sj"]) echo "hola $_POST["jmeno"]"; if ($_POST["ot"]) && $_POST["jj"] echo "bohuzial $_POST["jj"] neviem"; ?> Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in C:\dev\www\zpracuj.php on line 5 |
||
Raider Profil |
#13 · Zasláno: 4. 2. 2006, 16:27:00 · Upravil/a: Raider
K tej podienke. Ak nebolo zadané meno, tak vyhodí to "hej, to sa ani.." alebo, ak meno zadané bolo, tak vykoná sa to, čo sa nachádza v zátvorkach v else.
if ($_POST['jmeno'] == "") // ak nebolo meno zadané { exit("hej, to sa ani nevies predstavit"); } else // alebo, ak bolo zadané meno { } |
||
gaminn Profil * |
#14 · Zasláno: 4. 2. 2006, 16:28:59
Anonymní: S lítostí ti oznamuji, že jsi koupil pořádný šmejd. Ale popravdě - spíš se mi nechce věřit, ža mluvíš pravdu.
|
||
djlj Profil |
#15 · Zasláno: 4. 2. 2006, 16:29:43 · Upravil/a: djlj
Anonymní
Chybí ti tam závorky { a }. |
||
Anonymní Profil * |
#16 · Zasláno: 4. 2. 2006, 16:30:05
Raider
dik za ten tvoj skript som ho skusil a ten uz ide ale v tom mojom predchadzajucom su kde chyby pocuvaj ked budes v knihkupectve tak si tu knihu pozrx hej |
||
Anonymní Profil * |
#17 · Zasláno: 4. 2. 2006, 16:31:55
gaminn
vies co mne je celkom jedno ci sa ti chce mi verit . Ja som len nevedel kde je chyba v tej knihe je to tak ako som to napisal hej ale kasli na to |
||
Anonymní Profil * |
#18 · Zasláno: 4. 2. 2006, 16:34:13
Raider
hej dik ale mne je jasna podmienka a jej casti ako else ale neslo mi to tak som nevedel preco |
||
gaminn Profil * |
#19 · Zasláno: 4. 2. 2006, 16:35:02
Anonymní Jen jsem se ti snažil naznačit, že podle takový knížky se nic nenaučíš a budeš častěji na tomto fóru než byses něco nového naučil.
|
||
Raider Profil |
#20 · Zasláno: 4. 2. 2006, 16:36:40 · Upravil/a: Raider
Chyby si robil v tomto:
if ($_POST["aj"]) echo "hello $_POST["jmeno"]"; Je tam problém s úvodzovkami. Medzi úvodzovkami echo sú ďaľšie dve úvodzovky a to je problém. Pretože echo by akože vypísalo "hello $_POST[". Správne to je takto: if ($_POST["aj"]) echo "hello " . $_POST["jmeno"]; Potom táto podmienka ako som hovoril vyššie: if ($_POST['!jmeno']) exit("hej, to sa ani nevies predstavit"); Nemá zmysle. Znamená, že ak meno tak vyhoď hej, to sa ani nevies predstavit. Správne by malo byť if ($_POST['jmeno'] == "") // ak nebolo meno zadané { exit("hej, to sa ani nevies predstavit"); // vyhoď upozornenie } else // alebo, ak bolo zadané meno { nejaký kód // pokračuj v kóde } A potom ešte ti tam chýbajú zátvorky { } medzi if a else nižšie v kóde. |
||
Anonymní Profil * |
#21 · Zasláno: 4. 2. 2006, 16:37:04
Raider
hej ale nie je mi celkom jasna hrubo vyltacena cast if ($_POST['jmeno'] <b>==</b> "") // ak nebolo meno zadané { exit("hej, to sa ani nevies predstavit"); } else // alebo, ak bolo zadané meno { } preco su tam tie dve == |
||
Anonymní Profil * |
#22 · Zasláno: 4. 2. 2006, 16:38:42
gaminn
sorry ale mam s toho trochu nervy nepacilo sa mi ked si napisal ze si myslis ze v knihe je to zle ze somto napisal zle ja takze tak |
||
Raider Profil |
#23 · Zasláno: 4. 2. 2006, 16:39:25 · Upravil/a: Raider
To == znamená, že sa niečo rovná niečomu . Vtedy sa používajú dve ==.
Jedno = sa používa vtedy, keď chceš niečo do premennej vložiť. |
||
Anonymní Profil * |
#24 · Zasláno: 4. 2. 2006, 16:42:23
Raider
hej pokial viem == su operatory porovnanvanie ale neni mi jasne aky zmysel maj v tom zmysle kde su napisane ale dik si mi pomohol kua z akej knihy si sa ucil php |
||
Raider Profil |
#25 · Zasláno: 4. 2. 2006, 16:47:41 · Upravil/a: Raider
ale neni mi jasne aky zmysel maj v tom zmysle kde su napisane
No znamená to, že premenná jmeno $_POST['jmeno'] neobsahuje nič, preto není to "nič" medzi úvodzovkami "". Ak by si napríklad chcel, aby to "hej, to sa ani nevies predstavit" vyhodilo človeku menom Stano, tak by si provovnal či sa premenná $_POST['jmeno'] rovná Stano-vi. if ($_POST['jmeno'] == "Stano") Keď sa $_POST['jmeno'] nerovná ničomu, tak preto není nič medzi úvodzovkami "" -> "nič". To nič si odmysli a zostane iba "". (Snáď to bolo aspoň trochu zrozumiteľné čo som teraz napísal ;-)) |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0