Někdy potřebujeme uživatele přesměrovat na nějakou stránku, ale z určitých důvodů nechceme data mezi skriptem a cílovou stránkou s jinou stránku přenášet v URL pomocí $_GET. Prostě potřebujeme tato data skrýt tak, aby v URL vůbec nebyla.
Je to jednoduché. 🙂 Sice u toho nepoužijeme pouze PHP, ale postup bude následující:
- Údaje máme v PHP v proměnné
- V PHP vygenerujeme PHP formulář s inputy, kde budou údaje vložené přes proměnné jako jejich value
- Takto vyplněnou stránku pošleme uživateli a ten ji dostane vyplněnou
- Součástí stránky bude JS, který automaticky tento formulář odešle na jinou URL
- Samozřejmě bude součástí odesílaných dat i value ve formuláři
- A jelikož jsme zvolili u form method=“post“, nic se v URL neobjeví
<form action='skript.php' method='post' name='formular'> <?php foreach ($_POST as $a => $b) { echo "<input type='hidden' name=".$a." value=".$b).">"; } ?> </form> <script type="text/javascript"> document.formular.submit(); </script>
Pokud si skript rozpitváme, tak část s form action všichni chápeme. Poté zobrazíme inputy tolikrát, kolikrát máme proměnnou $jmeno (snad mě chápete). No a potom v JavaScriptu automaticky formulář odešleme.
Více k dohledání na http://stackoverflow.com/questions/5576619/php-redirect-with-post-data