Autor Zpráva
Prkny
Profil
Zdravím,

mám soubor formular.php který odesilam metodou POST do jiného souboru (zpracuj.php), kde ho zpracuji a uložím do session (PHP). Ze souboru zpracuj.php vycházím na další stránku header("Location: dalsi.php).

Problém je když uživatel dá v prohlížeči tlačítko zpět prohlížeč vypíše hlášku "Platnost dokumentu vypršela ... zkusit znovu".

Otázka je jak udělat to, aby když uživatel dá zpět se dostal bez problému na formular.php bez té hrozné hlášky.

Ukázka formulaře
<form action='zpracuj.php' method='post' name='formular'>
  <input type='hidden' name='un_id' value='123456' />
  <input type='submit' class='submit_kosik' name='pridat' value='Vyplnit kontaktní údaje' />
</form>
Bertram
Profil
Ahoj, máš v souboru zpracuj.php kontrolu odesílacího tlačítka formuláře a případné přesměrování zpět na soubor formulář.php?
Prkny
Profil
Myslíš něco jako:
if($_POST[pridat] == "Vyplnit kontaktní údaje"){header("Location: zpracuj.php");}

Nebo něco jiného ?
Davex
Profil
Pro přesměrování nepoužívej samotné Location, ale ještě vhodný stavový kód, třeba 303.
Bertram
Profil
zpracuj.php
session_start() ;
if(!isset($_POST['pridat'])){
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'formular.php';
header("Location: http://$host$uri/$extra");
exit;
}
A nebo můžeš mít formulář i jeho zpracování v jednom souboru.
Prkny
Profil
Pánové oboum díky. Problém vyřešen.

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: