Widzę Thek, że rozumiemy się
Cytat(thek @ 29.10.2009, 13:21:31 )

Nie widziałem tego w wymienionym kodzie z linku, ale powinieneś to rozwiązać tak, że w momencie gdy formularz zostaje przetworzony
bez błędów niszczysz sesję i tylko wtedy. Dzięki temu jeśli nastąpił błąd, to będzie ona istnieć. Tylko prawidłowe przetworzenie danych sprawi, że ulegną one zniszczeniu. Dlatego nospor dobrze Ci radzi, tyle że to Ty musisz już wiedzieć gdzie w Twoim przerobionym kodzie możesz sobie na unset pozwolić. A jak już mówiłem... Robisz to dopiero
po prawidłowym przebiegu całej walidacji, wysłaniu do bazy czy co tam jeszcze chcesz zrobić

No i ja dokładnie idę tym "tropem", od początku szedłem
u mnie właśnie po przejściu prawidłowo wszystkich warunków (Walidacja) następuje, wysłanie maila ( z serwera). Więc myślę, że to jest ten moment o który nam chodzi. A przedstawia się on w chodzie tak
mail($adresat, $temat, $dane, $odkogo );
unset($_SESSION['formularz']); echo "<strong>Wiadomość została wysłana!</strong>";
No i może to i działa ale po wysłaniu wiadomości strona przeładowywuje się. Ja to tak rozumie, nie wiem czy słusznie. Zaznaczam, że formularz posiada <form id="kontakt" method="post"
action="<?=$PHP_SELF; ?>">
a pierwsze linijki kodu to
<?php
if (!empty($_POST['wyslij']) && $jakas_zmienna==1
) {
$_SESSION['formularz'] = array( 'imieinazwisko' => $_POST['imieinazwisko'],
'email' => $_POST['email'],
'zgoda' => $_POST['zgoda'],
'wiadomosc' => $_POST['wiadomosc'],
...
i nie powstaje w tym czasie na nowo $_SESSION['formularz']


A co do tego co pytałeś to, według twoich zaleceń próbowałem na dwa sposoby:
z pominięciem zmiennej $dane_z_form
<input type="text" id="imie" name="imieinazwisko" size="20" maxlength="30"
value="<?php echo $_SESSION['formularz']['imieinazwisko']; ?>"/>
i nią
<input type="text" id="imie" name="imieinazwisko" size="20" maxlength="30"
value="<?php echo $dane_z_form['imieinazwisko'];?>"/>
Chciałem jeszcze zaznaczy, nie wiem czy to coś pomoże ale mój formularz ma schemat
<?php
Skrypt nospora po przerobieniu
?>
xhtml (formularz) w tym <form id="kontakt" method="post" action="<?=$PHP_SELF; ?>">
<?php
Skrypty walidujące
a po przejściu prawidłowo wszystkich warunków
unset($_SESSION['formularz']); echo "<strong>Wiadomość została wysłana!</strong>";
?>
ewentualnie Thek mógłbym Ci wysłać na pw linka do mojego formularza testowego