Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]prosze o pomoc zmodyfikowac kod formularza
Forum PHP.pl > Forum > Przedszkole
tomsson
prosze o pomoc zmodyfikowac kod formularza tak ,aby nie było pola "do" zeby ta wartość była juz zdefiniowana i nie ukazywała się w tabeli.
Zamiast pola "treść" zeby było "twoj email"

modyfikacja dotyczy poniższego kodu ,ktory znalazlem i nie za bardzo wiem jak przerobić

Cytat
<HTML>
<HEAD>
<TITLE>Wysyłanie poczty</TITLE>
</HEAD>
<BODY>
<FORM METHOD="post" ACTION="sendmail.php">
<TABLE border="1">
<TR>
<TD COLSPAN="2" ALIGN="center" BORDERCOLOR="#FFFFFF">
<H2>Wysyłanie poczty</H2>
</TD>
</TR>

<TR>
<TD BORDERCOLOR="#FFFFFF">Do</TD>
<TD BORDERCOLOR="#FFFFFF">
<INPUT TYPE="text" NAME="do" SIZE="20">
</TD>
</TR>

<TR>
<TD BORDERCOLOR="#FFFFFF">Temat</TD>
<TD BORDERCOLOR="#FFFFFF">
<INPUT TYPE="text" NAME="temat" SIZE="20">
</TD>
</TR>

<TR>
<TD BORDERCOLOR="#FFFFFF">Treść</TD>
<TD BORDERCOLOR="#FFFFFF">
<TEXTAREA NAME="contents" ROWS="5" COLS="40">
</TEXTAREA>
</TD>
</TR>

<TR>
<TD COLSPAN="2" ALIGN="CENTER" BORDERCOLOR="#FFFFFF">
<INPUT TYPE="submit" VALUE="Wyślij">
</TD>
</TR>
</TABLE>

</FORM>
</BODY>
</HTML>


w pliku sendmail.php mam

Cytat
<?PHP
function sendmail($do, $temat, $contents)
{
echo("$do $temat $contents");
if($do == "" || $temat == "" || $contents == ""){
print("Proszę wypełnić wszystkie pola formularza");
}
else if (mail($do, $temat, $contents)){
print("List został wysłany na adres $do");
}
else{
print("Nie udało się wysłać listu na adres $do");
}
}
if(isSet($_POST['do']) && isSet($_POST['temat']) && isSet($_POST['contents'])){
sendmail($_POST["do"], $_POST["temat"], $_POST["contents"]);
}
else{
echo("Niekompletne dane!");
}
?>

pomoze ktoś ?
rozny
Generalnie, to kiepski ten kod. Rozumiem, że w formularzu chcesz mieć pola "email gościa" i "temat". Ja bym to zrobił w ten sposób:

  1. \\ formularz
  2.  
  3. <form action="sendmail.php" method="post">
  4. Adres email: <input type="text" name="email">
  5. Temat: <input type="text" name="temat">
  6. <input type="hidden" name="check" value="ok">
  7. <input type="submit" value="wyślij">
  8. </form>


A w pliku sendmail.php:

  1. <?php
  2.  
  3. if($_SERVER['REQUEST_METHOD'] == 'POST') { //sprawdzasz, czy dane zostaly wyslane formularzem
  4.  
  5. if (isset($_POST['check'] && $_POST['check'] == ok) { //sprawdzasz, czy dane zostaly wyslane formularzem
  6.  
  7. $email = trim($_POST['email']); //usuwasz spacje na poczatku i na koncu wpisu (unikasz pustego wpisu)
  8. $temat = trim($_POST['temat']); //usuwasz spacje na poczatku i na koncu wpisu (unikasz pustego wpisu)
  9. $do = 'twój@email.pl'; //ustawiasz adres email, na ktory maja byc wysylane wiadomosci
  10.  
  11. function sendmail($do, $email, $temat) {
  12.  
  13.     if (empty($email) || empty($temat)) { //sprawdzasz, czy pola zostaly wypelnione
  14.        echo 'Proszę wypełnić poprawnie formularz';
  15.     }
  16.  
  17.     elseif (mail("$do", "$temat", "$email") { //wysylasz meila
  18.        echo 'Wiadomość wysłana na adres'.$email;
  19.     }
  20.  
  21.     else {
  22.        echo 'Nie udało się wysłać wiadomości';
  23.    }
  24. }
  25. }
  26. }
  27. else {
  28.   die ('Dane nie pochodzą z formularza');
  29.   exit();
  30. }
  31. ?>


Myślę, że to bezpieczniejsze i bardziej przejrzyste rozwiązanie.
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.