Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][MySQL][PHP] Jak zabezpieczyć wysyłanie formularza?
osa2t
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 29.07.2009

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


Witam,

Mam problem w wysyłaniem formularza, wywołanie samego skryptu poprzez wpisanie go w przeglądarce powoduje wywołanie funkcji INSERT i wstawienie danych do MySQL. Wstawione dane w SQL są oczywiście puste, nie wiem jak uniknąć przypadkowych INSERTów do SQL gdy uruchamiam sam skrypt, odświeżam stronę czy też wybieram przycisk „przejdź do poprzedniej strony” w oknie przeglądarki. Jak można zabezpieczyć wysyłanie skryptu. Kod poniżej



  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  2.  
  3. </head>
  4.  
  5.  
  6. <form action="" method="post" name="dodawanie_posta2">
  7.  
  8. Nazwa nowego działu:
  9. <br>
  10. <input type="text" name="nazwa_dzialu" />
  11. <br><br>
  12.  
  13.  
  14. Hasło:
  15. <br>
  16. <input type="password" name="haslo2" />
  17. <br><br>
  18.  
  19.  
  20. <input type="submit" value="Wyslij">
  21. </form>
  22. </body>
  23. </html>

  1. <?
  2. require("login.php");
  3. $nazwa_dzialu=$_POST['nazwa_dzialu'];
  4. mysql_connect('localhost',$username,$password);
  5. @mysql_select_db($database) or die("Nie znaleziono bazy danych");
  6. $query = "INSERT INTO dzial VALUES (' ', '$nazwa_dzialu', NOW(), '')";
  7. mysql_query($query);
  8. ?>



Jak widać w kodzie samo wstawianie danych i wysłanie ich do SQL mam w tym samym skrypcie, jeżeli zorbie to w dwóch plikach i zamienie action=" " na <form action="wysyłka.php" method="post" name="dodawanie_posta2"> w bardzo małym stopniu rozwiązuje problem, bo strona z formularzem przy wywołaniu nie wysyła INSERTA do SQL ale po wysłaniu danych inputem WYŚLIJ, chciałbym powrócić automatycznie do strony formularza a nie pozostać na pustej stronie z INSEREM. Bardzo proszę o pomoc w rozwiązaniu problemu.

Pozdrawiam,
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: 28.09.2025 - 13:46