Autor Zpráva
Vaskic
Profil *
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 *
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 *
to jo, to chapu, ale ja prave nechci vykonavat skript v nejakym souboru, ja bych chtel jenom zavolat funkci...
Marty
Profil
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
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
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
Marty

A uplne nejlepsi bude
<?
if ($_POST['odeslat'])
{
nějaká ta funkce;
}
?>
habendorf
Profil
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
"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 *
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
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 *
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
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
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 *
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 *
muzu se zeptat na deklaraci toho hidden-inputu?
Marty
Profil
<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
<input type="hidden" name="predavanapromenna" value="jeji-hodnota">

Třeba. Name a value si samozřejmě uprav jak potřebuješ.
Vaskic
Profil *
jj diky uz to funguje
Toto téma je uzamčeno. Odpověď nelze zaslat.

0