řeším trochu záludný problém.
Z vygenrované stránky odesílám metodou POST nějaké data (např. ze stránky test.php?id=e7ho4f86). Ty posílám stránce zpracuj.php (nemůžu ji poslat jako $_SERVER['PHP_SELF'] protože jde o vygenerovanou stránku). Pokud script zpracuj.php proběhne v pořádku tak se přeměrovává a vše je bez problému. Ale když dojde k chybě tak bych potřeboval $_POST data poslat stránce oprav.php.
přesměrovaná část kódu zpracuj.php:
- Kód: Vybrat vše
<?php
$host = "www.example.com";
$path = "/oprav.php";
$data = "data1=value1&data2=value2";
$data = urlencode($data);
header("POST $path HTTP/1.1\r\n" );
header("Host: $host\r\n" );
header("Content-type: application/x-www-form-urlencoded\r\n" );
header("Content-length: " . strlen($data) . "\r\n" );
header("Connection: close\r\n\r\n" );
header($data);
?>
a pro zkoušku je stránka oprav.php:
- Kód: Vybrat vše
var_dump($_POST);
Nehledám řešení založené na curl a vím, že jde jednoduše vložit data znovu do formuláře s výzvou o opravě vstupních dat. Výše popsané řešení hledám z důvodu, že je to nejjednodušší a nejrychlejší.
Jednoduše jde o to, že se opraví jeden údaj (bez nutnosti výpisu všech dat a zároveň aby všechny vstupní data zůstaly uchovány) - stejně jako u captchy - a vše se odehrálo napozadí (pomocí header)