Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] jak mozna zachować dane POST po przeladowaniu tej samej strony?
Forum PHP.pl > Forum > Przedszkole
webspy
WItam, mam taki mały problem, chciałbym zachować dane POST po przeladowaniu tej samej strony, czy jest to wogóle możliwe??
sniezny_wilk
Możesz w sumie przechowywać w zmiennych sesyjnych

  1. <?php
  2. $_SESSION['var'] = $_POST['zmienna'];
  3. ?>


i po przeładowaniu:
  1. <?php
  2. echo $_SESSION['var'];
  3. ?>
webspy
Hmmm coś nie działa ta sesja,

Mam formularz w którym zaznaczam kilka pól checkbox i wysyłam to przez POST w formie tablicy, na tej stronie do której wysylane sa dane jest potwierdzenie czy usunąć "tak" i "nie" i jesli wybiore tak to strona sie przeladuje i chcialbym ta tablice POST miec taka jaka byla na samym poczatku.
pyro
no to sesje powinny tu wystarczyć. Domyślam się, że nie wstawiles nawet session_start() ;/? Poczytaj o sesjach
norbis
Cytat(webspy @ 5.05.2008, 15:43:50 ) *
Hmmm coś nie działa ta sesja,


Trzeba dodać na początku skryptu:
Kod
session_start();
Pilsener
Po co sesje? Wystarczy, jak dodasz do formularza:
  1. <input type="hidden" value="to, co chcesz zachować" name="dane" />
- w ten sposób możesz sobie spokojnie przesyłać/gromadzić dane pomiędzy poszczególnymi etapami formularza.
webspy
Wszystko by było pięknie jakby to nie była tablica ;/ wtedy można by zastosować INPUT

z tą sesją możnaby pokombinować ale jak na razie to mi nic nie wychodzi.

Mam cos takiego:
  1. <!--c1--><div class='codetop'>Kod</div><div class='codemain'><!--ec1--><?
  2. $odp = $_GET['odp'];
  3. if(!isSet($_SESSION['zalogowany'])){
  4. echo "<table border=\"0\" align=\"center\">
  5. <tr><td colspan=\"2\" class=\"kontakt\"><p style=\"color:#fe0000;\">Musisz byś zalogowany aby usuwać wiadomości!!!</p></td></tr></table>";
  6. include ("form.php");
  7. } else {
  8. if ($odp == "")
  9. {
  10. $_SESSION['var'] = $_POST['nazwa'];
  11. echo "<table align=\"center\" border=\"0\"><tr><td class=\"tresc\" align=\"center\"><b>Usunąć?</b><br><br><FORM><INPUT class=\"potwierdzenie\" onmouseover=\"this.className='potwierdzenieon';\" onmouseout=\"this.className='potwierdzenie';\" TYPE=\"button\" VALUE=\"TAK\" onClick=\"parent.location.href='index.php?page=delete_wiadomosci&odp=tak'\">
  12. <INPUT class=\"potwierdzenie\" onmouseover=\"this.className='potwierdzenieon';\" onmouseout=\"this.className='potwierdzenie';\" TYPE=\"button\" VALUE=\"NIE\" onClick=\"parent.location.href='index.php?page=delete_wiadomosci&odp=nie'\">
  13. </FORM></td></tr></table>";
  14. }
  15. else {
  16.  
  17. switch ($odp) {
  18.     case "tak":
  19.     $plik= file("users/".$_SESSION['zalogowany'].".txt");
  20. $nazwa = $_SESSION['var'];
  21. foreach($nazwa as $t){
  22. unset($plik[$t]);
  23. }
  24. $plik = implode("",$plik);
  25. $fp = fopen("users/".$_SESSION['zalogowany'].".txt" , "w");flock($fp,2);
  26. fputs( $fp , $plik);
  27. flock($fp,3);fclose($fp); 
  28. fclose($f);
  29.  header("Location: index.php?page=wiadomosci&info=Wiadomość została usunięta!!!");
  30.         break;
  31.     case "nie":
  32.         header("Location: index.php?page=wiadomosci");     
  33.         break;
  34.           }    
  35. } }
  36. ?><!--c2--></div><!--ec2-->


ale niestety nie działa ;/
Jeśli wezme bez potwierdzenia usunięcia to wszystko ładnie ale jak mam to przeladowanie strony to lipa sad.gif
Mlodycompany
session_start(); na samym poczatku po <?php i przed <?php nie moze byc spacji ani zadnej przerwy
webspy
Już działa, dziękuję.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.