Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Usuwanie rekordów z SQL
CAR4NTHIR
post 16.11.2020, 12:45:44
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 16.11.2020

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


Witam,
Jestem w trakcie tworzenia skryptu php, który ma implementować dane do bazy SQL, wyświetlać je oraz usuwać. Udało mi się zrobić dwa pierwsze punkty, natomiast nie bardzo wiem jak się zabrać za usuwanie. Nie jestem zbyt dobry z programowania dlatego szukam pomocy tutaj. Za wszystkie błędy przepraszam i dziękuję za wyrozumiałość. Poniżej kod
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="utf-8">
  6. <title>Ewidencja</title>
  7. <center><img src="JD123.png"><center>
  8. <link href="JD3.css" rel="stylesheet" type="text/css">
  9. </head>
  10. <body bgcolor="black">
  11.  
  12. <style type="text/css">
  13. <!--
  14. a:link {color: #00BFFF;}
  15. a:visited {color: #00BFFF;}
  16. a:active {color: #00BFFF;}
  17. -->
  18. </style>
  19.  
  20. <?php
  21. ini_set('display_errors','off');
  22. ini_set('error_reporting', E_ALL );
  23. define('WP_DEBUG_DISPLAY', false);
  24.  
  25. $imie = $_POST['imie'];
  26. $nazwisko = $_POST['nazwisko'];
  27.  
  28. if($imie and $nazwisko) {
  29.  
  30. $imie = $_POST['imie'];
  31. $nazwisko = $_POST['nazwisko'];
  32.  
  33.  
  34. $link = new mysqli("localhost", "root", "", "dymy");
  35.  
  36. $sql = "INSERT INTO `pracownik`(`Imie`, `Nazwisko`) VALUES ( '$imie','$nazwisko' ) ";
  37.  
  38. mysqli_query($link, $sql)
  39.  
  40. or die ("Problemy z odczytem bazy danych");
  41.  
  42.  
  43.  
  44.  
  45. mysqli_close($link);
  46. }
  47. ?>
  48. <form method="post" action= "pracownik.php">
  49. <input name="imie" type ="text" placeholder="Imie" >
  50. <input name="nazwisko" type ="text" placeholder="Nazwisko" >
  51. <input type ="submit" value="dodaj">
  52. </form>
  53.  
  54.  
  55.  
  56. <h2>Pracownicy:</h2>
  57. <?php
  58. $servername = "127.0.0.1";
  59. $username = "root";
  60. $password = "";
  61. $dbname = "dymy";
  62.  
  63.  
  64. $conn = new mysqli($servername, $username, $password, $dbname);
  65.  
  66. if ($conn->connect_error) {
  67. die("Connection failed: " . $conn->connect_error);
  68. }
  69.  
  70. $sql = "SELECT imie,nazwisko FROM pracownik";
  71. $result = $conn->query($sql);
  72.  
  73. if ($result->num_rows > 0) {
  74. echo "<style> td { border: 1px solid white; } </style>";
  75. echo '<table class="tabela"><tr><th>Imię</th><th>Nazwisko</th></tr>' ;
  76.  
  77. while($row = $result->fetch_assoc()) {
  78.  
  79. echo "<tr><td>{$row['imie']}</td><td>{$row['nazwisko']}</td></tr>";
  80.  
  81. }
  82. echo"</br>";
  83. } else {
  84. echo "0 results";
  85. }
  86. $conn->close();
  87. ?>
  88.  
  89.  
  90.  
  91.  
  92. </body>
  93. </html>
  94.  


Ten post edytował CAR4NTHIR 16.11.2020, 12:47:33
Go to the top of the page
+Quote Post
dublinka
post 16.11.2020, 14:32:00
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Poczytaj o DELETE.

Ogolnie to powinienes miec w tabeli ID ktore podstawiasz pod jakies pole radio buttona zeby bylo wiadomo co usuwac. Wtedy przesylasz te id poprzez post, dla bezpieczenstwa rzutujesz go jako integer, laczysz sie z baza jak zazwyczaj i teraz musisz poczytac o DELETE

(int)$id = $_POST['id'];
// te id wyzej musisz pobrac z tabeli i podstawic pod radio, select czy button.
DELETE FROM `nazwatabeli` WHERE `id` = $id

`id` to Twoje id w tabeli. Kazde id jest unikalne wiec nigdy sie nie powieli. Jesli nie masz takiego pola musisz zrobic od nowa tabele.

$sql = "CREATE TABLE tabela (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
pierwszepole VARCHAR(30) NOT NULL,
drugiepole VARCHAR(30) NOT NULL
Itd
)";

Oczywisie tak nie powinno sie robic ze wzgledow bezpieczenstwa ale do nauki zebys zrozumial o co chodzi starczy.
A tu masz jak to sie powinno robic

https://websitebeaver.com/prepared-statemen...t-sql-injection

Ten post edytował dublinka 16.11.2020, 15:54:58


--------------------
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: 16.04.2024 - 12:10