Zastosowałem więc drugą metodę:) "formularz.php" odnosi się do "test_formularz.php", tutaj weryfikacja danych i napisałem sobie specjalny skrypcik, który przeklei wszystkie zmienne z tablicy $_REQUEST (czyli te przekazane metodą GET lub POST do "test_formularz.php"), łącznie z tablicami tablic:) i wracamy metodą POST do "formularz.php" (doklejając do tablicy $_REQUEST dajmy na to zmienną $blad,która będzie odpowiednio traktowana przez "formularz.php"). Nie rozwiązuje jednak to do konca sprawy,zaraz wytłumaczę czemu. Oto ten skrypcik:
plik "test_formularz.php":
[php:1:48d1222927]<?php
//funkcja przygotowujaca dane POST
//tworzy ciag dla curla w postaci "&domena=xx&ala=tak&bela=nie...."
//kopiuje takze cale tablice,tak wiec uniwersalna fajna funkcyjka
//ktora tworzy dokladna kopie tego co bylo w formularzu,nie martwimy
//sie, ze cos nam zginelo
function prepare_postdata(&$tab,$keyname)
{
static $ciag;
foreach ($tab as $klucz => $wartosc)
{
if (is_array($tab[$klucz]))
{
if ($keyname=="") prepare_postdata(&$tab[$klucz],$klucz);
else prepare_postdata(&$tab[$klucz],$keyname."[".$klucz."]");
}
else
{
if ($ciag!="") $ciag.="&";
if ($keyname=="") $ciag.="$klucz=$wartosc";
else $ciag.=$keyname."[$klucz]=$wartosc";
}
}
return $ciag;
//tutaj curl
}
function goto_url($adres_url)
{
$ch = curl_init($adres_url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS,prepare_postdata(&$_REQUEST));
curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); //zawartosc do bufora
echo curl_exec ($ch);
curl_close ($ch);
}
//tutaj weryfikacja danych z "formularz.php"
//jesli niepoprawne, to wykonujemy funkcję:
goto_url("http://costamcostam/formularz.php");
//i mamy pięknie wszystkie zmienne przekazane
[/php:1:48d1222927]?>
i mamy pięknie wszystkie zmienne przekazane...
ALE ! jest jednak małe co nieco,które wszystko chrzani. Przez jakiś czas wszystko działało pięknie, dopóki nie napisałem skryptu testującego,który już troszkę więcej "ważył" ORAZ łącznie z użyciem sesji ! (i w "formularz.php", i w "test_formularz.php"). Owszem, CURL'em przekazuje sie wszystko,łącznie z identyfikatorem sesji,jednak w momencie,gdy w "formularz.php" istnieje session_start(); ,skrypt się zacietrzewia i ni cholipy nie ruszy z miejsca, a taki niby narowisty no...!

Ta metoda więc spaliła na panewce ...(chlip chlip)
W tym momencie wchodzi więc trzecia metoda w grę: skrypt "formularz.php", który odwołuje się do samego siebie (już nie "test_formularz.php"),czyli mamy wszystkie zmienne z powrotem w formularzu.Tu następuje test,czy wcisnieto przycisk dajmy na to "DALEJ" (żeby było wiadomo,którą część skryptu wykonać-formularz czy część testową).Jesli wcisnieto,to znaczy ze formularz był wypełniony i trzeba przetestowac. Jednak w momencie gdy tych przycisków mam powiedzmy pięć, i do każdego chcę inną część testującą oraz coś wykonującą zastosować, robi mi się jeden dłuuuuuuuuuuuuugi plik, który później trudno ogarnąć myślowo (gdzie jest ta sekcja od trzeciego przycisku,kurcze??

Teraz plusy i minusy wszystkich wersji:
- Wersja pierwsza - header: PLUS taki,że nie ma bałaganu,bo odwołania są do takich plików testujących,których nazwy sam sobie określam, MINUS: tylko przekazywanie metodą GET ...lipa,odpada.
- Wersja druga - własna funkcja, przekazująca wszystkie zmienne. PLUS taki jak w wersji pierwszej oraz dodatkowo wszystkie zmienne przekazane z powrotem, MINUS: nie bardzo (czasem jednak tak!(?) współpracuje z sesjami
- wersja trzecia - którą jestem zmuszony zastosować PLUS: wszystko pięknie przekazywane, działa z sesjami, ale MINUS: bałagan i dłuuuuugi plik.
A więc o co mi chodzi? Pytanie mam mianowicie takie, czy znacie moze jeszcze jakis sposób na przekazywanie zmiennych, najlepszy byłby taki,który by połączył wszystkie PLUSY powyższych, a nie miał ich MINUSÓW



$_SESSION['zmiennezformularza']=$_REQUEST;
i przy powrocie do "formularz.php" odzyskać prosto z sesji przez np.
$tablica=$_SESSION['zmiennezformularza'];
ale nie mam wtedy zmiennych bezposrednio, tylko przez tablice

Troche to długie,jak ktoś przebrnął to gratulacje

