Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z POST poprzez ajax
misty
post
Post #1





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


Czesc, mam nastepujacy problem: Mam sobie menu - kazda opcja w menu to link do kolejnej str. W definicji linka dla kazcej strony istnieje metoda:

  1. "onClick = \"unsetSelectedValuesFromPreviousPage();\""


Menu jest tworzone po stronie php. Ta metoda w js ma nastepujaca postac:

  1. function unsetSelectedValuesFromPreviousPage(){
  2.  
  3.  
  4. $.ajax({
  5. url : 'ajax_unset_value_from_session.php',
  6. cache : false,
  7. type : "POST",
  8. data : {
  9. unsetSelectedValues : 'true'
  10. }
  11. });
  12. }


Jej zadaniem jest wyczyszczenie tego co bylo w sesji w poprzedniej stronie. (Nie moge czyscic sesji za kazdym razem gdy wyswietlam str, poniewaz jak bede odswiezac albo submitem wykonywac akcje na tej samej str - to bede tracic rzeczy z sesji. A sa one mi potrzebne "per strona"). Czyszczenie sesji ma sie odbywac na zmiane zakladki (strony). Ok, w skrypcie ajax_unset.. mam tak:

  1.  
  2. <?php
  3.  
  4.  
  5. if ($_POST['unsetSelectedValues'] == 'true') {
  6.  
  7. $_SESSION['field_1'] = '';
  8. $_SESSION['field_2'] = '';
  9. $_SESSION['field_3'] = '';
  10. $_SESSION['field_4'] = '';
  11.  
  12.  
  13. }
  14.  
  15. ?>


I teraz to co najgorsze - to sie raz wykonuje, a raz nie! Tzn przy wejsciu na zakladke nowa wypisuje sobie var_dump te wartosci ($_SESSION['field_1'], $_SESSION['field_2']..) i raz sa '' czyli tak jak powinno byc, a raz na pare razy zawieraja poprzednie wartosci! Wiem ze to wrozenie z fusow, ale totalnie nie przychodzi mi do glowy co ja moge miec zle. Robie session_start bo tego wymaga to by to zadzialalo, myslalam ze moze tworzy sie przez to jaka druga sesja i no jakos nie zawsze wspolgra z ta 1sza. Probowalam niszczyc sesje na koncu skryptu ajax_unset.. ale wtedy mnie wylogowywuje.. Czy ktos z Was ma moze jakis pomysl?

pzdr,
misty
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
celbarowicz
post
Post #2





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


To jeden ze sposobów w jaki wykorzystyję JQ i Ajax.
  1. function notatnik_szukaj2(){ $(document).ready(function(){ var zm1=$('#sel_szukaj_k').val();
  2. var zm2=$('#rok_szukaj').val();
  3. var zm3=$('#miesiac_szukaj').val();
  4. var zm4=$('#dzien_szukaj').val();
  5. var data = 'a1='+zm1+'&'+'a2='+zm2+'&'+'a3='+zm3+'&'+'a4='+zm4;
  6.  
  7.  
  8.  
  9. $.ajax({type:"POST",
  10. url:"notatnik_szukaj2x.php",
  11. data: data,
  12. success: function(){ $('#okno_konsultanta1').load('notatnik_szukaj2.php');
  13. }
  14. });
  15. });
  16.  
  17. }
  18.  
  19.  

notatnik_szukaj2x.php
  1. <?php
  2. $_SESSION['sel_szukaj_k']=$_POST['a1'];
  3. $_SESSION['rok_szukaj']=$_POST['a2'];
  4. $_SESSION['miesiac_szukaj']=$_POST['a3'];
  5. $_SESSION['dzien_szukaj']=$_POST['a4'];
  6. ?>


notatnik_szukaj2.php
  1.  
  2. $u=$_SESSION['sel_szukaj_k'];
  3. $r=$_SESSION['rok_szukaj'];
  4. $m=$_SESSION['miesiac_szukaj'];
  5. $d=$_SESSION['dzien_szukaj'];
  6. $_SESSION['wybrana_data']=$r1=$r.'-'.$m.'-'.$d;
  7. $rw=strtotime($r1)+1;
  8.  
  9. $cp=date("Y-m-d H:i:s",strtotime($r1));
  10.  
  11. $r2=strtotime($r1)+24*60*60-1;
  12. $ck=date("Y-m-d H:i:s",$r2);
  13.  
  14. $pcz_dnia = strtotime($cp);
  15. $koniec_dnia = strtotime(($ck));
  16. require_once ('do_bazy.php');
  17.  
  18. $sql="SELECT * FROM notes WHERE uzytkownik_notes='$u' AND'$pcz_dnia'<poczatek_notes AND poczatek_notes<'$koniec_dnia' ORDER BY poczatek_notes asc";
  19. $result=mysql_query($sql) or die(mysql_error());
  20.  
  21. $n = mysql_num_rows($result);
  22.  
  23. if(mysql_num_rows($result)==0){echo 'WYBRANA DATA='.date("Y-m-d",strtotime($r1));
  24. echo'<br>';
  25. echo 'wolne od'.date("H:i:s",$rw).'do godziny'.date("H:i:s",$r2);
  26. echo '<br>';
  27. require_once "pierwszy_wpis.php";
  28.  
  29.  
  30. }else{
  31. echo 'WYBRANA DATA='.date("Y-m-d",strtotime($r1));
  32. echo'<br>';
  33. require_once "druk.php";
  34. }
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. ?>

Może to jest kiepski sposób ,ale działa.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 08:53