Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nie potrzebne dodawanie rekordu przy odswierzaniu, ....jak sie tego pozbyc??
yalus
post
Post #1





Grupa: Zarejestrowani
Postów: 281
Pomógł: 0
Dołączył: 8.07.2005
Skąd: EU

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


  1. <?php
  2. if ($_GET['send']=='wyslij')
  3. {
  4.     mysql_connect (&#092;"localhost\",\"\",\"\");
  5.     mysql_select_db (&#092;"baza\");
  6.  
  7.  
  8.    $zapytanie = &#092;"INSERT INTO database3 SET
  9.         poz1='$_GET[poz1]',
  10.         poz2='$_GET[poz2]'&#092;";
  11.  
  12.  
  13.  
  14.   $wykonaj = mysql_query ($zapytanie) or die(mysql_errno() . &#092;": \" . mysql_error(). \"n\");
  15.                  echo &#092;"<BR>Dane dodane prawidłowo!\";}
  16.  
  17.     else {
  18.  
  19. echo&#092;"
  20. <form method=get action=&#092;"dodaj_dane.php\">
  21.  
  22. <table border=&#092;"0\" >
  23.   <tr><td>Poz1</td><td><input type=&#092;"text\" name=\"poz1\"></td>
  24.   <tr><td>poz2</td><td><input type=&#092;"text\" name=\"poz2\"></td>
  25.   <tr>
  26.      <td colspan=&#092;"2\"><input type=\"submit\" value=\"wyslij\" name=\"send\">
  27.      <input type=&#092;"reset\" value=\"Kasuj\" name=\"B2\"></td>
  28.    </tr>
  29. </table>
  30.  
  31. </form>
  32.  
  33. </body>
  34. </html>&#092;";}
  35.  
  36. ?>



wszystko jest w jednym pliku dodaj_dane.php, w momencie jak dodaje jakies dane do bazy juz po nacisnieciu butona wyslij i jezeli wszystko jest ok pojawiw sie stronka z napisem Dane dodane prawidłowo (tak jak wyzej to widac) i wtym momencie jak nacisne klawisz f5, czyli odswiez zawartosc strony, zostaje dodany nastepny rekord dokladnie ten sam ktory dodalem przed chwila.
to samo sie dzieje jak nacisne bspace czyli cofnij wstecz. wiem dlaczego tak sie dzieje ale nie potrafie temu przeciwdzialac

nie ma znaczenia czy jest to przez get czy post.

jak temu zaradzic??

Ten post edytował yalus 18.07.2005, 17:48:18
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zbig13
post
Post #2





Grupa: Zarejestrowani
Postów: 214
Pomógł: 0
Dołączył: 3.04.2004
Skąd: Legionowo

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


Zrobiłeś zły warunek na samym początku skryptu. Sprawdzasz tam czy pole 'send' ma wartość 'wyslij'. A przecież przycisk ma value=wyslij i warunek zawsze będzie spełniony nie? Musisz zrobić tak:
  1. <?php
  2.  
  3. if (isset($_GET['send'])) {
  4. ...
  5.  
  6. ?>

Teraz warunek będzie spełniony dopiero gdy zostanie kliknięty przycisk. A i przy wysyłaniu formularzy lepiej używać $_POST, a nie $_GET.
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: 27.09.2025 - 02:25