Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przekierowanie danych nie dziala
Forum PHP.pl > Forum > Przedszkole
dizek
Chcialbym aby link usuwal mi rekord z bazy danych , robie to formularzem ale chcialbym zwyklym linkiem i nie zabardzo wiem jak ;/

tutaj kod:

  1. <html>
  2. <head>
  3. <title>Test Strona</title>
  4. <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />
  5. <link href="style.css" rel="stylesheet" type="text/css">
  6. <body bgcolor="gray">
  7. <?php
  8.  
  9.  
  10.  
  11. $dbhost = "localhost";
  12. $dbuser = "root";
  13. $dbpass = "";
  14. $db = "mysql_tut";
  15.  
  16.  
  17. $conn = mysql_connect($dbhost,$dbuser,$dbpass);
  18.  
  19.  
  20. $query = "SELECT * FROM people";
  21. $result = mysql_query($query);
  22.  
  23. while($person = mysql_fetch_array($result))
  24. {
  25. echo "<table border=0>";
  26. echo "<tr><td><p class=\"id\"><b>Dodał :</b></td></p><td><p class=\"name\"><b>" . $person['Name'] . "</b></p></td><td><p class=\"name\">" . date('Y-m-d') . "</td></tr>";
  27. echo "<tr><td colspan=3><p class=\"di\"> " . $person['Message'] . "</p><hr width=165 align=\"left\" color=white></td></tr>";
  28. echo "</table>";
  29.  
  30. }
  31. ?>
  32. </br></br><p class="tresc">Witaj w księdze gosci!</p>
  33. <form action="index.php" method="post">
  34. <table>
  35. <tr><td><p class="name">Nick :</p></td>
  36. <td><input type="text" name="InputName"></td>
  37. <tr><td><p class="name">Wiadomosc :</p></td>
  38. <td><input type="text" name="InputMess"></td>
  39. <tr><td></td><td><input type="submit" name="send" value="Wyslij">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  40. <input type="reset" value="Reset">
  41. </td>
  42. </table>
  43. </form>
  44. <?php
  45. $name = $_POST['InputName'];
  46. $mess = $_POST['InputMess'];
  47. if(!$_POST['send'])
  48. {
  49. echo "<p class=false>Wypełnij formularz proszę!</p>";
  50. echo "&nbsp;&nbsp;<a href=index.php>Odswież</a>";
  51. }
  52. else
  53. {
  54. mysql_query ("INSERT INTO people (`ID`,`Name`,`Message`)
  55. VALUES(NULL,'$name','$mess')") or die(mysql_error());
  56. echo "<p class=true>Wiadomosć została wysłana pomyslnie!</p>";
  57. echo "<a href=\"index.php\">Odswiez</a>";
  58. }
  59. if($_POST['usun'])
  60. {
  61. mysql_query("DELETE FROM people WHERE ID=ID ORDER BY ID LIMIT 1")
  62. or die('Błąd zapytania: '.mysql_error());
  63. }
  64. ?>
  65. </body>
  66. </html>


a tutaj ten link

  1. <?php
  2. echo "<a href="index.php?".$usun." >Usun wpis</a>";
  3. ?>
CuteOne
dodaj do linku id usuwanego rekordu..

  1. <?php
  2. echo '<a href="index.php?action=usun&id='.$id.'" >Usun wpis</a>';
  3. ?>
nekomata
Ładnie ktoś może powyższe rozwiązanie ze spamować ... cUrl + pętla for i nagle masz pustą bazę danych.
dizek
tylko że dostep w teorii bedzie mial tylko administrator czyli ja

a przeciez to tylko kod do treningu tongue.gif



a tak wogole to to nie dziala ; (
markonix
No a zmieniłeś POST na GET?
Pokaż nowy kod.
dizek
tak zmienilem

  1. <?php
  2. echo '<a href="index.php?action=usun&id='.$id.'" >Usun wpis</a>';
  3. ?>
  4. <?php
  5. $name = $_POST['InputName'];
  6. $mess = $_POST['InputMess'];
  7. if(!$_POST['send'])
  8. {
  9. echo "<p class=false>Wypełnij formularz proszę!</p>";
  10. echo "&nbsp;&nbsp;<a href=index.php>Odswież</a>";
  11. }
  12. else
  13. {
  14. mysql_query ("INSERT INTO people (`ID`,`Name`,`Message`)
  15. VALUES(NULL,'$name','$mess')") or die (mysql_error());
  16. echo "<p class=true>Wiadomosć została wysłana pomyslnie!</p>";
  17. echo "<a href=\"index.php\">Odswiez</a>";
  18. }
  19. if($_GET['usun'])
  20. {
  21. mysql_query("DELETE FROM people WHERE ID=ID ORDER BY ID LIMIT 1")
  22. or die('Błąd zapytania: '.mysql_error());
  23. }
markonix
Nidzie nie widzę zmiennej $_GET['usun'], a jest ona warunkiem wykonania zapytania usuwającego.
CuteOne
$_GET['usun'] miało być określeniem wywoływanego modułu.. dizek lepiej poczytaj o POST / GET i dopiero po lekturze 2-3 poradników wróć do tego kodu smile.gif
dizek
  1. <?php
  2. echo '<a href="index.php?action=usun&id='.$id.'" >Usun wpis</a>';
  3. ?>
  4. <?php
  5. $name = $_POST['InputName'];
  6. $mess = $_POST['InputMess'];
  7. if(!$_POST['send'])
  8. {
  9. echo "<p class=false>Wypełnij formularz proszę!</p>";
  10. echo "&nbsp;&nbsp;<a href=index.php>Odswież</a>";
  11. }
  12. else
  13. {
  14. mysql_query ("INSERT INTO people (`ID`,`Name`,`Message`)
  15. VALUES(NULL,'$name','$mess')") or die (mysql_error());
  16. echo "<p class=true>Wiadomosć została wysłana pomyslnie!</p>";
  17. echo "<a href=\"index.php\">Odswiez</a>";
  18. }
  19. if($_GET['usun'])
  20. {
  21. mysql_query("DELETE FROM people WHERE ID=ID ORDER BY ID LIMIT 1")
  22. or die('Błąd zapytania: '.mysql_error());
  23. }


tutaj ten kod jest ten w pierwszym poscie to juz nie aktualny
Daiquiri
Czy zamiast ID=ID nie powinieneś podstawiać tam wartości? A zamiast $_GET['usun'] wstawić $_GET['action'], isset($_GET['action']) lub $_GET['action'] == "usun" ?

Z tego co widzę, chociaż zmieniasz co chwilę listingi, Twoją zmienną typu GET jest action. Serio podstawy by się przydały... index.php?NazwaZmiennej=wartosc
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.