2grosiek7 Posted September 10, 2013 Share Posted September 10, 2013 Witam, chciałbym wrzucić formularz kontaktowy na inną stronę, i mam problem z poniższym kodem. Co w nim jest nie teges? <?php/*sprawdzenie wypełnienia wszystkich pól*/elseif (!empty($_POST['imienazwisko']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci'])){/* Funkcja sprawdzająca poprawność E-Maila */function SprawdzEmail($email) { if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){ return false; } return true;}}if(SprawdzEmail($_POST['email'])){/* Tworzymy szkielet wysyłanej wiadomości */$adresemail='[email protected]'; /* Wpisz swój adres e-mail *//* Wybierz kodowanie znaków usuwając // *///$charset = 'iso-8859-2';//$charset = 'utf-8';$wiadomosc="Od: $_POST[imienazwisko] ($_POST)\n\n$_POST[trescwiadomosci]";$nadawca="From: $_POST";@mail($adresemail, "Formularz kontaktowy z www.ad-al.pl", "$wiadomosc", "$nadawca");echo "<span style=\"color: #00D800; font-weight: bold; \">Dziękujemy, formularz został wysłany.</span>";}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; }}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Cofnij i wypełnij wszystkie pola formularza!!!</span>"; }?> Link to comment Share on other sites More sharing options...
vekia Posted September 10, 2013 Share Posted September 10, 2013 zaczynasz skrypt od elseif elseif (!empty($_POST['imienazwisko']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci'])){ ... ... elseif stosujemy po if tzn: if (something) { code; } elseif { another code; } elseif { another one; } + na końcu masz: }else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Cofnij i wypełnij wszystkie pola formularza!!!</span>"; } pomarańczowy kod jest zbędny bo brakuje warunku if (if cośtam else zaprzeczenie) u Ciebie nie ma cośtam jest samo zaprzeczenie. taka konstrukcja jest zła Link to comment Share on other sites More sharing options...
2grosiek7 Posted September 10, 2013 Author Share Posted September 10, 2013 Czyli mogę użyć else zamiast elseif? Ściągnąłem darmowy skrypt i z tego co widzę, masa błędów w nim Link to comment Share on other sites More sharing options...
vekia Posted September 10, 2013 Share Posted September 10, 2013 Czyli mogę użyć else zamiast elseif? Ściągnąłem darmowy skrypt i z tego co widzę, masa błędów w nim nie kod wydaje się być nie pełny, czy to aby na pewno pełny kod? Link to comment Share on other sites More sharing options...
2grosiek7 Posted September 10, 2013 Author Share Posted September 10, 2013 Niby tak, nic więcej na stronie nie było. Też mi się wydaje taki okrojony... Link to comment Share on other sites More sharing options...
vekia Posted September 10, 2013 Share Posted September 10, 2013 no to jest tylko kod php bez formularza w html. jak wygląda kod tego formularza w html ? Link to comment Share on other sites More sharing options...
2grosiek7 Posted September 10, 2013 Author Share Posted September 10, 2013 <form action="kontakt.php" method="post"> <!--nazwa strony na której znajduje się formularz--> Imię i Nazwisko:<br /> <input type="text" name="imienazwisko" style="width:300px;"/><br /> E-Mail:<br /> <input type="text" name="email" style="width:300px;"/><br /> Treść wiadomości:<br /> <textarea name="trescwiadomosci" cols="30" rows="6" style="width:300px;"></textarea><br /> <input type="submit" name="submit" value="Wyślij formularz"/> <input type="reset" value="Wyczyść"/> </form> Link to comment Share on other sites More sharing options...
vekia Posted September 10, 2013 Share Posted September 10, 2013 ok, dzieki okroiłem troche ten skrypt i dodałem poprawną składnię, możesz spróbować z tym: <?php /*sprawdzenie wypełnienia wszystkich pól*/ if (!empty($_POST['imienazwisko']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci'])) { /* Funkcja sprawdzająca poprawność E-Maila */ function SprawdzEmail($email) { if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){ return false; } return true; } } if(SprawdzEmail($_POST['email'])){ /* Tworzymy szkielet wysyłanej wiadomości */ $adresemail='[email protected]'; /* Wpisz swój adres e-mail */ /* Wybierz kodowanie znaków usuwając // */ //$charset = 'iso-8859-2'; //$charset = 'utf-8'; $wiadomosc="Od: $_POST[imienazwisko] ($_POST[email])\n\n$_POST[trescwiadomosci]"; $nadawca="From: $_POST[email]"; @mail($adresemail, "Formularz kontaktowy z www.ad-al.pl", "$wiadomosc", "$nadawca"); echo "<span style=\"color: #00D800; font-weight: bold; \">Dziękujemy, formularz został wysłany.</span>"; }else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; } ?> daj znać, czy w ogóle działa Link to comment Share on other sites More sharing options...
2grosiek7 Posted September 10, 2013 Author Share Posted September 10, 2013 Działa, ale wywala takie coś na dobranoc: Deprecated: Function eregi() is deprecated in /home/dumledor/domains/ad-al.pl/public_html/lol/kontakt.php on line 7Dzi�kujemy, formularz zosta� wys�any. Link to comment Share on other sites More sharing options...
vekia Posted September 10, 2013 Share Posted September 10, 2013 skrypt jest przestarzały ;p nie zwróciłem na to uwagi, eregi zostało wycofane (deprecated) z php w wersji 5.3.0 i już nie jest wspierane. zamiast eregi użyj preg_match chodzi o ten fragment: if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){ Link to comment Share on other sites More sharing options...
2grosiek7 Posted September 10, 2013 Author Share Posted September 10, 2013 Zamieniłem kod na taki: <?php/*sprawdzenie wypełnienia wszystkich pól*/if (!empty($_POST['imienazwisko']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci'])){/* Funkcja sprawdzająca poprawność E-Maila */function SprawdzEmail($email) { if (!preg_match("/^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$\//" , $email)){ return false; } return true;}}if(SprawdzEmail($_POST['email'])){/* Tworzymy szkielet wysyłanej wiadomości */$adresemail='[email protected]'; /* Wpisz swój adres e-mail *//* Wybierz kodowanie znaków usuwając // */$charset = 'iso-8859-2';//$charset = 'utf-8';$wiadomosc="Od: $_POST[imienazwisko] ($_POST)\n\n$_POST[trescwiadomosci]";$nadawca="From: $_POST";@mail($adresemail, "Formularz kontaktowy z www.ad-al.pl", "$wiadomosc", "$nadawca");echo "<span style=\"color: #00D800; font-weight: bold; \">Dziekujemy, formularz zostal wyslany.</span>";}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; }error_reporting(error_reporting() & ~E_DEPRECATED);?> i każdorazowo wywala mi teraz komunikat o błędnym adresie e-mail. Link to comment Share on other sites More sharing options...
vekia Posted September 10, 2013 Share Posted September 10, 2013 spróbuj to: if (!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/',$mail)) pełny kod: <?php /*sprawdzenie wypełnienia wszystkich pól*/ if (!empty($_POST['imienazwisko']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci'])) { /* Funkcja sprawdzająca poprawność E-Maila */ function SprawdzEmail($email) { if (!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/',$mail)){ return false; } return true; } } if(SprawdzEmail($_POST['email'])){ /* Tworzymy szkielet wysyłanej wiadomości */ $adresemail='[email protected]'; /* Wpisz swój adres e-mail */ /* Wybierz kodowanie znaków usuwając // */ $charset = 'iso-8859-2'; //$charset = 'utf-8'; $wiadomosc="Od: $_POST[imienazwisko] ($_POST[email])\n\n$_POST[trescwiadomosci]"; $nadawca="From: $_POST[email]"; @mail($adresemail, "Formularz kontaktowy z www.ad-al.pl", "$wiadomosc", "$nadawca"); echo "<span style=\"color: #00D800; font-weight: bold; \">Dziekujemy, formularz zostal wyslany.</span>"; }else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; } error_reporting(error_reporting() & ~E_DEPRECATED); ?> Link to comment Share on other sites More sharing options...
2grosiek7 Posted September 10, 2013 Author Share Posted September 10, 2013 Nadal to samo. Próbuję tutaj: http://ad-al.pl/lol/kontakt.php Link to comment Share on other sites More sharing options...
vekia Posted September 10, 2013 Share Posted September 10, 2013 ooo ja, mój bład użyłem tam zmiennej $mail zamiast $email tylko to do poprawy i pójdzie Link to comment Share on other sites More sharing options...
2grosiek7 Posted September 10, 2013 Author Share Posted September 10, 2013 (edited) Poprawiłem tą literówkę jedną, teraz wywala coś takiego: Fatal error: Call to undefined function SprawdzEmail() in /home/dumledor/domains/ad-al.pl/public_html/lol/kontakt.php on line 13 Edited September 10, 2013 by 2grosiek7 (see edit history) Link to comment Share on other sites More sharing options...
2grosiek7 Posted September 10, 2013 Author Share Posted September 10, 2013 Gdy dodaję ! przez SprawdzMail wywala mi kolejny, inny komunikat. Chyba cały skrypt jest skopany. Link to comment Share on other sites More sharing options...
vekia Posted September 10, 2013 Share Posted September 10, 2013 no to jeszcze ten kod: <?php /*sprawdzenie wypełnienia wszystkich pól*/ if (!empty($_POST['imienazwisko']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci'])){ /* Funkcja sprawdzająca poprawność E-Maila */ function SprawdzEmail($email) { if (!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/',$email)){ return false; } return true; } if(SprawdzEmail($_POST['email'])){ /* Tworzymy szkielet wysyłanej wiadomości */ $adresemail='[email protected]'; /* Wpisz swój adres e-mail */ /* Wybierz kodowanie znaków usuwając // */ $charset = 'iso-8859-2'; //$charset = 'utf-8'; $wiadomosc="Od: $_POST[imienazwisko] ($_POST[email])\n\n$_POST[trescwiadomosci]"; $nadawca="From: $_POST[email]"; @mail($adresemail, "Formularz kontaktowy z www.ad-al.pl", "$wiadomosc", "$nadawca"); echo "<span style=\"color: #00D800; font-weight: bold; \">Dziekujemy, formularz zostal wyslany.</span>"; }else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; } error_reporting(error_reporting() & ~E_DEPRECATED); } ?> Link to comment Share on other sites More sharing options...
2grosiek7 Posted September 10, 2013 Author Share Posted September 10, 2013 Działa! Jesteś wielki vekia Tak w sprawach biznesowych, mam do pogadania z Tobą. Wejdziesz na skype? Link to comment Share on other sites More sharing options...
vekia Posted September 10, 2013 Share Posted September 10, 2013 korzystasz z gg? albo facebook? Link to comment Share on other sites More sharing options...
2grosiek7 Posted September 10, 2013 Author Share Posted September 10, 2013 (edited) Odblokuj PW Edited September 10, 2013 by 2grosiek7 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now