PHP přesměrování + zaslání POST dat v $_POST

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í:

  1. Údaje máme v PHP v proměnné
  2. V PHP vygenerujeme PHP formulář s inputy, kde budou údaje vložené přes proměnné jako jejich value
  3. Takto vyplněnou stránku pošleme uživateli a ten ji dostane vyplněnou
  4. Součástí stránky bude JS, který automaticky tento formulář odešle na jinou URL
  5. Samozřejmě bude součástí odesílaných dat i value ve formuláři
  6. 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

Napište komentář!