• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Po odświeżeniu przeglądarka wciąż wysyła zapytanie. Jak temu zaradzić ?

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
+2 głosów
94 wizyt
pytanie zadane 28 stycznia 2022 w PHP przez Dariusz Hozer Użytkownik (920 p.)

 

Przeglądarka wypluwa wiadomość, że zbyt wiele przekierowań przy else{header('Location:index.php')} (dlatego usunąłem z kodu. Nie bardzo wiem już jak zablokować przesyłanie ponownie zapytania do bazy danych po odświeżeniu strony... Nawet dodanie UNIQUE do SQL nie pomogło...Czy wiesz co wpisać po else ? :) 

 




  if(!empty($_FILES['plik']) && !empty($_POST['tekst'])){    

    

                @$text=$_POST['tekst'];
                @$img=$_FILES['plik']['name'];
                @$img_loc=$_FILES['plik']['tmp_name'];
                $local="uploads/";

                   move_uploaded_file($img_loc,$local.$img);
                
   
                
                $sql_image="INSERT INTO posts(article,image) VALUES ('$text','$img')";
                    
                $picture=$conn->query($sql_image);

                $sql_image="SELECT DISTINCT article,image FROM posts";
                        
                $wynik_image=$conn->query($sql_image);

 
            }      


                    
                if(@$wynik_image->num_rows > 0) { 
                    
                          while($record_image = $wynik_image->fetch_assoc()) {

                                echo '<div class="post_container">';
                                echo '<img class="pic" src="uploads/'.$record_image['image'].'">';
                                echo $record_image['article'].'<br>';
                                echo '</div>';

                            }
                        
                    }
           
                
        
                     
        
        
 

    








 ?>

 

1 odpowiedź

0 głosów
odpowiedź 28 stycznia 2022 przez Comandeer Guru (593,480 p.)

Można zastosować technikę podobną do tokenów CSRF. Czyli przy każdym wyświetlaniu formularza generujesz nowy token i wrzucasz do sesji, po czym sprawdzasz przy obsłudze formularza, czy token się zgadza z tym w sesji.

Podobne pytania

0 głosów
2 odpowiedzi 107 wizyt
0 głosów
2 odpowiedzi 202 wizyt
pytanie zadane 10 października 2015 w PHP przez Tnifey Pasjonat (24,190 p.)
0 głosów
1 odpowiedź 91 wizyt
pytanie zadane 15 stycznia 2021 w PHP przez CSSoup Mądrala (6,460 p.)

91,824 zapytań

140,490 odpowiedzi

316,950 komentarzy

61,159 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...