Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Problem z DELETE
Forum PHP.pl > Forum > Przedszkole
XxmanxX
Witam,
Skrypt niby usuwa rekord o danym $id_alert, nie pluje błędami ale rekord cały czas w bazie siedzi. Może ma ktoś jakiś pomysł gdzie jest błąd?

  1. <?php
  2. $action=$_GET['action'];
  3. $id_alert=$_GET['id'];
  4. switch($action){
  5. case "drop": ?>
  6. Do you really want to delete this record?
  7. <form action="ten_sam_skrypt.php" method="post">
  8. <input type="submit" name="yes" value="Yes" />
  9. <input type="submit" name="no" value="No" />
  10. </form>
  11. <?php
  12. break;
  13. case "edit":
  14. echo "edit";
  15. break;
  16. }
  17. if($_POST['yes']){
  18. $connect=mysql_connect("server","username","password")
  19. or die("Nie moge polaczyc z serwerem");
  20. mysql_select_db("db_name");
  21. $delete_query="DELETE FROM alerts WHERE id_alert = '$id_alert'";
  22. $result=mysql_query($delete_query)
  23. or die (mysql_error());
  24. }
  25. if($_POST['no']) include('skrypt.php');
  26. ?>


id_alert int(11) UNSIGNED No None auto_increment


Pozdrawiam
viking
No a gdzie przekazujesz $id_alert?
XxmanxX
Jeśli chodzi o to czy wykonuje się ten blok kiedy naciskam yes

  1. if($_POST['yes']){
  2. $connect=mysql_connect("server","username","password")
  3. or die("Nie moge polaczyc z serwerem");
  4. mysql_select_db("db_name");
  5. $delete_query="DELETE FROM alerts WHERE id_alert = '$id_alert'";
  6. $result=mysql_query($delete_query)
  7. or die (mysql_error());
  8. }


to się wykonuje bo pluje bledami jesli jest zla skladnia DELETE lub kiedy specjalnie przestawie parametry polaczenia z baza.
$id_alert przekazuje w klauzuli WHERE ?
pole id_alert ktore jest w bazie równa się $id_alert

r4xz przecież $_POST['yes'] nie jeste wartością 0 tylko dla if'a jest chyba 1, jeśli się nie myle?
viking
  1. $id_alert=$_**GET**['id'];
  2. [...]
  3. if($_**POST**['yes']){
XxmanxX
Sorry ale dalej nie rozumiem tongue.gif
viking
Dobrze czasami poćwiczyć cierpliwość smile.gif DELETE robisz na _POST, $id_alert jest pobierany dla _GET w związku z czym powieneś tam mieć NOTICE jak włączysz raportowanie błędów. Przekaż go ponownie w formularzu.
XxmanxX
A jak przekazać go ponownie w formularzu, żeby nie było to widoczne dla user'a ? smile.gif
nospor
w polu hidden (ukrytym)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.