Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Usuwanie ciągu z pliku txt
wuzzi
post
Post #1





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

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


Witam. Próbuję napisać skrypt, który będzie pobierać nazwę z bazy danych i usuwać ją z pliku txt a potem usuwał cały wpis w bazie. Mam napisane taki skrypt z wykorzystaniem istniejących poradników/kodów w internecie.
  1. <?php
  2. ?>
  3. <?php
  4. if($_SESSION["zalogowany"]==0){echo "nie masz dostępu do tej części witryny. <a href='index.php'>Zaloguj się</a></body></html>;"; exit();}
  5. ?>
  6. <br><br><u><b><font size="3" color="red" face="Verdana">USUNIĘCIE NEWSA</font></b></u> <br><br>
  7. Aby zastosować zmiany kliknij odśwież:
  8. <input type="button" value="Odśwież" onClick="window.location.reload()">
  9. <br><br>
  10.  
  11. <?php
  12.  
  13. require "../inc/connection.php";
  14. connection();
  15.  
  16.  
  17.  
  18.  
  19. // logowanie
  20.  
  21. /*
  22.   połączenie z bazą sobie darujemy
  23.   opisane jest ono w tej poradzie
  24.   <a href="http://www.kess.com.pl/?sid=10&pid=32" target="_blank">http://www.kess.com.pl/?sid=10&pid=32</a>
  25. */
  26.  
  27. /* zapytanie do konkretnej tabeli */
  28. $wynik = mysql_query("SELECT * FROM MP3")
  29. or die('Błąd zapytania');
  30.  
  31. /*
  32. wyświetlamy wyniki, sprawdzamy,
  33. czy zapytanie zwróciło wartość większą od 0
  34. */
  35. echo "<table>";
  36. echo "<table cellpadding=\"2\" border=1 width =\"600\">";
  37. echo "<tr>";
  38. echo "<th><B><font size=\"3\">TYTUL:</font></b></th>";
  39. echo "<th><b><font size=\"3\">X<b></font></th>";
  40. echo "</tr>";
  41. if(mysql_num_rows($wynik) > 0) {
  42. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  43.  
  44. while($r = mysql_fetch_array($wynik)) {
  45. echo "<tr>";
  46. echo "<td>".$r['tytul']."</td>";
  47. echo "<td> <a href=\"home.php?w=up&a=del&amp;id={$r[0]}\">USUŃ</a> </td>";
  48. echo "</tr>";
  49. }
  50. echo "</table>";
  51. }
  52. $a = trim($_GET['a']);
  53. $id = trim($_GET['id']);
  54. $d = ($_GET['d']);
  55.  
  56. if($a == 'del' and !empty($id)) {
  57.  
  58.  
  59. $result = mysql_query("SELECT tytul FROM MP3 WHERE id='$id'");
  60. $array = mysql_fetch_row($result);
  61.  
  62. $file = fopen("../p.txt", "a");
  63. $s = "|";
  64.  
  65. $out = str_replace($array, "", $file);
  66.  
  67.  
  68. fwrite($file,$out);
  69. fclose($file);
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76. /* usuwamy rekord */
  77. mysql_query("DELETE FROM MP3 WHERE id='$id'")
  78. or die('Błąd zapytania: '.mysql_error());
  79. echo $t;
  80. echo 'Wpis został usunięty!';
  81. }
  82.  
  83. ?>
  84. <br>
  85.  

Dzięki za pomoc!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kartin
post
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 79
Dołączył: 25.05.2010

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


Z czym konkretnie masz problem?

Poczytaj o SQL injection i zobacz co się stanie, gdy wpiszesz w adresie np. home.php?w=up&a=del&amp;id=0', OR 1=1'


--------------------
Jeśli ten post pomógł to kliknij przycisk po lewej stronie.
Nie pomagam przez PW, GG, e-mail, faks, telegram, znaki dymne, ...
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


zainteresuj się file_get_contents i file_put_contents
W tej chwili operujesz na zmiennej $file która to jest uchwytem do pliku, nie zawartością.
Brakuje Ci jeszcze odczytu pliku.
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: 21.08.2025 - 07:18