Autor Zpráva
Jurasek
Profil
Vážení přátelé,

V PHP se vůbec nevyznám. Mám ale na své stránce hotový a funkční PHP formulář. S čím si nevím rady je, že po odeslání zprávy tam zůstane jen prázdná, bílá stránka s krátkou zprávou - jako by vůbec nepatřila do mého webu..... a jediná možnost, jak se vrátit zpět na web je "Zpět" v prohlížeči.

Dal by se tam třeba přidat HTML odkaz "Zpět", anebo to PHP zakomponovat do normální HTML stránky? (to jsem už trochu zkoušel a nefungovalo to). Anebo snad přesměrovat? Ale taky nevím jak.......

http://vanishingworldphotography.com/kontakt.html

PHP kód je tady:

<?php
$name=$_POST['name'];
$email=$_POST['email'];
$comment=$_POST['comment'];

$msg ="Name: $name Email: $email Comment: $comment\n\n";
$recipient = "muj.email@yahoo.com";
$subject = "Website Feedback";
mail($recipient, $subject, $msg, "From: muj.email@yahoo.com","-f muj.email@yahoo.com");
PRINT "Thank You - Your message has been sent.<br><br><br>Zpráva byla odeslána - děkuji.";
?>

Moc díky
Alphard
Profil
Přesměrování
$path = '';
header("location:http://".$_SERVER['SERVER_NAME'].$path."index.php", TRUE, 303);
T.Thomas
Profil *
Nebo jak jsi říkal to tlačítko "zpět". Stačí přidat tento řádek:
PRINT "<INPUT onclick=\"javascript:self.history.back();\" type=button value=\" Zpět \">";
Alphard
Profil
Já nemám tlačíto zpět rád, ale spousta lidí by bez něho byla ztracená. Tady v tom přídě ale vrátí uživatele zpět na formulář, možná ještě vyplněný, je i možnost, že ho uživatel odešle znovu.
Nejlepší řešení je podle mě přesměrovat na stránku, kde lze pokračovat v prohlížení webu a zobrazit hlášku, že byl mail odeslán.
Jurasek
Profil
Díky moc vám oběma,

Právě se to chystám zkusit a začnu s tím přesměrováním, to je přesně to, co bych chtěl, nicméně to tlačítko by taky stačilo, ale souhlasím s #4.

Jen se chci zeptat, jestli do toho $path mám mezi úvozovky dát relativní adresu nebo celou. A SERVER_NAME bude jméno mojeho serveru, že? A to celé (1. a 2. řádek) mám vložit kam přesně? Na úplný začátek nebo na konec?

Moc diky
Alphard
Profil
Na idnex.php v to přesměruje tak, jak to je, nemusíte nic upravovat. Dejte to za mail(), před print a doufám, že předním není jiný html výstup, ale bojím se, že celá půlka šablony.
Jurasek
Profil
Té poslední větě nerozumím. Zkusil jsem to přesměrování.... a nic, hlásí to chybu.

Tak jsem zkusil to tlačítko "Zpět", to funguje, ale v IE9 je problém s češtinou..... a navíc mám to vše jen v jedné větě a nepovedlo se mi to rozdělit na více řádků.

A taky, samozřejme - jak již bylo zmíněno, vrací to na vyplněný formulář...

Poradíte?
Alphard
Profil
Před přesměrováním nesmí být žádný výstup, je to napsané i v FAQ. Vy předpokládám nepoužíváte MVC ani nic podobného a prostě máte napsaný kód, kde ho potřebujete vypsat :-) V souboru s odesláním mailu ponechte pouze kód [#1] bez print následovaný [#2], vše ostatní smažte.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0