| Autor | Zpráva | ||
|---|---|---|---|
| Suta Profil |
#1 · Zasláno: 22. 9. 2005, 20:43:07
Ahoj. Níže je stránka, která kontroluje, zda jsou při pokusu o odeslání formuláře vyplněny povinné údaje. Pokud ne, vypíše text s upozorněním a formulář zobrazí znovu (s již dříve uživatelem vypsanými údaji).
Problém však je v tomto: - formulář nemá nastaveno cestu <form action="xxx.php">,. pouze <form method="POST"> - skript tak vždy volá sám sebe. - jsou-li údaje vyplněny správně, pokračuje se zde (v kódu): echo "<h1>Díky Aladine, příspěvek odeslán!</h1>"; - a zde na tomto místě bych potřeboval, aby byly údaje z formuláře (proměnné) odeslány na soubor "zpracovani_dat.php". Jak to udělat ? <html> |
||
| Dero Profil |
#2 · Zasláno: 22. 9. 2005, 20:44:49
php funkce include()?
|
||
| Suta Profil |
#3 · Zasláno: 22. 9. 2005, 21:19:29
Kde ?
|
||
| Dero Profil |
#4 · Zasláno: 22. 9. 2005, 21:23:10
http://us2.php.net/include/ - do zdrojáku začlenit po oné hlášce.
|
||
| Suta Profil |
#5 · Zasláno: 22. 9. 2005, 21:35:26 · Upravil/a: Suta
Příkazu rozumím, ale jedná se o hodnoty proměnných, které se při odesílání formuláře odesílají na daný soubor .php a ten pak hodnoty proměnných (to co vyplnil uživatel) posílá do databáze.
Pomocí include přece neodešlu data, pouze načtu (v mém případě tedy nemůžu načíst v tom souboru zpracovani_dat.php do proměnných hodnoty proměnných z jiného souboru ... to dělá formulář odeslaný na jiný soubor...) - proto jsem opět zpátky u původního dotazu, jak odeslat formulář (v místě kódu, kdy jsou vyplněny všechny povinné údaje) |
||
| Dero Profil |
#6 · Zasláno: 22. 9. 2005, 21:37:24
Ne, to je omyl. Ten příkaz vloží obsah souboru na dané místo. Tažke všechny lokální proměnné by mu měly být přístupné.
|
||
| Suta Profil |
#7 · Zasláno: 22. 9. 2005, 21:38:44 · Upravil/a: Suta
A když nechci vložit celý soubor, ale jen obsah proměnných.. ? Jde to ? Jak ?
A navíc... stejně je potřebuji odeslat a né načíst... protože pokud formulář zůstane neodeslán a nebude spuštěna ona stránka zpracovani_dat.php (uživatel zavře okno), tak si ta stránka ty proměnné sama nenačte a neodešle do databáze... |
||
| Suta Profil |
#8 · Zasláno: 22. 9. 2005, 21:42:40 · Upravil/a: Suta
... (jen pro zasmání) ... chybí mi na tomto webu možnost mazat omylem poslané komentáře ... (jako je tento, teď již s jiným textem, aby tady nebylo to samé, jako ve zprávě těsně nad :)
|
||
| habendorf Profil |
#9 · Zasláno: 22. 9. 2005, 21:43:59
Možná špatně chápu problém, ale především to chce doplnit tu action, ne?
|
||
| Suta Profil |
#10 · Zasláno: 22. 9. 2005, 21:46:17
Když doplním action, tak se data odešlou v každé situaci - a já zkrátka nevím, jak pak ošetřit, aby se formulář odeslal jen když jsou splněny podmínky (vyplněny povinné údaje)
|
||
| habendorf Profil |
#11 · Zasláno: 22. 9. 2005, 21:51:46 · Upravil/a: habendorf
Suta: Máš chybu v celé logice, jdeš na to od základu blbě. Pokusím se vysvětlit:
1) Pokud chceš data otestovat před odesláním, čili na klientovi, musíš použít klientský skript (třeba JS) 2) Pokud chceš data testovat pomocí php, tak si uvědom, že php běží na serveru - čili je MUSÍŠ na server odeslat v každém případě. Z toho jasně vyplývají dvě možnosti řešení: 1) Povolit odeslání jen správných dat - řešit pomocí JS, nebo 2) Odeslat vždy natvrdo, na serveru vyhodnotit a buď data zpracovat (pokud jsou v pořádku), nebo vrátit stránku s formulářem k dovyplnění. Jasné? |
||
| Suta Profil |
#12 · Zasláno: 22. 9. 2005, 22:03:16
Chápu, musím si to ujasnit a prozkoušet, dík. Pak se kdyžtak ozvu.
|
||
|
Časová prodleva: 21 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0