Autor | Zpráva | ||
---|---|---|---|
zacatecnik Profil * |
#1 · Zasláno: 31. 12. 2011, 15:38:58 · Upravil/a: Moderátor (editace znemožněna) 31. 12. 2011, 19:29:37
Dobrý den mám dotaz jak se dají na www stránkách vytvořit funkce jako např. v Excelu nebo tak? Jakože třeba do jednoho textového pole napíšu jedničku, do druhého pětku a vypočte mě to číslo 6
Moderátor Davex: Nepoužívej prosím tučné písmo v celém příspěvku.
|
||
Darkry Profil |
#2 · Zasláno: 31. 12. 2011, 15:45:40
Doporučuji nastudovat něco o funkcích. V php několik základních matematických operací zastupují znaménka (+*-/), dalších spousty má svojí funkci (cos(), sin(), tan()) a zbytek si můžete definovat:
function funkce($parametr) { return .........; } Co se týče těch políček tak jednoduše vytvořit formulář a pak si načteš odeslané hodnoty: $result = $_GET["policko1"] + $_GET["policko2"]; Pokud chceš výsledek ihned bez odesílání musíš použít JavaScript. |
||
Časová prodleva: 3 dny
|
|||
zacatecnik Profil * |
#3 · Zasláno: 3. 1. 2012, 18:46:04
Zkoušel jsem ledacos ale pořád se mi neobjevoval výsledek. Mohl by mi někdo prosím říct celý kód? Mám na mysli kód, který by zahrnoval 2 textová pole, jejichž součet by mi vyšel po stisknutí tlačítka Odeslat?
|
||
panther Profil |
#4 · Zasláno: 3. 1. 2012, 19:29:42
zacatecnik:
„Zkoušel jsem ledacos ale pořád se mi neobjevoval výsledek. Mohl by mi někdo prosím říct celý kód?“ co kdybychom to udělali obráceně a ukázal nám, cos vytvořil ty a nfungovalo? Nějak to opravíme. |
||
SeparateSK Profil |
#5 · Zasláno: 3. 1. 2012, 19:44:26 · Upravil/a: SeparateSK
Skus toto :
<form> <input name="p1"> + <input name="p2"> = <?php $sucet=$_GET[p1]+$_GET[p2]; //scitame p1 a p2 (p=policko) echo $sucet; //a vypiseme sucet tychto dvoch cisel ?><br> <input type="submit" value="Vypocitaj"> </form> |
||
zacatecnik Profil * |
#6 · Zasláno: 4. 1. 2012, 18:24:22
panther:
co kdybychom to udělali obráceně a ukázal nám, cos vytvořil ty a nfungovalo? Nějak to opravíme. Vytvořil jsem formulář, který mi tady napověděl SeparateSK, který se mi sice zobrazil, ale když jsem zadal čísla a zmáčknul jsem Vypocitaj, objevilo se mi: Stránka nenalezena. Nevím jestli to není tím, že jsem to dělal pomocí webgenerátoru websnadno.cz, a ne pomocí obyčejného html editoru. |
||
SeparateSK Profil |
#7 · Zasláno: 4. 1. 2012, 19:15:58 · Upravil/a: SeparateSK
nechapem ako ti to mohlo vyhodit 404 error - stranka nenalezena (script odkazoval sam na seba)
skus <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get"> <!- tento formular 100% odkazuje sam na seba--> <input name="p1"> + <input name="p2"> = <?php $sucet=$_GET[p1]+$_GET[p2]; //scitame p1 a p2 (p=policko) echo $sucet; //a vypiseme sucet tychto dvoch cisel ?><br> <input type="submit" value="Vypocitaj"> </form> |
||
zacatecnik Profil * |
#8 · Zasláno: 4. 1. 2012, 19:21:18
Po stisknutí tlačítka se mi načetla adresa nejakastranka.websnadno/<?p1=&p2= (opět error 404)
Když jsem z adresy umazal < , načetla se mi hlavní stránka mých webových stránek (ale nikoli ta, na kterou jsem umístil formulář), ovšem ani tady jsem nenašel výpočet. Zkusím tenhle kód zadat v nějakém jiném editoru, třeba to bude fungovat. |
||
SeparateSK Profil |
#9 · Zasláno: 4. 1. 2012, 19:45:41 · Upravil/a: SeparateSK
ja som to skusil a fungovalo to takto
nacital som stranku s formularom (index.php) zadal som 2 cisla, klikol na Vypocitaj Potom som sa ocitol na stranke index.php?p1=1&p2=2 Vypisalo to ze vysledok je 3 (1+2) A v tvojom odkaze /<?p1=&p2= je vidno ,ze si nezadal hodnoty pre p1 a p2 (pretoze ?p1= a &p2= ) tak jasne ze vysledok bol "" (nic) skus napr /?p1=1&p2=2 (1+2) |
||
panther Profil |
#10 · Zasláno: 4. 1. 2012, 19:49:06
zacatecnik:
Umí websnadno pracovat s PHP? Máš možnost tvořit tam a pracovat s formuláři? Tu služnu neznám, ale začni pátrat tam. |
||
zacatecnik Profil * |
#11 · Zasláno: 5. 1. 2012, 19:57:54
[img]file:///home/host/Plocha/Sn%C3%ADmek%20obrazovky-31.png[/img]
[img]file:///home/host/Plocha/Sn%C3%ADmek%20obrazovky-33.png[/img] Zkoušel jsem to v online html editorech, v jednom sice stránka odkázala sama na sebe, ale výsledek nikde. Když jsem to zkoušel v real-time html editoru, opět error. Jsem holt ztracený případ :( |
||
jenikkozak Profil |
#12 · Zasláno: 5. 1. 2012, 20:08:36 · Upravil/a: jenikkozak
zacatecnik:
Aby ti PHP skripty fungovaly, potřebuješ hosting, který PHP podporuje. Websnadno má uvedeno, že „nepodporujeme PHP“, což znamená, že se ty příkazy neprovedou a odešlou se prohlížeči stále v té formě, kterou při psaní kódu uvedeš. Musíš si najít hosting, který PHP podporuje, a nebo si tuhle kalkulačku můžeš vytvořit v Javascriptu (pokud nepotřebuješ, aby ti spočítaná data někam ukládala). |
||
Joker Profil |
#13 · Zasláno: 5. 1. 2012, 20:10:45
zacatecnik:
Mně se zdá, že Websnadno vůbec PHP nepodporuje. Obrázky uložené na ploše nějakého počítače si tady neprohlédneme, je potřeba je kdyžtak nahrát někam na web. Jinak i když stránka PHP neumí, šly by matematické funkce udělat Javascriptem. Například zde je ukázka kódu pro sčítání. |
||
zacatecnik Profil * |
#14 · Zasláno: 5. 1. 2012, 20:15:52
Díky, konečně rada :)
|
||
Časová prodleva: 14 dní
|
|||
zacatecnik Profil * |
#15 · Zasláno: 19. 1. 2012, 16:41:08
A mám prosím ještě jeden dotaz. Když zadám do jednoho textového pole 6 a do druhého 9, jak můžu docílit toho, aby se mi sečetla všechna čísla od 6 do 9 (6+7+8+9)?
|
||
Joker Profil |
#16 · Zasláno: 19. 1. 2012, 17:27:36
zacatecnik:
„Když zadám do jednoho textového pole 6 a do druhého 9, jak můžu docílit toho, aby se mi sečetla všechna čísla od 6 do 9 (6+7+8+9)?“ Samozřejmě. Jedna možnost je použít sčítání a cyklus. Druhá je použít vzorec pro součet posloupnosti: Součet všech přirozených čísel odněkud někam (od a do b) je součet toho nejmenšího a největšího (a + b) krát polovina toho, kolik těch čísel je ((b - a) / 2) Druhá možnost mimochodem vyplývá z oné slavné historky, jak malý Gauss měl ve škole za úkol sečíst čísla od 1 do 100. |
||
abc Profil |
#17 · Zasláno: 19. 1. 2012, 18:39:21
Joker:
Pardon, že do toho zasauhuju, ale ten vzoreček mi nějak nefunguje 6+7+8+9=30 (6+9)*((9-6)/2)=22,5 Dospěl jsem k tomu, že počet čísel se počítá jinak: ((b-a+1)/2) |
||
Joker Profil |
abc:
Moje chyba, popis kolik těch čísel je je správný (prostě 6+7+8+9 jsou 4 čísla), akorát to není b-a, ale b-a+1. Předchozí příspěvek byl mezitím upraven, takže: Ano, přesně tak. |
||
zacatecnik Profil * |
#19 · Zasláno: 20. 1. 2012, 18:12:05
Skvělá rada a šlo by to udělat také tak že bych všechna čísla od 6 do 9 umocnil na 2,5 a teprve potom sečetl mocniny?
(88+129+181+243=641) |
||
abc Profil |
zacatecnik:
ano, cyklusem for() něco jako:
$a=6; $b=9; $vysledek = 0; for ($i=$a;$i<=$b;$i++){ $vysledek += pow($i,2.5); } echo $vysledek; a dokonce to i funguje :-) |
||
zacatecnik Profil * |
#21 · Zasláno: 22. 1. 2012, 16:58:37
A javaskriptu by to nešlo? Já pracuji s formulářem, který mi poradil Joker a tohle se mi moc nehodí....
|
||
Alphard Profil |
#22 · Zasláno: 22. 1. 2012, 17:14:46
zacatecnik:
Šlo, zkusil jste něco? Ekvivalentní metoda pro PHP funkci pow() je v js Math.pow(x,y). For cyklus tam taky funguje. |
||
zacatecnik Profil * |
#23 · Zasláno: 22. 1. 2012, 18:00:41
zkusil, ale pořád to píše syntax error, někdy syntax error on line 31, jindy syntax error on line 51...
|
||
abc Profil |
#24 · Zasláno: 22. 1. 2012, 18:08:32
zacatecnik:
Místo požadavků na hotové řešení raději pošli svůj kód a chyby a my ti poradíme, co je špatně |
||
zacatecnik Profil * |
#25 · Zasláno: 22. 1. 2012, 18:19:04
Už to funguje, šlo o špatně napsanou závorku
Nejdřív jsem napsal <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1250' /> </head> <body> <?php $a=6; $b=9; $vysledek = 0; for ($i=$a;$i<=$b;$i++){ $vysledek += pow($i,2.5); } echo $vysledek; } ?> </body> </html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1250' /> </head> <body> <?php $a=6; $b=9; $vysledek = 0; for ($i=$a;$i<=$b;$i++){ $vysledek += pow($i,2.5); echo $vysledek; } ?> </body> </html> |
||
abc Profil |
#26 · Zasláno: 22. 1. 2012, 18:24:39
zacatecnik:
To jsi samozřejmě upravil špatně. To echo $vyledek; nemá být v cyklu for, ale až po něm. Když je v cyklu for, tak v každém cyklu vypíše výsledek... Správný výsledek je 641.84278096612
|
||
Časová prodleva: 11 let
|
0