Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Problem z wysyłaniem wiadomości - newsletter
--tromarek1--
post 10.06.2012, 15:01:12
Post #1





Goście







mam taki problem.

  1. <?php
  2. $temat = $_POST['temat'];
  3. $zawartosc = $_POST['zawartosc'];
  4.  
  5. $con = mysql_connect('mysql.cba.pl', 'login', 'haslo');
  6. if (mysql_error()) die('Database connection error: '. mysql_error());
  7. mysql_select_db('handelspolkami_cba_pl', $con);
  8. if (mysql_error()) die('Database selection error: '. mysql_error());
  9. $adres= mysql_query('SELECT email FROM zapisani');
  10.  
  11. while($wiersz=@mysql_fetch_row($adres))
  12. {
  13. $adres=$wiersz[0];
  14. mail($adres, $temat, $zawartosc, 'From: tromarek1@gmail.com');
  15. }
  16. ?>


W kodzie tym jest jeden błąd, ale nie wiem jak go naprawić. chodzi mi o linijkę $adres=$wiersz[0];

Gdy wysyłam wiadomość za pomocą newslettera, system właśnie przez tą linijkę wysyła wiadomość tylko do pierwszej osoby zapisanej w systemie MySQL. Bez tej linijki system nie ma prawa działać. Może mi ktoś pomóc. Próbowałem różnych sposobów i spędziłem nad tym pół dnia i nic.

Go to the top of the page
+Quote Post
memory
post 10.06.2012, 15:07:19
Post #2





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

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


  1. $wiersz[0];
Inaczej nie może. Tablica jest numerowana od 0 do n. Następna osoba będzie miała postać $wiersz[1] itd.
aby wyświetlić wszystkich użyj pętli np foreach

Ten post edytował memory 10.06.2012, 15:07:56
Go to the top of the page
+Quote Post
konrados
post 10.06.2012, 15:10:59
Post #3





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Ja bym raczej zwrócił uwagę na to, że zmiennej o tej samej nazwie $adres używasz do dwóch różnych celów, tym samym w

$adres=$wiersz[0]

nadpisujesz tę zmienną.

Zrób np:

  1. $r= mysql_query('SELECT email FROM zapisani');
  2. while($wiersz=@mysql_fetch_row($r))
  3. $adres=$wiersz[0];


Ten post edytował konrados 10.06.2012, 15:22:18
Go to the top of the page
+Quote Post
--tromarek1--
post 10.06.2012, 15:27:25
Post #4





Goście







Konrados, ale teraz po co teraz jest zmienna $adres. Te nadpisanie było w pełni poprawne. Dla pewności sprawdziłem to co napisałeś i oczom ukazał mi się błąd:
  1. Parse error: syntax error, unexpected T_STRING in /virtual/handelspolkami.cba.pl/mail.php on line 15



Nie używałem nigdy takiej pętli jak Foreach. możecie mi przybliżyć trochę temat? jak to połączyć z mysql?
Go to the top of the page
+Quote Post
konrados
post 10.06.2012, 15:33:54
Post #5





Grupa: Zarejestrowani
Postów: 623
Pomógł: 79
Dołączył: 16.01.2008

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


Nie, nie było poprawne. To co dajesz jako parametr do funkcji mysql_fetch_row ma cały czas wskazywać na mysql resource, który zwrócony został przez funkcję mysql_query. A ty sobie ją zmieniasz w pierwszej iteracji Twojej pętli.


Cytat
Konrados, ale teraz po co teraz jest zmienna $adres


No tam ląduje wartość z pierwszego pola, domniemuję, że adres email. Potem wykorzystujesz tę zmienną w funkcji mail.

Weź pokaż kod, który wygenerował ten błąd.

Ten post edytował konrados 10.06.2012, 15:35:00
Go to the top of the page
+Quote Post
--tromarek1--
post 10.06.2012, 17:26:01
Post #6





Goście







Wielkie dzięki. Niechcący skasowałem kawałek potrzebnego kodu. Teraz jest dobrze.
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: 12.07.2025 - 08:07