Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dlaczego ten skript nie działa ?
*RadioActive
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 8.12.2013

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


  1. <?php
  2. if(empty($_POST['submit'])){
  3. ?>
  4. <form action="kontakt.php" method="post">
  5. Nick:<br />
  6. <input type="text" name="nick" style="width:300px;"/><br />
  7. E-Mail:<br />
  8. <input type="text" name="email" style="width:300px;"/><br />
  9. Temat: <br />
  10. <input type="text" name="temat" style="width:300px;"/><br />
  11. Treść wiadomości:<br />
  12. <textarea name="trescwiadomosci" cols="30" rows="6" style="width:300px;"></textarea><br />
  13. <input type="submit" name="submit" value="Wyślij formularz"/>
  14. <input type="reset" value="Wyczyść"/><br />
  15. * Pamiętaj że nie jesteś anonimowy w internecie<br />
  16. <?php
  17. $ip=$_SERVER['REMOTE_ADDR'];
  18. echo("Twoje ip: <b>".$ip."</b>");
  19. ?>
  20. </form>
  21. <?php
  22. }elseif(!empty($_POST['nick']) && !empty($_POST['email'])&& !empty($_POST['temat']) && !empty($_POST['trescwiadomosci'])){
  23. function SprawdzEmail($email) {
  24. if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){
  25. return false;
  26. }
  27. return true;
  28. }
  29. if(SprawdzEmail($_POST['email'])){
  30. $adresemail='*************@****.pl';
  31. $ip=$_SERVER['HTTP_CLIENT_IP'];
  32. $wiadomosc="Nick: $_POST[nick]\n\nEmail: $_POST[email]\n\nTemat: $_POST[temat]\n\nWiadomość: $_POST[trescwiadomosci]\n\nAdres IP: ".$ip." .";
  33. $nadawca="From: $_POST[email]";
  34. @mail($adresemail, "Formularz kontaktowy z www.******.pl", "$wiadomosc", "$nadawca");
  35. echo "<span style=\"color: #00D800; font-weight: bold; \">Dziękujemy, formularz został wysłany.</span>";
  36. }else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; }
  37. }else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Cofnij i wypełnij wszystkie pola formularza!!!</span>"; }
  38. ?>

Dlaczego jak wszystko wypełnie i wyśle na email to w emailu nie przychodzi IP z którego wysłałem?.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


$ip=$_SERVER['REMOTE_ADDR'];

  1. <?php
  2. if(!isset($_POST['submit'])){
  3. ?>
  4. <form action="kontakt.php" method="post">
  5. Nick:<br />
  6. <input type="text" name="nick" style="width:300px;"/><br />
  7. E-Mail:<br />
  8. <input type="text" name="email" style="width:300px;"/><br />
  9. Temat: <br />
  10. <input type="text" name="temat" style="width:300px;"/><br />
  11. Treść wiadomości:<br />
  12. <textarea name="trescwiadomosci" cols="30" rows="6" style="width:300px;"></textarea><br />
  13. <input type="submit" name="submit" value="Wyślij formularz"/>
  14. <input type="reset" value="Wyczyść"/><br />
  15. * Pamiętaj że nie jesteś anonimowy w internecie<br />
  16. <?php
  17. $ip=$_SERVER['REMOTE_ADDR'];
  18. echo "Twoje ip: <b>".$ip."</b>";
  19. ?>
  20. </form>
  21. <?php
  22. }
  23. function SprawdzEmail($email) {
  24. if(preg_match('/^[a-zA-Z0-9\.\-_]+\@[a-zA-Z0-9\.\-_]+\.[a-z]{2,4}$/D', $email)){
  25. return true;
  26. }
  27. }
  28. elseif(!empty($_POST['nick']) && !empty($_POST['email'])&& !empty($_POST['temat']) && !empty($_POST['trescwiadomosci'])){
  29. if(SprawdzEmail($_POST['email'])){
  30. $adresemail='*************@****.pl';
  31. $wiadomosc="Nick: ".$_POST['nick']."<br>Email: ".$_POST['email']."<br>Temat: ".$_POST['temat']."<br>Wiadomość: ".$_POST['trescwiadomosci']."<br>Adres IP: ".$ip;
  32. $nadawca="From: ".$_POST['email'];
  33. mail($adresemail, "Formularz kontaktowy z www.******.pl", $wiadomosc, $nadawca);
  34. echo "<span style=\"color: #00D800; font-weight: bold; \">Dziękujemy, formularz został wysłany.</span>";
  35. }
  36. else{
  37. echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; }
  38.  
  39. }
  40. else{
  41. echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Cofnij i wypełnij wszystkie pola formularza!!!</span>";
  42. }
  43. ?>

1. Na początku powinieneś był sprawdzić czy submit istnieje a nie czy nie jest pusty.
2. Eregi jest przestarzałe.
3. Sens umieszczana funkcji w ifie jest śmieszny.
4. Funkcję napisałeś źle - zwracała fałsz gdy mail jest zły, ale nie zwracała prawdy, gdy był dobry.
5. Reszta to kwestia błędów jakie już napisałem we wcześniejszych postach.
6. Przeanalizuj mój kod.

Ten post edytował Turson 8.12.2013, 19:44:29
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 25.12.2025 - 15:17