Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: bramka email
Forum PHP.pl > Forum > PHP
hhg
piszę sobie skrypt bramki e-mail w php który pobiera z bazy mysql adres e-mail jednego z adminów

fragment skryptu który generuje e-mail

  1. <?php
  2. if($email_submit == 'WYSLIJ' && (!$err)) {
  3. require_once ('mysql_connect.php');
  4. $query = "SELECT email FROM admins WHERE user_id=1";
  5. $result = @mysql_query ($query);
  6. $row = mysql_fetch_array ($result, MYSQL_NUM); 
  7.  
  8. $naglowki = 'From: ' . $email_email . "rn" . 'Reply-To: ' . $email_email . "rn";
  9. $tresc = 'Od: ' . $email_email . '
  10. Tresć wiadomosci:
  11.  
  12. ' . $email_message . '
  13.  
  14.  
  15. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  16. Wysłano ze strony: ' . $document . '
  17. Adres IP nadawcy: ' . $ip . '
  18. Host nadawcy: ' . $host . '
  19. Przegladarka nadawcy: ' . $browser;
  20.  
  21. if(mail($row[0], $email_subject, $tresc, $naglowki)) {
  22. print '<center style="color:#40FF00;">- wiadomosć wysłana -</center>';
  23. $email_subject = $email_message = '';
  24. } else {
  25. print '<center style="color: red;">- nie można było wysłać wiadomosci -</center>';
  26. }
  27.  
  28. exit();
  29.  
  30. }
  31. ?>

dostaję w tym fragmencie błąd o treści

Cytat
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in c:\apache\htdocs\mail.php on line 69

Parse error: parse error in c:\apache\htdocs\mail.php on line 69

przy czym line 69 dotyczy okolicy zapytania SELECT, ew \r\n, te błędy są nie do końca jasne bo nie wiem czy on liczy puste wiersze

ma ktos z Was pomysł co jest nie tak?
zaznaczam ze w monitorze mysql zapytanie to dział i zwraca e-mail
Kayne
Błąd masz przy zmiennej $naglowek ponieważ nazmiane dajesz albo apostrofy albo cudzysłowie a można tylko jedno stosować.

Dokładniej zamień to:

Kod
<?php
$naglowki = 'From: ' . $email_email . "\r\n" . 'Reply-To: ' . $email_email . "\r\n";
?>


na to:

  1. <?php
  2. $naglowki = 'From: ' . $email_email . 'rn' . 'Reply-To: ' . $email_email . 'rn';
  3. ?>


I powinno śmigać.

P.S. W pierwszym dałem tag [ code] ponieważ nie wiem czemu przesuwało mi slashe przy cudzysłowiach :/
cicik
Z tego co kiedys empirycznie otrzymalem wyszlo mi, ze \r\n musi byc w cudzyslowach a nie w apostrofach.

Jak robilem "\r\n" to otrzymywalem nowy wiersz a jak '\r\n' to wypisywalo mi na ekranie \r\n
hhg
dzieki za pomoc

w takim razie jeszcze mi powiedzcie czy to powinno działać z takimi cudzyslowami jak jest:

  1. <?php
  2.  
  3. if(mail('ADRES E-MAIL', 'rejestracja w firmie', 'bleble',
  4. "From: asd@asd.pl rn Reply-To: asd@asd.pl rn")) {
  5. echo '<p class="para"><b>Zostałeś zarejestrowany!</b></p>';
  6. }
  7.  
  8.  
  9. ?>


? bo nie działa
Kayne
Ale dlaczego tutak:

  1. <?php
  2. "From: asd@asd.pl rn Reply-To: asd@asd.pl rn")) {
  3. ?>


Masz rn napisane? Bez slash'ów?
hhg
ze slashami ale widocznie tutejsze forumowe [php] je usunęło, czyli jest tak:
<?php

if(mail('ADRES E-MAIL', 'rejestracja w firmie', 'bleble',
"From: asd@asd.pl \r\n Reply-To: asd@asd.pl \r\n")) {
echo '<p class="para"><b>Zostałeś zarejestrowany!</b></p>';
}


?>
marek220
Witam

Błąd najprawdopodoniej leży gdzie indziej, nie ma znaczenia używanie naprzemienne cudzyslowiów z apostrofami. Miałeś dobrze, zostaw "\r\n".

Pokaż nam kod mail.php ze zgodnością linii abyśmy mogli być pewni gdzie leży linia 69 smile.gif
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.