Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 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
Turson
post
Post #2





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

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


Robisz podstawowy błąd w zapisie zmiennej
  1. $wiadomosc="Nick: $_POST[nick]\n\nEmail: $_POST[email]\n\nTemat: $_POST[temat]\n\nWiadomość: $_POST[trescwiadomosci]\n\nAdres IP: ".$ip." .";

".$_POST['nick']." itd.

  1. @mail($adresemail, "Formularz kontaktowy z www.******.pl", "$wiadomosc", "$nadawca");

Wygłuszasz błędy, źle zapisujesz parametry. Zmień na:
  1. mail($adresemail, "Formularz kontaktowy z www.******.pl", $wiadomosc, $nadawca);



Raz sprawdzasz IP $ip=$_SERVER['REMOTE_ADDR']; a raz $ip=$_SERVER['HTTP_CLIENT_IP'];
zdecyduj się

Ten post edytował Turson 8.12.2013, 19:02:29
Go to the top of the page
+Quote Post
*RadioActive
post
Post #3





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

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


A możesz Mi powiedzieć jak to zrobić,to z tym IP ?
Go to the top of the page
+Quote Post
Turson
post
Post #4





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
com
post
Post #5





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


up 1. bez różnicy
A reszta tak jak mówisz (IMG:style_emoticons/default/wink.gif)

Ten post edytował com 8.12.2013, 22:49:05
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: 23.12.2025 - 05:03