Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] - jak zablokować czyszczenie pól tekstowych ?, skrypt do wysyłania maili ze strony internetowej;
derbich
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.11.2010

Ostrzeżenie: (0%)
-----


Witam;
Od jakiegoś czasu usiłuję napisać skrypt do wysyłania maili ze strony. Skrypt sprawdza, czy wszystkie pola są wypełnione i jeśli tak to wysyła wiadomość; jeśli któreś z pól nie zostało wypełnione zwraca wiadomość, że należy wypełnić wszystkie pola. Problem polega na tym, że przy okazji zwrotu informacji czyści wszystkie pola.. Czy możecie powiedzieć mi jak rozwiązać ten problem? Oto kod:
  1. <?php
  2.  
  3. if ($_POST['bt'] == "submit") {
  4. if (($_POST['email'] != "") AND ($_POST['tytul'] != "") AND ($_POST['tresc'] != "")) {
  5. $send = mail("mail@mail.org",$_POST['tytul'],$_POST['tresc'],"From: mail webside <".$_POST['email'].">");
  6. if ($send)
  7. header("Location: sent.html");
  8. else
  9. $message = "<font size='2px' color='ff4500' face='arial'> Server error, message did not sent. Please try again.</font>";
  10. } else
  11. $message = "<font size='2px' color='ff4500' face='arial'>All fields required, please check and try again.</font>";
  12. }
  13.  
  14. ?>

  1. <meta name="generator" content="Bluefish 2.0.0" >
  2. <meta name="author" content="" >
  3. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  4. <meta name="Robots" content="noindex">
  5. <link rel="Shortcut icon" href="../graph/icon.png">
  6. <style type="text/css">
  7. <!--
  8. td {
  9. font-size: 11px; color: #ff7d4d; font-family: arial;
  10. }
  11. span {
  12. font-size: 8px; color: #ff7d4d; font-family: arial;
  13. }
  14. -->
  15. </head>
  16. <br><br>
  17. <table align="center" border="0">
  18. <td height="22px"><sup>*</sup>E-mail: </td>
  19. <td colspan="1" rowspan="3" valign="top">
  20. <form action="" method="post">
  21. <input type="text" name="email"><br>
  22. <input type="text" name="tytul"><br>
  23. <textarea name="tresc" cols="65" rows="14"></textarea><br>
  24. <sup>*<span>Required</span></sup>
  25. <div align="right"><input type="submit" name="bt" value="submit"></div>
  26. </form>
  27. <div align="center"><?php echo $message ?></div>
  28. </td>
  29. </tr>
  30. <tr>
  31. <td height="22px"><sup>*</sup>Title:</td>
  32.  
  33. </tr>
  34. <tr>
  35.  
  36. <td height="210px" valign="top"><div style="position: relative; left: 0px; top: 55px;"><sup>*</sup>Mesage:</div> </td>
  37. </tr>
  38. </body>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Kużdo
post
Post #2





Grupa: Zarejestrowani
Postów: 181
Pomógł: 14
Dołączył: 4.06.2008

Ostrzeżenie: (0%)
-----


Po prostu w formularzu w miejsca value="" wstaw zmienne pobierane z wysłanego formularza, czyli value="<?php echo $zmienna; ?>"
Go to the top of the page
+Quote Post
mmica
post
Post #3





Grupa: Zarejestrowani
Postów: 60
Pomógł: 20
Dołączył: 30.11.2010
Skąd: 127.0.0.1

Ostrzeżenie: (10%)
X----


Hey ;]
Ja na Twoim miejscu skorzystałbym z mechanizmu sesji PHP (tu możesz o tym coś zobaczyć), tzn. dane od użytkownika zapisałbym do zmiennych sesyjnych i wtedy mógłbym je znów umieścić w polu formularza. Od biedy możesz też skorzystać z ciasteczek, ale najlepszym (moim zdaniem) rozwiązaniem byłoby sprawdzanie poprawności pól po stronie klienta (poprzez JavaScript), a w skrypcie sprawdzić tylko czy nam czegoś nie podrzucił (kwestie bezpieczeństwa [xss, sql injection etc.]) - takie moje spostrzeżenia happy.gif.

Jestem ciekaw jakie inne pomysły mają forumowicze.

Pozdrawiam,
mmica


//edit
Albo tak jak napisał Kużdo.. Eh, ta moja miopia. Podzieliłeś kod na dwie części i myślałem, że musisz przekazywać dane pomiędzy skryptami dry.gif. My fault..

Ten post edytował mmica 1.12.2010, 21:31:50


--------------------
"Imagination is more important than knowledge, because knowledge is limited." ~Albert Einstein
<?php $var = array('foo', 'bar'); ?>
Go to the top of the page
+Quote Post
derbich
post
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.11.2010

Ostrzeżenie: (0%)
-----


Dziękuję, proste okazało się jak.. smile.gif
pozdrawiam;
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 07:52