Autor | Zpráva | ||
---|---|---|---|
Travis Profil * |
#1 · Zasláno: 1. 11. 2007, 09:28:33
Ahoj. V PHP jsem naprostá lama.
Máme formulář, který pošle data na určitý email. K tomu používám dva soubory: formular-k-vyplneni.php formular-hotovo.php První se vyplní a druhý odešle data + napíše hotovo. Jenže já ten formulář mám na hodně stránkách a nechci ty stranky stale kopirovat, jak se tohle da v PHP vyresit? Dekuji mockrat za odpoved! Travis |
||
tajny spion Profil |
#2 · Zasláno: 1. 11. 2007, 10:30:00
Funkce include, jestli jsem spravne pochopil. Hledej na internetu - je to i na JPW
|
||
souki Profil |
#3 · Zasláno: 1. 11. 2007, 10:58:18
tajny spion
Není náhodou include spíš direktiva? |
||
Mike8748 Profil |
#4 · Zasláno: 1. 11. 2007, 11:13:06
souki
a nebude spis nahodou include jazykovy konstrukt? |
||
shaggy Profil |
#5 · Zasláno: 1. 11. 2007, 13:21:35
souki, Mike8748
A nie je to k**** jedno? Zbytočne tu píšete sprostosti a zavádzate tak človeka, čo o tom nič nevie. Už sa to tu písalo viackrát, include máš aj na jakpsatweb |
||
DoubleThink Profil * |
#6 · Zasláno: 1. 11. 2007, 13:48:01
A nie je to k**** jedno?
Ani ne, ale je fakt, že Travisovi to asi bude úplně šumák... |
||
souki Profil |
#7 · Zasláno: 1. 11. 2007, 14:02:47
A jak to teda je? :o)
|
||
Mike8748 Profil |
#8 · Zasláno: 1. 11. 2007, 14:12:47
>> A jak to teda je? :o)
asi takhle Travis: potrebujes pouzit include, tim se stranka s formularem vlozi tam kam potrebujes. vkladana stranka bude samostatny html kod toho formulare, zadny HTML hlavicky a podobny veci include: je jazykovy konstrukt, stejne tak jako require. (viz manual) |
||
Travis Profil * |
#9 · Zasláno: 1. 11. 2007, 14:46:50
Aha aha, Include znám, ale používal jsem ho jenom pro hlavičku nebo menu. Ach ne, proč mě to jen nenapadlo.
Díky všem co pomohli |
||
Travis Profil * |
#10 · Zasláno: 1. 11. 2007, 16:40:38
No dobrá, nevím, jak to použít.
Odešlu formulář ze stránky blablabla.php na stránku takhle: <form action="formular-k-vyplneni.php " method="post"> Jak zajistím, že se formulář vrátí na stránku blablabla.php? Můžu to poslat na tu samou stránku? Nějaký krátky přiklad by pomohl. |
||
Str4wberry Profil |
#11 · Zasláno: 1. 11. 2007, 16:43:28
Travisi
Na to slouží funkce header(). |
||
sh00ter Profil |
#12 · Zasláno: 1. 11. 2007, 16:44:29
dej tam
echo "<meta http-equiv='refresh' content='5; URL=".$_SERVER['HTTP_REFERER'].">"; misto ty petky muzes dat cas v sekundach pokud nefunguje dej tam http_referer |
||
sh00ter Profil |
#13 · Zasláno: 1. 11. 2007, 16:45:34
Na to slouží funkce header().
s tim by byl ten problem ze by nemoh vypisovat to hotovo...pokud je v tom souboru kde by byl ten header |
||
Str4wberry Profil |
#14 · Zasláno: 1. 11. 2007, 16:49:26
sh00tře
„pokud nefunguje dej tam http_referer“ Na ten se nedá moc spoléhat. „s tim by byl ten problem ze by nemoh vypisovat to hotovo...pokud je v tom souboru kde by byl ten header“ Proč by nemohl? Na to jsi přišel jak? |
||
sh00ter Profil |
#15 · Zasláno: 1. 11. 2007, 19:12:08
tak pokud vim tak header se musi odesilat pred jakymkoliv vystupem, nemam teda zkusenosti s ob_start
|
||
Str4wberry Profil |
#16 · Zasláno: 1. 11. 2007, 19:20:01
sh00ter
„tak pokud vim tak header se musi odesilat pred jakymkoliv vystupem, nemam teda zkusenosti s ob_start“ To je samozřejmě pravda; opak netvrdím. |
||
Alphard Profil |
#17 · Zasláno: 1. 11. 2007, 19:24:10
ob_start() by byl k ničemu, při přesměrování by byl výstup stejně ztracen
spíše bych se vzdal hlášky hotovo na té stránce s odesláním, přesměroval bych na hlavní stránku (jestliže jste právě něco odeslali, pravděpodobně nebudete hned chtít odesílat něco dalšího) a na ní vypsal oznámení, třeba takto: if (isset ($_GET['mail']) and $_GET['mail'] == 'odeslano') echo "<p>Email byl úspěšně odeslán, <a href="...">poslat další</a></p> |
||
Str4wberry Profil |
#18 · Zasláno: 1. 11. 2007, 19:30:06
Alpharde
Také řešení. Osobně bych si spíše přidal parametr do přesměrované adresy a podle něj se řídil při (ne)zobrazování formuláře/„Hotovo“. |
||
Alphard Profil |
#19 · Zasláno: 1. 11. 2007, 19:41:19
zobrazení formuláře / hotovo bych rozhodl ihned po odeslání mailu z návratové hodnoty (nebo dříve z kontroly vstupu)
když nastane chyba: přesměruje se zpět na formulář když bude vše OK: přesměruje se na hlavní stránku (viz minulý příspěvek) |
||
Str4wberry Profil |
#20 · Zasláno: 1. 11. 2007, 19:51:57
Alpharde
Tak to myslíme asi oba skoro to samé. S tím rozdílem, že já bych všechno „vracel“ s příslušným parametrem v adrese na stránku s formulářem („formular-k-vyplneni.php“), která by rozhodovala (určovala by, jestli se zobrazí chyba, potvrzení nebo prostě jen formulář…). |
||
Alphard Profil |
#21 · Zasláno: 1. 11. 2007, 19:59:40
Tak to myslíme asi oba skoro to samé.
v podstatě ano, nemá smysl tento chat prodlužovat, ať se Travis rozhodne |
||
Časová prodleva: 16 let
|
0