Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kasowanie adresów
bronx
post
Post #1





Grupa: Zarejestrowani
Postów: 333
Pomógł: 0
Dołączył: 4.03.2004

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


witam

napisałem skrypt rozsyłający subskrypcje, wszystko chodzi dobrze tylko mam taki problem:

adresy e-mail zapisuje do pliku i teraz jak ma wyglądać skrypt, który by kasował te wpisy ?

ma być coś takiego, że jest formularz i jak ktoś nie chce dostawać listów to wpisuje tam swój adres e-mail i jeżeli taki sam adres jest zapisany w pliku to żeby go skasowało ?

chyba wiecie o co mi chodzi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Misiek
post
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 18.09.2002
Skąd: Bochnia

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


Wiesz, tak po Twojemu to według mnie trudno będzie wybrnąć z tego. Chodzi mi o to, że zakładasz, że jeśli email już istnieje na liście to od razu go usuwa. Ja proponuję dołączyć jeszcze dwa pola radio pod polem text. I zaznaczenie któregoś z nich będzie oznaczać dopisanie się do listy lub wypisanie z niej. Napisałem taki skrypt:

  1. <?php
  2.  
  3. if ($_POST ['email']) {
  4.  $emaile_p = file (&#092;"pliki/emaile.txt\", \"r\");
  5.  $ilosc_maili = count ($emaile_p);
  6.  if ($_POST ['dlu'] == 'd') {
  7. for ($i=0; $i<$ilosc_maili; $i++) {
  8.  $emaile_p [$i] = chop ($emaile_p [$i]);
  9.  if ($emaile_p [$i] == $_POST ['email']) {
  10. print 'Twój e-mail figuruje już na liście.';
  11. $jest = 1;
  12.  }
  13. }
  14. if (!($jest)) {
  15.  $plik = fopen (&#092;"pliki/emaile.txt\", \"a\");
  16.  flock ($plik, 2);
  17.  fputs ($plik, $_POST ['email'].&#092;"n\");
  18.  flock ($plik, 3);
  19.  fclose ($plik);
  20.  print 'Twój adres e-mail został zapisany.';
  21. }
  22.  } else {
  23. $plik = fopen (&#092;"pliki/emaile.txt\", \"w\");
  24. flock ($plik, 2);
  25. for ($i=0; $i<$ilosc_maili; $i++) {
  26.  $emaile_p [$i] = chop ($emaile_p [$i]);
  27.  if ($emaile_p [$i] != $_POST ['email']) {
  28. fputs ($plik, $emaile_p [$i].&#092;"n\");
  29.  } else {
  30. $usunieto = 1;
  31.  }
  32. }
  33. flock ($plik, 3);
  34. fclose ($plik);
  35. if ($usunieto) {
  36.  print 'Twój e-mail został usunięty z listy.';
  37. } else {
  38.  print 'Nie ma takiego adresu e-mail na liście.';
  39. }
  40.  }
  41. }
  42.  
  43. ?>


No i jeszcze formularz:

  1. <form method="post">
  2. <input type="text" name="email"><br>
  3. <input type="radio" name="dlu" value="d" checked>Dodaj e-mail<br>
  4. <input type="radio" name="dlu" value="u">Usuń e-mail<br>
  5. <input type="submit" value="Wyślij">


Tylko jeszcze mam pytanie: skrypt u mnie działa, dodaje, usuwa itd., ale cały czas wyskakuje mi: Notice: Undefined index: email in - i tu wskazuje na tą pierwszą linijkę skryptu:
  1. <?php
  2. if ($_POST ['email']) {
  3. ?>


Dlaczego?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 20:57