Autor | Zpráva | ||
---|---|---|---|
dragon124 Profil |
Dobrý den,
Chtěl bych udělat dotazník. Jeho kod je zde: <html> <? session_start(); ?> <style> body { background-image: "background.jpg"; background-color: black; /* případná barva pozadí černá */ color: white; } /* bílý text */ </style> <head> </head> <body> <div> </div> <div style="display: table; height: 100%; #position: relative; overflow: hidden; margin: auto; width: 300px;"> <div style=" _position: absolute; #top: 50%;display: table-cell; vertical-align: middle; margin: auto; width: 300px;"> <div style=" #position: relative; #top: -50%; margin: auto; width: 300px;"> <? $_SESSION["otazka"]; $_SESSION["vek"]; $otazka = 1; $vek = 75; while(true){ switch($otazka) { case 1: echo ' <form> <input type="radio" name="radio" value="2">1a<br> <input type="radio" name="radio" value="0">1b<br> <input type="radio" name="radio" value="-1">1c<br> <input type="radio" name="radio" value="-2">1d<br> <input type="image" src="next.png"> </form>'; if(isset($_get['radio'])){ $vek += $_get['radio']; $otazka++; } break; case 2: echo ' <form> <input type="radio" name="radio" value="2">2a<br> <input type="radio" name="radio" value="0">2b<br> <input type="radio" name="radio" value="-1">2c<br> <input type="radio" name="radio" value="-2">2d<br> <input type="image" src="next.png""> </form>'; if(isset($_get['radio'])){ $vek += $_get['radio']; $otazka++; } break; } } ?> </div> </div> </div> </body> </html> </html> Předem děkuji za všechny odpovědi |
||
Rellik Profil |
#2 · Zasláno: 24. 10. 2012, 16:54:41
Funkce session_register() se už nepoužívá. A z nového PHP 5.4 je dokonce odstraněna a proto ti to možná nefunguje...
|
||
dragon124 Profil |
Tak to jsem již udělal, ale funguje to úplně stejně.
|
||
mimochodec Profil |
#4 · Zasláno: 24. 10. 2012, 17:18:12
dragon124:
„aha, a jak mam teda tu sesion zaregistrovat?“ Na http://cz1.php.net/function.session_start jsou příklady. |
||
dragon124 Profil |
#5 · Zasláno: 25. 10. 2012, 15:40:16
To jsem již udělal, ale nedělá to vůbec nic
|
||
abc Profil |
#6 · Zasláno: 25. 10. 2012, 16:18:48
Řekl bych, že while(true) {... Určitě způsobuje dost problémů
|
||
dragon124 Profil |
Dyt to má bejt nekonečná smyčka... zkrátka se při dalšim vykonání vždy posune o jednu otázku dále a po otázce poslední to zobrazí výsledky a už se to v té smyčce nebude posouvat...
když s ním dělám cokoliv, tak dokud tam ten cyklus je, ak to nedělá nic a pokud tam neni, tak zůstanu na první otázce. Už mě napadá jediný způsob jak to vyřešit (i když není moc hezký) a to je s pomocí fnkce goto. |
||
mimochodec Profil |
#8 · Zasláno: 26. 10. 2012, 14:28:22
dragon124:
„Dyt to má bejt nekonečná smyčka... zkrátka se při dalšim vykonání vždy posune o jednu otázku dále a po otázce poslední to zobrazí výsledky a už se to v té smyčce nebude posouvat...“ Tak nekonečná nebo konečná? Špatným způsobem používáš nejen session. Nikde nepředáváš hodnotu pro proměnnou $otazka. Obrázek se šipkou nahraď submitem ( Formuláře v HTML) a nějakým způsobem (třeba pomocí input type="hidden") předej číslo kroku (příklad je na stejné stránce). |
||
dragon124 Profil |
#9 · Zasláno: 26. 10. 2012, 19:29:57
a proč nemam používat session?jaký nesou nevýhody?
|
||
Amunak Profil |
dragon124:
„Dyt to má bejt nekonečná smyčka... zkrátka se při dalšim vykonání vždy posune o jednu otázku dále a po otázce poslední to zobrazí výsledky a už se to v té smyčce nebude posouvat...“ Takhle php nefunguje. To co je v [#1] nebude fungovat, protože 1) tam máš nekonečnou smyčku která se nikdy neukončí (resp. až když dojde skriptu čas nebo paměť) a je to nehorázná prasárna 2) používáš krátký otevírací tag, což bych nedoporučoval 3) máš tam divnou logiku toho skriptu (doteď nevím co to vlastně má dělat - jde jen o "stránkování" otázek?) 4) je to celé zprasené (mícháš dohromady layout s php takovým dost ošklivým způsobem) |
||
Časová prodleva: 11 let
|
0