Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pomóżcie rozwiązać problem z mailami
Forum PHP.pl > Forum > Przedszkole
shpyo
Witam,
napisałem sobie system do wysyłania maili jako HTML i wszystko jest dobrze. Jednak chciałbym do tego maila dodać dwie rzeczy:
- podgląd maila do wysłania
- po kliknięciu potwierdzenia wysłania maila wysyła mail'a

Problem pojawia się w tym, że nie wiem jak zrobić ładnie podgląd treści (treść wprowadzana z formularza + pobieranie danych z bazy tj. imię, nazwisko itp). Oraz jak zrobić aby pojawił się przycisk lub komunikat z informacją czy chce wysłać taki mail.

Czyli dokładnie tak jak jest tutaj na forum - podgląd posta i wysłanie go.

Za pomoc z góry dziękuję
pozdr,
shpyo
bregovic
No jak to jak? Jeśli już masz formularz do wysyłania tego maila to wygląda pewnie jakoś tak:
  1. <form action="twoj-skrypt.php" method="post">
  2. <!-- jakieś inne pola -->
  3. <textarea name="tresc_maila"><textarea>
  4. <input type="submit" value="Wyślij">

Wystarczy że dodasz drugi przycisk:
  1. <input type="submit" name="podglad" value="Podgląd">

I w twojej stronie sprawdzasz:
  1. <?php
  2. if ($_POST['podglad']=='Podgląd')
  3. //wyświetlasz podgląd
  4. ?>

A pod spodem wyświetlasz ponownie formularz - z treścią wpisaną w pola - i teraz użytkownik może, tak jak tu na forum, wysłać posta lub coś w nim poprawić.
shpyo
lol, dzięki za pomoc, tak myślałem aby to zrobić, ale miałem wątpliwości co do dwóch submitów w jednym formularzu tongue.gif

dzięki
esox
Tak z ciekawości zaczynam sie interesować pisaniem stronek jak coś takiego wstawić jak wyżej pisaliście

Kod
<html>
<form action="twoj-skrypt.php" method="post">
<!-- jakieś inne pola -->
<textarea name="tresc"><textarea>
<input type="submit" value="Wyślij">
<input type="submit" name="podglad" value="Podgląd">

<--! php wstawia sie tutaj?questionmark.gif -->

<?php
if ($_POST['podglad']=='Podgląd')
//wyświetlasz podgląd
?>

<?php
   if (mail('mmailik@serw.pl', 'temat', '$tresc')) echo 'nie wyslano'; else echo 'oki wyslano';
?>


chcioałbym zrobić taki for,mularzyk ale za bardzo nie wiem jak poradźcie mi coś :-) z góry dzięki
Wave
Jak już koniecznie chcesz w jednym pliku:
Kod
<html>
<form action="twoj-skrypt.php" method="post">
<!-- jakieś inne pola --><? echo $_POST['innepole']; ?>
<textarea name="tresc"><? echo $_POST['tresc']; ?><textarea>
<input type="submit" value="Wyślij">
<input type="submit" name="podglad" value="Podgląd">

<?php
if ($_POST['podglad']=='Podgląd') die();
if (mail('mmailik@serw.pl', 'temat', '$tresc')) echo 'nie wyslano'; else echo 'oki wyslano';
?>
esox
dzieki hmm ale jakoś mi to nie chce dzialać :-( zaczynam dopiero wybacz jeszcze nieznajomosć podstaw. Dałem taki plik na serw

Kod
<html>
<form action="4.php" method="post">
<textarea name="tresc2"><? echo $_POST['tresc2']; ?></textarea><br>
<textarea name="tresc"><? echo $_POST['tresc']; ?></textarea><br>
<input type="submit" value="Wyślij">
<input type="submit" name="podglad" value="Podgląd">

<?php
if
           ($_POST['podglad']=='Podgląd') die();

if
           (mail ('nick@poczta.wp.pl', 'temat', '$tresc, $tresc2'))
              echo 'nie wyslano';
else       echo 'oki wyslano';
?>

</html>



Ale tak na skrzynke przychodzi mi tylko coś takiego: $tresc $tresc2
a podgląd nie działa wogóle i wywala po uruchomieniu nie wysłano (w rzeczywistości jednak wysyła jak wyżej)
tiraeth
~esox:Stosuj odpowiednie tagi php

  1. <?
  2. #### Konfiguracja ####
  3.  
  4.  // Maksymalna długość wiadomości
  5.  $max_length = 200;
  6.  
  7.  // Twój adres email, na który przyjdzie kopia wiadomości
  8.  $reply_mail = 'admin@localhost';
  9.  
  10. #### Start skryptu ####
  11.  
  12. if($_POST['wyslij'] == &#092;"Wyslij\")
  13. {
  14.  $error = &#092;"\";
  15.  if($_POST['adres_mail'] == &#092;"\")
  16.  {
  17. $error .= 'Brak adresu email!<br />';
  18.  }
  19.  if($_POST['temat'] == &#092;"\")
  20.  {
  21. $error .= 'Brak tematu!<br />';
  22.  }
  23.  if($_POST['wiadomosc'] == &#092;"\")
  24.  {
  25. $error .= 'Brak wiadomości!<br />';
  26.  }
  27.  if(strlen($_POST['wiadomosc']) > $max_length)
  28.  {
  29. $error .= 'Wiadomość jest za długa!<br />';
  30.  }
  31.  if(eregi('@', $_POST['adres_mail']))
  32.  {
  33. $error .= 'Adres email niepoprawny!<br />';
  34.  }
  35.  
  36.  // Jeżeli jest jakiś błąd to wywali go tutaj
  37.  if($error !== &#092;"\")
  38.  {
  39. echo '<br /><br /><br /><br />';
  40. echo '<span style=\"color:red; font-weight:bold;\">';
  41. echo 'ERROR: '.$error;
  42. echo '</span>';
  43. echo '<br /><br /><br /><br />';
  44. die();
  45.  }
  46.  
  47.  mail($_POST['adres_email'], 
  48.  $_POST['temat'], 
  49.  $_POST['wiadomosc'], 
  50.  &#092;"From: bramka <\".$reply_mail.\">rn\"
  51.  .&#092;"Reply-To: \".$reply_mail.\"rn\"
  52.  .&#092;"X-Mailer: php/\".phpversion());
  53.  
  54.  echo '<br /><br /><br /><br />';
  55.  echo '<span style=\"color:red; font-weight:bold;\">';
  56.  echo &#092;"Wiadomość do <b>\".$_POST['adres_mail'].\"</b> została wysłana\";
  57.  echo '</span>';
  58.  echo '<br /><br /><br /><br />';
  59. }
  60. elseif($_POST['podglad'] == &#092;"Podglad\")
  61. {
  62.  echo '<b>------- wiadomosc email-------</b><br /><br />';
  63.  echo 'Odbiorca: <b>'.$_POST['adres_mail'].'</b><br />';
  64.  echo 'Nadawca: <b>bramka <'.$reply_mail.'></b> (IP: '.$_SERVER['REMOTE_ADDR'].')<br />';
  65.  echo 'Treść wiadomości:<br />';
  66.  echo $_POST['wiadomosc'];
  67.  echo '<br /><br /><b>------- koniec wiadomosci -------</b>';
  68.  
  69.  echo '<br /><br /><br /><br />';
  70.  echo '<span style=\"color:red; font-weight:bold;\">';
  71.  echo 'Jeżeli w wiadomości są jakieś błędy proszę o poprawienie ich w poniższym formula
  72. zu i kliknięciu na wyślij!';
  73.  echo '</span>';
  74.  echo '<br /><br /><br /><br />';
  75.  
  76.  echo '<form name=\"send\" action=\"'.$_SERVER['PHP_SELF'].'\" method=\"POST\">'.&#092;"n\";
  77.  echo 'Temat: <input type=\"text\" name=\"temat\"><br />'.&#092;"n\";
  78.  echo 'Do kogo: <input type=\"text\" name=\"adres_mail\"><br />'.&#092;"n\";
  79.  echo '<textarea name=\"wiadomosc\"></textarea><br />'.&#092;"n\";
  80.  echo '<input type=\"submit\" name=\"wyslij\" value=\"Wyslij\">'.&#092;"n\";
  81.  echo '</form>';
  82. }
  83. else
  84. {
  85.  echo '<br /><br /><br /><br />';
  86.  echo '<span style=\"color:red; font-weight:bold;\">';
  87.  echo 'Proszę wpisać wiadomość i wysłać ją lub dokonać jej podglądu!';
  88.  echo '</span>';
  89.  echo '<br /><br /><br /><br />';
  90.  
  91.  echo '<form name=\"send\" action=\"'.$_SERVER['PHP_SELF'].'\" method=\"POST\">'.&#092;"n\";
  92.  echo 'Temat: <input type=\"text\" name=\"temat\"><br />'.&#092;"n\";
  93.  echo 'Do kogo: <input type=\"text\" name=\"adres_mail\"><br />'.&#092;"n\";
  94.  echo '<textarea name=\"wiadomosc\"></textarea><br />'.&#092;"n\";
  95.  echo '<input type=\"submit\" name=\"poglad\" value=\"Podglad\" style=\"font-weight:bold;\">&nbsp;'.&#092;"n\";
  96.  echo '<input type=\"submit\" name=\"wyslij\" value=\"Wyslij\">'.&#092;"n\";
  97.  echo '</form>';
  98. }
  99.  
  100. ?>


Nie wiem czy skrypt działa pisany na szybko smile.gif Powinien działać tongue.gif
esox
blink.gif blink.gif ohmy.gif ohmy.gif ohmy.gif Dzięki wielkie fajne :-) masz talent...
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.