Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem z wysyłaniem wiadomości - newsletter
Forum PHP.pl > Forum > Przedszkole
-tromarek1-
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.

memory
  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
konrados
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];
-tromarek1-
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?
konrados
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.
-tromarek1-
Wielkie dzięki. Niechcący skasowałem kawałek potrzebnego kodu. Teraz jest dobrze.
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.