Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]pomoc w formularzu PHP Mailer
Forum PHP.pl > Forum > Przedszkole
faziulek
Witam serdecznie,

Jako że to mój pierwszy post na forum , chciałbym się z Wami przywitaćsmile.gif

Mam problem z dodaniem opcji w formularzu kontaktowy phpmailera, chciałem dodać dodatkowe pola w formularzu, jednak na mejla nei przychodzą mi one.
Mejl wysyła się poprawnie m tylko że bez tych pól. Gdzie może tkwić błąd?
Poniżej kod:
<html>

<head>
<title>Przykładowy formularz kontaktowy</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script language="JavaScript" src="javavalid/gen_validatorv2.js" type="text/javascript"></script>
</head>

<body>


<?php
// jesli formularz został zgłoszony - przetwarzamy go
if ($_POST['wyslij']) {

if ( !$_POST['email'] OR !$_POST['firma'] OR !$_POST['nazwisko'] OR !$_POST['telefon'] OR !$_POST['tresc'] ) { echo "Błąd. Puste pola!"; break; }// coś poszło nie tak



$email = $_POST['email'];
$firma = $_POST['firma'];
$nazwisko = $_POST['nazwisko'];
$telefon = $_POST['telefon'];
$tresc = $_POST['tresc'];


$adresat = 'adres@gmail.com ';
// mozesz tu zdefiniowac adres na sztywno np $adresat = "zuzia@serwer342.pl";
// usun wtedy ponizsze sprawdzenie



// utnij zbyt długą treść i podpis



if ( strlen($firma) > 60 ) $firma = substr($firma, 0, 60);
if ( strlen($nazwisko) > 50 ) $nazwisko = substr($nazwisko, 0, 60);
if ( strlen($email) > 60 ) $email = substr($email, 0, 60);
if ( strlen($telefon) > 15 ) $telefon = substr($telefon, 0, 60);
if ( strlen($tresc) > 2000 ) $tresc = substr($tresc, 0, 2000);

if(!preg_match('|^[_a-z0-9.-]*[a-z0-9]@[_a-z0-9.-]*[a-z0-9].[a-z]{2,3}$|e', $email)) { echo "Niepoprawny adres email!"; break; }



// koniec sprawdzania, wysylamy emaila

require_once('phpmailerx/class.phpmailer.php');

$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Mailer= "smtp";
$mail->Username = "adres@gmail.com"; // SMTP username
$mail->Password = "***"; // SMTP password
$mail->AddReplyTo ($email, $nazwisko);
$mail->From = $email;
$mail->FromName = $nazwisko;
$mail->Subject = "Zapytanie ze strony od: $nazwisko";
$mail->Body = $tresc;
$mail->WordWrap = 50;
$mail->AddAddress ($adresat);
// $mail->IsHTML (true);
$mail->SetLanguage("pl", "phpmailerx/language/");
$mail->CharSet = 'utf-8';

if(!$mail->Send())
{ echo "Błąd wysyłania: " . $mail->ErrorInfo; }
else
{ echo "Wiadomość została wysłana."; }

} // koniec if-a przetwarzajacego formularz

// jeśli nie zgłoszono jeszcze formularza - wyświetlamy go
else
{
?>


<form action="kontakt.php" method="post" name="formularz_kontaktowy">
<h2>Formularz kontaktowy</h2>
<br />


<br />
<label for="firma">Firma: </label>
<input id="firma" type="text" name="firma" /><br /><br />


<label for="nazwisko">Imię i Nazwisko: </label>
<input id="nazwisko" type="text" name="nazwisko" /><br /><br />

<label for="email" >Email: </label>
<input id="email" type="text" name="email" /><br /><br />

<label for="telefon" >Telefon: </label>
<input id="telefon" type="text" name="telefon" /><br /><br />

<textarea style="width:260px; height: 160px; " name="tresc" ></textarea><br /><br />

<input class="wysylacz" type="submit" name="wyslij" value="Wyślij" />
</form>

<script language="JavaScript">
var sprawdzacz = new Validator("formularz_kontaktowy");
sprawdzacz.addValidation("firma","req","Wprowadź nazwę firmy");
sprawdzacz.addValidation("firma","maxlen=40","Firma nie może być dłuższa niż 40 znaków");

sprawdzacz.addValidation("nazwisko","req","Wprowadź Imię i Nazwisko");
sprawdzacz.addValidation("firma","maxlen=40","Nazwisko nie może być dłuższe niż 40 znaków");


sprawdzacz.addValidation("email","req","Podaj adres e-mail ");
sprawdzacz.addValidation("email","maxlen=60","Błąd - adres e-mail dłuższy niż 60 znaków");
sprawdzacz.addValidation("email","email","Niepoprawny adres e-mail");

sprawdzacz.addValidation("telefon","req","Wprowadź numer telefonu");
sprawdzacz.addValidation("telefon","maxlen=40","Telefon nie może być dłuższy niż 12 znaków");

sprawdzacz.addValidation("tresc","maxlen=5000","Formularz nie przyjmuje wiadomości dłuższych niż 5000 znaków");
sprawdzacz.addValidation("tresc","req","Wprowadź treść zapytania");
</script>


<?php } ?>

</body>

</html>


nie mam bladego pojęcia gdzie tkwi błąd sad.gif
Help!
Ruch Radzionków
po 1 kod php zawsze dodawaj w

Kod
[php][/php]


a po 2 co ci ma wysłac na maila jak tam jest tylko jedna wiadomośc która wpisujesz w
  1. <textarea style="width:260px; height: 160px; " name="tresc" ></textarea>
faziulek
~Ruch Radzionków- a jak pozmieniać te labele zeby sie wysylaly?

nie czaje za bardzo:)
Ruch Radzionków
to powiec mi jak to ma wyglądac w mailu to ci powiem jak to zrobic
faziulek
mniej więcej takie pola potrzebuję
looknij w printscreena
http://imageshack.us/photo/my-images/13/clipboard02scy.jpg/
Ruch Radzionków
chodzi mi o tresc wiadomosci jaka sie ma znalesc w mailu nie o wygląd formularza czyli np.

Kod
witaj kto tam
firma:fijafoiwe

i tak dalej
faziulek
Firma: Nazwa firmy jakas tam
Imię i Nazwisko: Imie i Nazwisko z formularza
Email: email
Telefon: telefon
Pytanie : Tresc pytania


i to wszystko:)
Dałoby się zrobic tak zeby info ze mejl sie wyslal a info o wyslaniu wyswietlalo sie w tej samej stronei a nie przechodzilo do nowej czystej strony?
z góry dzieki:D
Ruch Radzionków
dopisz pod
Kod
// utnij zbyt długą treść i podpis

  1. $wiadomosc = "Firma: {firma}
  2. Imię i Nazwisko: {imie}
  3. Email: {email}
  4. Telefon: {telefon}
  5. Pytanie : {pytanie}";
  6. $wzorce = array(
  7. 0 => '#\{firma\}#',
  8. 1 => '#\{imie\}#',
  9. 2 => '#\{email\}#',
  10. 3 => '#\{telefon\}#',
  11. 4 => '#\{pytanie\}#',
  12. );
  13. $zamienniki = array(
  14. 0 => $firma,
  15. 1 => $nazwisko,
  16. 2 => $email,
  17. 3 => $telefon,
  18. 4 => $tresc,
  19. );
  20. $texts = preg_replace($wzorce, $zamienniki, $lang['trescreg']);


i zamien z

  1. $mail->Body = $tresc;


na

  1. $mail->Body = $texts;
faziulek
Dalej nie wysyla tych danych..sad.gif

$wiadomosc = "Firma: {firma}
Imię i Nazwisko: {imie}
Email: {email}
Telefon: {telefon}
Pytanie : {pytanie}";
$wzorce = array(
0 => '#\{firma\}#',
1 => '#\{imie\}#',
2 => '#\{email\}#',
3 => '#\{telefon\}#',
4 => '#\{pytanie\}#',
);
$zamienniki = array(
0 => $firma,
1 => $nazwisko,
2 => $email,
3 => $telefon,
4 => $tresc,
);
$texts = preg_replace($wzorce, $zamienniki, $lang['trescreg']);

mowiac wklej pod to gdzie dokladnie to wkleic?

rozumiem ze w labelach tez musze powstawiac inne id i w walidatorach do wysylki tez pozmieniac id wg tego co napisales w tym kodzie?
Ruch Radzionków
napisałem ci w programie przycis ctrl + f i wpisz

// utnij zbyt długą treść i podpis

nastepnie pod tym dodaj ten textco ci mowilem
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.