Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Uudelleenohjaus lomakkeelta

pale [28.04.2005 17:09:46]

#

Tällainen on vaivannut muitakin: Jos headerit on lähetetty, ei palautelomakkeen lähettämisen jälkeen tapahtuva uudelleenohjaus kiitossivulle (tms.) niillä onnistu kovin yksinkertaisesti - ainakaan minulta. Muuta tapaa en ole nähnyt tarjolla.

Kokeilinkin laittaa lomakkeen lähettämisen jälkeen kiitossivulle ohjaavan metatagin täyttölomakkeen php-käsittelijään. Toimi IE:ssä ja Firefoxissa. En tiedä, onko tämä nyt aivan hyvä tapa, "kosher", mutta tuntuu pelaavan, olipa meta sitten php-koodissa tai myöhemmin käsittely.phpllä olevan html:n joukossa ( "?>" -lopputagin jälkeen.)

Huomaa silloin erilaiset lainausmerkitphp:ssä : "<META HTTP-EQUIV='Refresh'... Ja html:n joukossa: "<META HTTP-EQUIV="Refresh"...

Esimerkki selventänee sepustustani:

/* Tämä "käsittely.php:ssä". Headerit lähetetty submit-painalluksella. Viestin osat koottu täyttölomakkeelta ja muuttujista*/

$viesti = mail($osoite, $otsikko, $viesti, $headers);

//Tarkistetaan, onnistuiko lähetys.
if($viesti)
{
echo "<META HTTP-EQUIV='Refresh' CONTENT='0;url=http://www.jokuvain.fi/kiitos.html'>";
}
else{
echo "<META HTTP-EQUIV='Refresh' CONTENT='0;url=http://www.jokuvain.fi/eipelaa.html'>";
}

Jos joku hokaa ongelmia tässä, kerro ihmeessä, ettei kukaan lainaisi tätä kenties monettako kertaa tehtyä keksintöä turhaan.

Blaze [28.04.2005 17:26:08]

#

Back-nappi ei tykkää välittömästi tapahtuvasta uudelleenohjauksesta.

pale [28.04.2005 17:40:29]

#

Mitä tapahtuu?

Blaze [28.04.2005 19:27:12]

#

Painat bäkkiä -> selain menee takaisin sivulle, jolla on nollan sekunnin refresh -> selain menee takaisin seuraavalle sivulle, jolla olit, kun painoit bäkkiä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta