Autor | Zpráva | ||
---|---|---|---|
rhintin Profil |
#1 · Zasláno: 7. 2. 2009, 13:39:15 · Upravil/a: rhintin
zdravim už dva dny mám problém s odesíláním formuláře potřebuju po jeho odeslaní a splnění podmínek přesměrovat na jinou stránku pomoci fce header pokud nebudou splněny vypíše se chybová hláška ale pořád se mi to nedaří bud mi funguje po odeslání přesměrovaní a nefungujou chybový hlašky nebo naopak a ta jenom na localhostu na hostingu mam problem s výstupem před header zkoušel jsem kuli tomu přepsat skoro celej script ale nějak to pořád nejde:( poradíte mi prosim
ZDE je kod php: <?php if (isset($_POST['odeslat'])) { if (strlen($_POST['email']) > 0) { $email = TRUE; } else { $email = FALSE; $zprava .= '<p>Zapoměli jste zadat vaš E-mail!</p>'; } if (is_numeric($_POST['velikost_banneru']) > 0) { $velikost_banneru = TRUE; } else { $velikost_banneru = FALSE; $zprava .= '<p>Potřebujeme znát přesné rozměry vašeho banneru!</p>'; } if (is_numeric($_POST['ico']) > 0) { $ico = TRUE; } else { $ico = FALSE; $zprava .= '<p>Nezadali jste vaše ičo!</p>'; } if (is_numeric($_POST['robot']) > 0) { $robot = TRUE; } else { $robot = FALSE; $zprava .= '<p>Zapoměli jste vyplnit kontrolní otázku!</p>'; } if (mail("muj@email.cz", "Odesilatel ".$_POST['email']."", "Email2: ".$_POST['email_t']."\ncenova_skupina: ".$_POST['cenova_skupina']."\nformat_banneru:".$_POST['format_banneru']."\nEmail: ".$_POST['email']."\nvelikost_banneru: ".$_POST['velikost_banneru']."\nweb_firmy: ".$_POST['web_firmy']."\nTermin dodani banneru: ".$_POST['termin']."\nNazev a adresa firmy: ".$_POST['nazev_adresa_firmy']."\nico: ".$_POST['ico']."\ndic: ".$_POST['dic']."\nrobot: ".$_POST['robot']."\npoznamky: ".$_POST['poznamky']." \n")) { header("Location:odeslano.php"); } else if (isset($zprava)) { echo '<font color="red">', $zprava, '</font>'; } } ?> |
||
AM_ Profil |
#2 · Zasláno: 7. 2. 2009, 14:02:40
1) když chceš pomoct nauč se používat interpunkci
2) co znamená problém s výstupem před header? před header žádný výstup být nemůže |
||
rhintin Profil |
#3 · Zasláno: 7. 2. 2009, 15:05:12
prostě se mi ted nedaří aby se vypsala zprava když nejsou podmínky splněny vždycky se to rovnou odešle a přesměruje.
|
||
AM_ Profil |
#4 · Zasláno: 7. 2. 2009, 15:13:39 · Upravil/a: AM_
Nemuzes psat vystup a pak posilat headery, headery musi jit prvni, pokud chces uzivateli neco vypsat a presmerovat az treba za 5 vterin, musis presmerovavat pres <meta http-equiv="refresh" content="5;url=cil" /> pricemz 5 je timeout v sekundach. Chvalim tecku na konci textu, cestina ma jeste carky ve vete.
//EDIT: tenhle refresh můžeš si myslím taky poslat přes header("refresh: 5;url=cil"); nikdy jsem to nezkoušel, ale http-equiv by měly být meta tagy ekvivalentní http headerům. Stejně to takhle ale musíš odpálit před jakýmkoli výstupem. |
||
rhintin Profil |
#5 · Zasláno: 7. 2. 2009, 17:03:37
chápu mě už to přesměrování funguje tim že jsem echo s chybovou hláškou přesunul pod header, ale asi tam mám někde chybu a i když do formuláře nic nevyplnim a odešlu ho tak se to rovnou přesměruje místo aby to vypsalo chybovou hláškou $zprava .
|
||
AM_ Profil |
#6 · Zasláno: 7. 2. 2009, 18:26:43
Vždyť to povídám... na tohle musíš použít přesměrování s prodlevou... přes hlavičku location se přesměrovává hned a je jedno jestli máš nějaký výstup
|
||
rhintin Profil |
#7 · Zasláno: 8. 2. 2009, 23:12:58
blbost, mě už to funguje
|
||
Časová prodleva: 15 let
|
0