Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekierowanie po dodaniu komentarza
artur81
post
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 2
Dołączył: 4.12.2004
Skąd: Skierniewice

Ostrzeżenie: (10%)
X----


Mam taki oto prosty kodzik do dodawania komentarzy
  1. <?php
  2.  
  3. if (isset($_POST['submit'])){
  4. $id_newsa=$_POST['id_newsa'];
  5. $nick=addslashes($_POST['imie']);
  6. $tresc=addslashes($_POST['tresc']);
  7. require_once('./polacz_z_baza_newsow.php');
  8. if ( (strlen($tresc)==0) and (strlen($nick)==0)) {
  9. echo '<div align = center><h3>Musisz wypełnić formularz, aby dodać newsa</h3><div>';
  10. exit();
  11. }
  12. if (strlen($tresc)==0) {
  13. echo'<div align = center><h3>Wypełnij treść newsa!</h3><div>';
  14. exit();
  15. }
  16. if (strlen($nick)==0) {
  17. echo '<div align = center><h3>Musisz podpisać swojego newsa!</h3><div>';
  18. exit();
  19. }
  20. $zapytanie = "INSERT INTO komentarze (id_komentarza, id_newsa, nick, tresc, data_dodania)
  21.  VALUES ('', '$id_newsa' , '$nick', '$tresc', now())";
  22. $wynik = mysql_query ($zapytanie);
  23.  
  24. if (mysql_affected_rows()==1) {
  25. echo '<div align = center><h3>Dziękujemy za dodanie komentarza!!!</h3><div>';
  26. echo '<a onClick="javascript:window.close()" href="http://localhost/unia/index.php">Zamknij okno</a>';
  27.  
  28. } else
  29. {
  30. echo '<div align = center><h3>Wystąpił nieoczekiwany błąd i dodanie nowego komentarza nie jest w tej chwili
     możliwe!</h3><div>'
    ;
  31. }
  32.  
  33.  
  34. }
  35. ?>

1.W związku z nim mam, jedno pytanie. Po wypełnieniu pół i dodaniu komentarza pojawia się komunikat i link do zamknięcia okienka. Jak zrobić coś takiego żeby po zamknięciu odświeżyła mi się strona na której są wyświetlane komentarze. Dokładniej chodzi mi o to że po dodaniu mam np, w dalszym ciągu 3 komentarze, a dopiero jak dam "odśwież" to zmienia się na 4, a chcę żeby od razu było 4.

2.Poza tym czy ten formularz uniemozliwi jakiemś złośliwemu uzytkownikowi uszkodzenie bazy? Wydaje mi się że addslashes wystarcza... ale mogę się mylić.


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
dtb
post
Post #2





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


Na początek kilka mały rada:
1. po co tworzyć tyle zmiennych pomocniczych. szkoda pamięci:
  1. <?php
  2. $id_newsa=$_POST['id_newsa'];
  3. $nick=addslashes($_POST['imie']);
  4. $tresc=addslashes($_POST['tresc']);
  5. ?>


A teraz do rzeczy:
1. Kłopot może być z pamięcią podręczną - niektóre przeglądarki (np. Opera) zapisują strony na HDD i aż nie odświerzysz strony, nie będzie ona ponownie pobierana z serwera.
2. Potraktuj ID newsa funkcją intval - zamienia ona każdą zmienna na liczbę.

Ten post edytował dtb 17.11.2005, 11:29:36


--------------------
Go to the top of the page
+Quote Post
shpyo
post
Post #3





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

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


Nie lepiej zrobić tak:
1. dodaj komentarz
2. wyświetlić komunikat
3. pokazać komentarze (o ile pkt. przebiegł pomyślnie) ?
(wszystko za jednym razem)

Jeżeli chcesz pobawić się w odświeżanie strony, to użyj javascript!
Kod
document.location='__adres__';


--------------------
Go to the top of the page
+Quote Post
Dex1987
post
Post #4





Grupa: Zarejestrowani
Postów: 246
Pomógł: 0
Dołączył: 28.09.2004

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


Zrob header np

  1. <?php
  2. header ("location: index.php?action=news&id=". $_GET['id']);
  3. ?>
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 Aktualny czas: 19.08.2025 - 02:45