Autor | Zpráva | ||
---|---|---|---|
Vaskic Profil * |
#1 · Zasláno: 7. 4. 2005, 13:28:53
Rad bych aby se mne po odeslani formulare - 2 vstupni hodnoty pres input a jedno tlacitko, vykonala PHP fce. Bohuzel kdyz ji tam zapisi do action tak mne to porad hleda stranku s nazvem podle te funkce...
Mozna by to chtelo jinou metodu, ale nemuzu prijit na to jaky metody sou krome POST a GET. |
||
MVK Profil * |
#2 · Zasláno: 7. 4. 2005, 13:47:45
Do action patří stránka, kde se ten skript nachází. Např.:
<form enctype="multipart/form-data" action="main.php" method="post"> V tomto případě se skript nachází ve stránce main.php |
||
Vaskic Profil * |
#3 · Zasláno: 7. 4. 2005, 13:58:28
to jo, to chapu, ale ja prave nechci vykonavat skript v nejakym souboru, ja bych chtel jenom zavolat funkci...
|
||
Marty Profil |
#4 · Zasláno: 7. 4. 2005, 14:34:08 · Upravil/a: Marty
Vaskic
no tak si tu funkci nadeklaruj do main.php, a na tuto stránku odkaž přes action formuláře, potom můžeš provést přesměrování v main.php s pomocí header. Protože PHP se vykonává na serveru, tak asi nepůjde zavolat nějakou fci jako v js, bez toho, aby se stahovaly data ze serveru. |
||
habendorf Profil |
#5 · Zasláno: 7. 4. 2005, 15:26:55 · Upravil/a: habendorf
V PHP se moc nevyznám, ale nešlo by něco jako:
<?php if (isset($odeslat)): nějaká ta funkce; ?> <form action="<?php echo$PHP_SELF; ?>" method="post"> různé inputy <input type="submit" value="odeslat" name="odeslat" /> </form> Že by se to prostě zpracovalo v jedné stránce (pokud dobře chápu zadání). |
||
Marty Profil |
#6 · Zasláno: 7. 4. 2005, 15:35:40
habendorf
No to je taky řešení, je to prakticky stený jako to moje, až na to, že se ušetří soubor navíc. A možná bych to ještě poupravil na: <? if ($odeslat): nějaká ta funkce; endif; ?> jen tak pro dobrej pocit... |
||
Hugo Profil |
#7 · Zasláno: 7. 4. 2005, 15:38:48
Marty
A uplne nejlepsi bude <? if ($_POST['odeslat']) { nějaká ta funkce; } ?> |
||
habendorf Profil |
#8 · Zasláno: 7. 4. 2005, 15:45:54 · Upravil/a: habendorf
Marty, Hugo: jj, určitě máte oba pravdu, PHP se teprve začínám učit. Šlo mi hlavně o nasměrování Vaskice na to self-action.
|
||
Leo Profil |
#9 · Zasláno: 7. 4. 2005, 17:39:14
"to jo, to chapu, ale ja prave nechci vykonavat skript v nejakym souboru, ja bych chtel jenom zavolat funkci..."
Nejlepsi by bylo, kdybyste nastinil co to cele ma pak delat.. Leo |
||
Vaskic Profil * |
#10 · Zasláno: 7. 4. 2005, 17:47:56
no melo by to asi delat delat to, ze clovek zada login a heslo a po zmacknuti submitu se to odesle do databaze. No a tak nejak mne pri tom napadlo, ze bych si udelal jenom funkci. V podstate vim, ze to neni nutny a ze to jde udelat v jinym souboru, ale proste me jenom tak zajimolo jestli se da nejak volat formularem nejaka funkce.
Ale asi tady byla spravna poznamka, ze vlastne k uzivateli dorazi stranka uz bez PHPka, takze tezko muzu neco menit... Jinac zajimave namety - zkousim je, diky vsem..! |
||
Leo Profil |
#11 · Zasláno: 7. 4. 2005, 18:40:01
Odeslani formulare zpusobi pozadavek prohlizece na novou stranku, cilem formulare muze byt PHP skript, a v nem klidne muze byt jen jedna fce, ale ne fce samotna... A PHP generuje html kod, ktery se posle do prohlizece... Leo
|
||
Vaskic Profil * |
#12 · Zasláno: 7. 4. 2005, 19:12:58
ja jsem si totiz chtel zjednodusit jinou vec na kterou nemuzu prijit - kdyz tedy odeslu z toho formulare pozadavek na jinou stranku, tak to posle s parametrem kde jsou promenne z jednotlivych pouzitych inputu. Jenze ja bych potreboval jeste odeslat i promennou ktera ale neni z tohoto formulare a porad nevim jak ji predat na tu dalsi stranku...
|
||
Marty Profil |
#13 · Zasláno: 7. 4. 2005, 19:28:10 · Upravil/a: Marty
Vaskic
No tak pokud hodnotu té proměnné znáš už při načtení stránky s tím formulářem, tak bych ji předal jako parametr url adresy u form action. Ve výsledku by to vypadalo nějak takto: w*w*w.neco.cz?id=6 Bez těch hvězdiček samozřejmě. |
||
habendorf Profil |
#14 · Zasláno: 7. 4. 2005, 19:38:28
Jenze ja bych potreboval jeste odeslat i promennou ktera ale neni z tohoto formulare
Klidně ji do toho formuláře přidej jako hidden-input. |
||
Vaskic Profil * |
#15 · Zasláno: 7. 4. 2005, 19:44:23
nojo, ale kdyz to zapisu napr.
<?php echo "<form method=\"POST\" name=\"vytvor_ucet\" action=\"add_user.php?cnt=",$cnt,"\">"; ?> a pak odeslu formular tak se mne odesle jenom promenna cnt, ale uz prave ne promenne zadanne v tom formulari.... |
||
Vaskic Profil * |
#16 · Zasláno: 7. 4. 2005, 19:46:39
muzu se zeptat na deklaraci toho hidden-inputu?
|
||
Marty Profil |
#17 · Zasláno: 7. 4. 2005, 19:52:24 · Upravil/a: Marty
<input type="hidden" name="jmeno" value="promenna">
No tu proměnnou u toho způsobu jak jsem navrhoval já musíš znát při natáhování stránky s tím formulářem, aby si ji mohl natvrdo vypsat echem. |
||
habendorf Profil |
#18 · Zasláno: 7. 4. 2005, 19:53:10
<input type="hidden" name="predavanapromenna" value="jeji-hodnota">
Třeba. Name a value si samozřejmě uprav jak potřebuješ. |
||
Vaskic Profil * |
#19 · Zasláno: 7. 4. 2005, 20:03:23
jj diky uz to funguje
|
||
Časová prodleva: 20 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0