Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Nowe dane po wykonaniu formularza (zostają poprzednie dane).
Giluś
post 14.08.2012, 13:51:59
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Cześć mam taki kod:

  1. ....
  2. case 'zwsu':
  3.  
  4. // Start Get
  5. if(isset($_GET['del'])) {
  6. $del = (int)$_GET['del'];
  7. $zwsud = mysql_query("DELETE FROM user WHERE id='".$del."'");
  8. if($zwsud) $txt = "".wiadomosc("success", "<span class='wym'>Del</span>")."";
  9. else $txt = "".wiadomosc("error","<span class='wym'>Err.</span>")."";
  10. }
  11.  
  12. elseif(isset($_GET['modf'])) {
  13. $modf = (int)$_GET['modf'];
  14. $typ = (int)$_GET['typ'];
  15. $sp = mysql_fetch_array(mysql_query("select * from user WHERE id = '".$modf."'"));
  16.  
  17. if($typ === 1) {
  18. if(!empty($_POST['ok'])){
  19. $id = (int)$_POST['id'];
  20. if ($id === $modf) {
  21. $nazwa = htmlspecialchars(strip_tags($_POST['nazwa']));
  22. $kom = htmlspecialchars(strip_tags($_POST['kom']));
  23.  
  24. $zwsumvt = mysql_query("update use SET nazwa='$nazwa', kom='$kom' WHERE id = '$id'");
  25.  
  26.  
  27. if($zwsumvt) $txt = "".wiadomosc("success", "<span class='wym'>Ok</span>")."";
  28. else $txt = "".wiadomosc("error","<span class='wym'>Err.</span>")."";
  29.  
  30. }
  31. }
  32.  
  33. <div class='trescc info'><p>
  34. <p style='text-align: center; font-size: 16px;'><b>".$sp['nazwa']."</b></p><br /><br />
  35.  
  36. <form action='' method='post'>
  37. Nazwa: <input class='buttons2' type='text' style='margin-left: 72px;' name='nazwa' value='".$sp['nazwa']."'/>
  38. Komentarz: <input class='buttons2' type='text' style='margin-left: 50px;' name='kom' value='".$sp['kom']."'/>
  39. <br /><input class='button2' style='border:0;' type='submit' name='ok' value='Modyfikuj' /></form>
  40. </p></div>
  41. }
  42. }
  43.  
  44. // Koniec GET
  45.  
  46. $us = mysql_query("SELECT * FROM user") or die('Błąd zapytania');
  47. echo $txt;
  48.  
  49. while($us2 = mysql_fetch_assoc($us)) {
  50. echo "
  51. ".$nazwa." - <a href='?a=zwsu&typ=".$us2['typ']."&modf=".$us2['id']."'>Zmień</a> | <a href='?a=zwsu&del=".$us2['id']."'>Usuń</a>
  52. <br /><hr>
  53. ";
  54.  
  55. }
  56. break;
  57. ...



Problem polega na tym, że jak nacisnę: "Usuń" to wyświetla mi się informacja: "Del" oraz od razu usuwa użytkownika, ale gdy dam Zmień i poustawiam tam wszystko, to wyświetla mi się informacja: "Ok", ale zmienia się jedynie w tym podglądzie (pod tym gdzie pisze // Koniec GET) a nie zmienia się w tym formularzu co jest w środku Get'a, można jakimś sposobem wyświetlić nowe dane, tak aby przetrwała mi zmienna $txt ?.

Pozdrawiam i z góry dziękuje.


Edit.:
Jak zobaczycie jakąś literówkę to pewnie mój błąd w czasie pisania posta, ponieważ skróciłem ten kod o kilkadziesiąt linijek w formularzu i wyświetlaniu, tak aby był bardziej czytelny, przejrzysty.

Ten post edytował Giluś 14.08.2012, 13:54:53
Go to the top of the page
+Quote Post
ze4lot
post 14.08.2012, 15:02:03
Post #2





Grupa: Zarejestrowani
Postów: 54
Pomógł: 1
Dołączył: 29.03.2007
Skąd: Kraków

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


Możesz spróbować przechowywania w zmiennej sesyjnej


--------------------
ze4lot.pl
Go to the top of the page
+Quote Post
Giluś
post 16.08.2012, 08:26:47
Post #3





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


No tak zrobiłem coś takiego:

  1. if($zwsumvt) $_SESSION['msg_wiad'] = "".wiadomosc("success", "<span class='wym'>Ok</span>")."";
  2.  
  3. header("Location: ?a=zwsu");


I wyświetlanie:
  1. echo $_SESSION['msg_wiad'];


Niby działa, ale to nie to, ponieważ nawet gdy przejdę inną stronę i później wrócę ponownie na ?a=zwsu, to i tak mam wiadomość: "Ok".

Może istnieje jakiś inny sposób ?.

Pozdrawiam i z góry dziękuje.
Go to the top of the page
+Quote Post
pitu
post 16.08.2012, 08:46:13
Post #4





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

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


Dodaj sprawdzanie czy do formularza przechodzisz z innej strony/podstrony. Jeżeli tak czyść sesje.


--------------------
HTML/CSS/JS: jsfiddle
SQL: sqlfiddle
Go to the top of the page
+Quote Post
Giluś
post 16.08.2012, 09:02:37
Post #5





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Cytat(pitu120 @ 16.08.2012, 09:46:13 ) *
Dodaj sprawdzanie czy do formularza przechodzisz z innej strony/podstrony. Jeżeli tak czyść sesje.


Nie rozumiem, pokaż jakiś przykład..
Bo puki co zrobiłem sobie ciasto na 5sekund, jest lepiej ale jeśli ktoś szybko wypełnia formularz to jeszcze będzie miał wiadomość "Ok" a dopiero zaczął wpisywać coś do formularzu smile.gif.

Pozdrawiam i dzięki za odpowiedzi wink.gif.
Go to the top of the page
+Quote Post
pitu
post 16.08.2012, 09:26:21
Post #6





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

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


Spróbuj:
  1. if(isset($_SERVER['HTTP_REFERER'])) {
  2. $_SESSION['msg_wiad'] = '';
  3. }


--------------------
HTML/CSS/JS: jsfiddle
SQL: sqlfiddle
Go to the top of the page
+Quote Post
Giluś
post 16.08.2012, 10:21:04
Post #7





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Dzięki bardzo, mam jeszcze drugie pytanie ale to napisze w innym wątku.

Pozdrawiam.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:57