ugrás a tartalomhoz

Egyszerű kérdés PHP/HTML

LolkaBolka · 2008. Már. 20. (Cs), 10.24
Sziasztok!

Kezdő vagyok még, ezért nem is igazán használom a PHP-t, de most muszáj.
Amit sikerült megvalósítanom az az, hogy tovább tudom küldeni egy contact.php segítségével a html oldalban kitöltött formot a küldés gombra kattintva a megadott email címre, azonban a contact php.ban megadott, pl. ok.html .re való irányítás, miután valaki sikeresen kitöltötte a formot, nem működik :S
A levél, illetve form megérkezik a címre, de az átirányítás nem müködik...nektek ez biztosan semmiség, azonban nekem fontos lenne! Kérlek segítsetek!
A contact.php tartalma a következő:
 
$EmailTo = "sajat##kukac##emailcimem.hu";
$Subject = "Információkérő e-mail";
$Nev = Trim(stripslashes($_POST['name'])); 
$Email = Trim(stripslashes($_POST['email']));
$Szoveg = Trim(stripslashes($_POST['message']));

// prepare email body text
$Body = "";
$Body .= "Név: ";
$Body .= $Nev;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Üzenet szövege: ";
$Body .= $Szoveg;
$Body .= "\n";

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page 
if ($success){
  print "<meta http-equiv=\"refresh\" content=\&quot;0;URL=ok.html/&quot;>";
}
else{
  print "<meta http-equiv=\"refresh\" content=\&quot;0;URL=error.html/&quot;>";
}
Előre is köszi! LB
 
1

header()

s_volenszki · 2008. Már. 20. (Cs), 10.44
2

Bővebben

zila · 2008. Már. 20. (Cs), 11.00
header("Location: ok.html");
exit();
3

ez így csak BODY tartalom

Gixx · 2008. Már. 20. (Cs), 12.02
amit az előttem levők szűkszavúan közölni akartak, az az, hogy php-ból átírányítni a header() függvénnyel lehet (persze mindenféle output kiírása előtt, print, echo, die, var_dump stb).

A te módszereddel az a baj, hogy ha csak simán ennyi a contact.php, akkor az outputra csak a <meta> fog kerülni, amit a quirks mód miatt a böngészők a <body> tartalmaként próbálnak értelmezni, ami meg nem fog menni.

A te módszereddel (ha ahhoz ragaszkodsz), a következőt kell megadni:

print '<html>
<head><meta http-equiv="refresh" content="0;URL=ok.html" /></head>
<body>Loading...</body>
</html>';
Ezt csak azért, hogy megértsd, mi a hiba a te verziódban :) De én is inkább a header-t javaslom.
4

vagy javascript beszúrással

griphons · 2008. Már. 20. (Cs), 12.24
pölö így:

  print "<script>self.location=\"ok.html\";</script>";
a lehetőségek száma szinte végtelen ;)
5

Köszönöm Gixx!

LolkaBolka · 2008. Már. 20. (Cs), 13.11
Hibátlanul működik :)
6

js

bsh · 2008. Már. 20. (Cs), 19.20
echo ("<script type=\"text/javascript\">window.location=('ok.html');</script>");
7

Kiegészítő kérdés

simkob · 2008. Május. 16. (P), 19.54
Nekem is lenne egy hasonló problémám.
Ugyanígy működik nekem is egy php file és a végén szintén egy visszaigazolás kellene betöltenie.
Nekem annyiban kellene másképp működnie, hogy a visszaigazolást (ami egy html file) nem új ablakban töltse be, hanem egy iframe-be, amiben maga a form is van. Lehetséges ez? Milyen átalakítást kellene alkalmaznom?
8

target

zila · 2008. Május. 17. (Szo), 08.44
A html-ben az űrlapnak adj egy target attribútumot. Így valahogy:
<form action="akarmi.php" method="POST" target="iframe_neve">
...
</form>
<iframe name="iframe_neve" ...>