Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: usuwanie klucza z tablicy - cd.
Forum PHP.pl > Forum > Przedszkole
_Mateo
Witam!
Szukalem na forum, i cos niecos znalazłem na ten temat - nawet _Cartman miał bardzo podobny problem. Otóż mam listę subskrybcji (adresy przechowuję w pliku, oddzielając je od siebie przecinkiem) i gdy używam unset, to klucz nie zostaje usunięty - może pokaże mój skrypt:
  1. <?php
  2.     $delete=$_POST['delete'];
  3.     $emails_file=file_get_contents(&#092;"adresses\");
  4.     $emails=explode(&#092;",\", $emails_file);    
  5.     foreach ($delete as $key=>$value) {
  6.     unset($emails['$key']); }
  7.     $plik = fopen(&#092;"adresses\", \"w\");
  8.     foreach ($tablica as $value) {
  9.     fwrite($plik, $value);}
  10.     message (&#092;"Usunięto adresy : $delete.\");
  11.     addlog (&#092;"Usunięto adresy: $delete.\");
  12. ?>

a skrypt ktory wyswietla liste adresow do usuniecia:
  1. <?php
  2.  
  3.  
  4. $emails_file=file_get_contents(&#092;"adresses\");
  5. $emails=explode(&#092;",\", $emails_file);
  6.  
  7. echo '<form method=post action=\"admin.php?action=deletemail\">
  8. <table border-0 width=100%><tr><td align=center><font color=red>D</font></td><td align=center>Adres email</td><td align=center>PW</td></tr>';
  9.     
  10. foreach ($emails as $key) {
  11.     $color='#c6c6c6';
  12.     echo &#092;"<tr><td bgcolor=\"$color\" width=10 align=center><input type=checkbox name=\"delete\" value=\"$key\" /></td><td>$key</td><td bgcolor=\"$color\"><a href=\"mailto:$key\">Napisz prywatnie</a></td></tr>\";}
  13.     
  14. echo '<tr><td colspan=3 align=center><input type=submit name=\"submit\" value=\"Usuń wybrane adresy!\" /></td></tr></table></form>';
  15. ?>


Problem polega na tym, że skrypt nie usuwa tylko poszczególnego klucza a kasuje zawartość całego pliku. Już nie mam pomysłu jak to naprawić. Bardzo proszę o jakieś podpowiedzi.

Mateo
AxZx
Cytat
  1. <?php
  2. unset($emails['$key']); }
  3. ?>


a nie powinno byc tak :
  1. <?php
  2. unset($emails[$key]); }
  3. ?>
_Mateo
coż, nie działa i z apostrofem i bez - kurde resetune mi zupełnie plik. Dlaczego tak się dziwnie dzieje? jak powinien brzmieć skrypt, który usuwa poszczególne wpisy?
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.