Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]Brak wykonywania skryptu - kasowanie wpisu w tabeli + pozostanie na tej samej stronie
sentinell
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2015

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


Witam.

Kolejne zapytanie.

Cały skrypt jest uruchomiony pod adresem: http://esnare.pl/promotorzy/index.php?go=lista_lokalizacji

Mam sobie wyświetlone rekordy w tabeli z bazy a obok każdego przycisk USUŃ (który powinien usunąć rekord z tabeli)

Link z tego przycisku USUŃ ma postać : http://esnare.pl/promotorzy/include/usun_hale.php?id=1

KOD PHP pliku usun_hale.php ma postać:
  1. <?php
  2. require "include/polaczenie.php";
  3. // wywołujemy funkcję connection()
  4. connection();
  5.  
  6. DELETE FROM hale WHERE id=$id
  7. print '<input type="hidden" name="referer" value="'.$_SERVER['PHP_SELF'].'"/>';
  8. ?>




Co nie działa:
1.) Nacisnięcie nie powoduje usunięcie rekordu
2.) Dodałem kod:
  1. print '<input type="hidden" name="referer" value="'.$_SERVER['PHP_SELF'].'"/>';

Który de facto powinien powodować, nie otwieranie kolejnej strony, tylko pozostanie na tej samej (ale już z usuniętą pozycją)
Oczywiście nie działa.

Go to the top of the page
+Quote Post
blahy
post
Post #2





Grupa: Zarejestrowani
Postów: 82
Pomógł: 22
Dołączył: 20.07.2010

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


0) Wlacz wyswietlanie bledow. Jesli masz dostep do php.ini to tam, jesli nie to w skrypcie:
  1. ini_set('display_errors', 1);

1. W skrypcie php masz bledy.
- Zapytanie SQL powinno byc wywolane w funkcji mysql_query (tak jak w Twoim poprzednim temacie), a nie umieszczone bezposrednio. Sprawdzajac czy jej wywolanie zwroci true mozesz sprawdzic czy zapytanie zostalo wykonane poprawnie.
- zmienna $id wyglada na niezdefiniowana. Powinna zostac pobrana z superglobala $_GET - $_GET['id'] (tak jak w poprzednim temacie z $_POST)
2. Ten input jesli zostanie odpowiednio obsluzony po submitowaniu formularza bedzie powodowal przekierowanie na strone, z ktorej zostal submitowany. Tutaj nie ma zadania POST, tylko GET (nie submitujemy formularza tylko klikamy w link).
Mozesz wymusic redirect na strone po usunieciu rekordu uzywajac header() i podajac w nim absolutny url do strony na ktory chcesz przekierowac (jesli ma byc dynamicznie mozna przekazywac ten adres w urlu, tak jak i id).
Zwroc tez uwage na sql injection w Twoich zapytaniach.
Go to the top of the page
+Quote Post
sentinell
post
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2015

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


Załatwię w weekend.
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 - 19:54