Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie ciągu z pliku txt
Forum PHP.pl > Forum > PHP
wuzzi
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!
kartin
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'
Pyton_000
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.
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.