Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] Dodawanie rekordów do bazy, Dlaczego dodaje mi podwójnie?
Telside
post 3.05.2007, 15:28:54
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 30.04.2007

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


Witam. Mój kłopot polega na tym, że do bazy dodają się podwójnie te same dane (przy pojedyńczym wciśnięciu guzika z formularza). Przedstawiam tu jedynie fragment kodu i myślę, że ten najważniejszy. Zależy mi na tym, żeby cały proces odbywał się za pośrednictwem tylko jednej strony.
  1. <?php
  2. if ($_GET['zmiana']=='edycja'){
  3.  //wyswietlam tutaj ten wiersz ktory chce edytowac -> dziala 
  4.  }
  5.  
  6. if ($_GET['zmiana']=='edytuj'){
  7.  //tutaj nastepuje juz faktycznie edycja -> dziala  
  8. }
  9.  
  10. if ($_GET['zmiana']=='dodawanie'){
  11. escape();
  12. $zapytanie = "INSERT INTO newsy (idnew,tytul,tresc) VALUES (null, '".escape($_POST[tytul])."', '".escape($_POST[tresc])."')";
  13. $wykonaj = mysql_query ($zapytanie);
  14. if (mysql_query ($zapytanie)){
  15.  //pisze tutaj ze sie udalo
  16.  }
  17. else {
  18.  //pisze ze sie nie udalo
  19.  }
  20.  }
  21. else {
  22. //tu jest formularz ktory wyswiela mi sie na samym poczatku
  23. }
  24. ?>

Próbowałem kombinować z unset (post/get) ale coś mi nie wychodzi. Funkcja escape() to ucieczkowa funkcja mysql_real_escape_string zaproponowana mi przez jednego z forumowiczów (jeszcze raz dzięki). Pewnie błąd jest przedszkolny, no ale ja jego nie widzę. Dzięki za pomoc. Pozdrawiam
Go to the top of the page
+Quote Post
wipo
post 3.05.2007, 15:31:50
Post #2





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


  1. <?php
  2. $wykonaj = mysql_query ($zapytanie);
  3. if (mysql_query ($zapytanie)){
  4. ?>

Problem jest w tym że 2 razy wykonujesz zapytanie
Albo usuń to pierwsze albo zmień drugie na
  1. <?php
  2. if ($wykonaj){
  3. ?>


--------------------
Go to the top of the page
+Quote Post
Telside
post 3.05.2007, 15:40:25
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 30.04.2007

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


Niestety to nie pomaga. Mogę w ogóle usunąć tą część dotyczącą wpisu, że dodanie się udało, ale to też nic nie daje.
Go to the top of the page
+Quote Post
wipo
post 3.05.2007, 15:42:28
Post #4





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


wg tego kawalka kodu co pokazałeś to wpisujesz do bazy 2 razy to samo - czyli działa prawidłowo.
Pokaż może ten zmieniony kawałek co podobno nie działa


--------------------
Go to the top of the page
+Quote Post
Telside
post 3.05.2007, 15:45:04
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 30.04.2007

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


Już działa, wpisałem to tam gdzie nie trzeba pierwszym razem. Dzięki wielkie. 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: 19.07.2025 - 20:34