Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Lista mailingowa
kamil_lk
post 16.12.2009, 20:51:51
Post #1





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


Witam. Próbuje zrobić prostą listę mailingową opartą o pliki tekstowe. Niestety zwiększanie w pliku dodaj.php nie działa. Proszę o pomoc.

wprowadz.html
  1. <form action="dodaj.php" method="post">
  2. <input name="mail" type="text" /> <input type="submit" value="dodaj" />
  3. </form>


dodaj.php
  1. <?php
  2. $a= $_POST['mail'];
  3. $mail="$a\n";
  4. $otworz= fopen("maile.txt", 'a+');
  5. $dopisz= fwrite($otworz, $mail);
  6. fclose($otworz);
  7. $otworz2= fopen("ile.txt", 'r+');
  8. $odczyt= file_get_contents("ile.txt");
  9. $ile= $odczyt+1; // nie zwiększa się liczba
  10. $zapis= fwrite($otworz2, $ile);
  11. fclose($otworz2);
  12. ?>


Ten post edytował kamil_lk 16.12.2009, 20:52:12
Go to the top of the page
+Quote Post
piotrooo89
post 16.12.2009, 20:56:54
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




no ale co ty chcesz zwiększy? file_get_contents?


--------------------
Go to the top of the page
+Quote Post
tog
post 16.12.2009, 21:00:03
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


a tak swoja droga to zmienne maja to do siebie, ze moga zmieniac swoja wartosc
wiec nei wiem po co $otworz2 zamiast zastapienie $otworz
Go to the top of the page
+Quote Post
kamil_lk
post 16.12.2009, 21:03:03
Post #4





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


file_get_contents odczytuje mi liczbę jaka jest w pliku ile.txt
a potem tą liczbę chcę zwiększy o jeden
Go to the top of the page
+Quote Post
piotrooo89
post 16.12.2009, 21:17:25
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




pokaż jak masz podane dane w pliku? jak wygląda ten plik z adresami.


--------------------
Go to the top of the page
+Quote Post
kamil_lk
post 16.12.2009, 21:20:46
Post #6





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


maile.txt
  1. mail@o2.pl
  2. mail2@o2.pl
  3. mail3@o2.pl


ile.txt
  1. 0
Go to the top of the page
+Quote Post
piotrooo89
post 16.12.2009, 21:23:52
Post #7


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




to tak, ja bym pobrał za pomocą file_get_contents do zmiennej dodał do niej nowy mail i zapisał za pomocą file_put_contents.


--------------------
Go to the top of the page
+Quote Post
kamil_lk
post 16.12.2009, 21:27:57
Post #8





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


Nie za bardzo czaje o co Ci dokładnie chodzi. Zapisywanie maili do pliku gra jak należy. Tylko problem leży w tym że zwiększanie nie jest zapisywane do pliku.
Go to the top of the page
+Quote Post
piotrooo89
post 16.12.2009, 21:33:36
Post #9


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




aa dobra już rozumiem, więc liczba którą pobierasz z pliku jest stringiem (czyli tekstem) nie liczbą (czyli intem).
zrób rzutowanie na int:

  1. $l = file_get_contents('ile.txt');
  2. $liczba = (int)$l +1;
  3. echo $liczba;


--------------------
Go to the top of the page
+Quote Post
kamil_lk
post 16.12.2009, 21:39:35
Post #10





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


  1. <?php
  2. $a= $_POST['mail'];
  3. $mail="$a\n";
  4. $otworz= fopen("maile.txt", 'a+');
  5. $dopisz= fwrite($otworz, $mail);
  6. fclose($otworz);
  7. $otworz2= fopen("ile.txt", 'w+');
  8. $odczyt= file_get_contents('ile.txt');
  9. $ile= (int)$odczyt+1; // tutaj dokonałem zmiany
  10. $zapis= fwrite($otworz2, $ile);
  11. fclose($otworz2);
  12. ?>


ale nadal nie działa
Go to the top of the page
+Quote Post
tog
post 16.12.2009, 21:52:07
Post #11





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

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


znalazlem cos takiego na jakiejs moejej stronce


$file=fopen("counter.n", "w"); // otwiera plik do zapisu
flock($file, 2); // blokuje do zapisu
fwrite($file, $ile); //zapisuje wartość
flock($file, 3); // odblokowuje plik
fclose($file); //zamyka plik

dziala w kazdym razie
chyba chodzi o ta funkcje flock
Go to the top of the page
+Quote Post
piotrooo89
post 16.12.2009, 22:02:07
Post #12


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




chłopacy ale wy kombinujecie...

  1. $l = file_get_contents('ile.txt');
  2. $liczba = (int)$l +1;
  3. file_put_contents('ile.txt', $liczba);
  4. echo $liczba;


aha tak btw to pierw zapisuj w jednym pliku a później w drugim bo masz bajzel w kodzie.


--------------------
Go to the top of the page
+Quote Post
piotrekkr
post 16.12.2009, 23:04:50
Post #13





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


  1. $a = $_POST['mail'];
  2. $mail = "$a\n";
  3. file_put_contents("maile.txt", $mail, FILE_APPEND);
  4.  
  5. $ile = (int) file_get_contents('ile.txt');
  6. $ile++; // zwiększa się liczba
  7. file_put_contents('ile.txt', $ile);
  8.  


coś takiego?

Ten post edytował piotrekkr 16.12.2009, 23:05:28
Go to the top of the page
+Quote Post
kamil_lk
post 17.12.2009, 16:02:54
Post #14





Grupa: Zarejestrowani
Postów: 325
Pomógł: 33
Dołączył: 31.05.2008

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


kod który jest na samym początku działa poprawnie.. okazało się że to wina dreamweavera, który pytał czy odświeżyć plik ile.txt a tego nie robił winksmiley.jpg
temat do zamknięcia smile.gif

Ten post edytował kamil_lk 17.12.2009, 16:03:15
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: 14.08.2025 - 07:27