![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem ze skryptem PHP, który ma za zadanie wysyłać maile. Gdy wypełnię formularz i klikam ?Wyślij? to maile nie dochodzą na moją skrzynkę. Kod PHP wygląda tak: CODE <?php if(isset($_POST['url']) && $_POST['url'] == '' && $_POST['message'] != ''){ $youremail = 'przykladowyemail@poczta.pl'; $body = "Formularz kontaktowy: Imię: $_POST[firstname] Nazwisko: $_POST[lastname] E-Mail: $_POST[email] Wiadomość: $_POST[message]"; if( $_POST['email'] && !preg_match( "/[\r\n]/", $_POST['email']) ) { $headers = "From: $_POST[email]"; } else { $headers = "From: $youremail"; } mail($youremail, 'Kontakt', $body, $headers ); } header('http://www.mojastrona.pl/'); exit('http://www.mojastrona.pl/'); ?> Kod HTML wygląda tak: CODE <label for="fname">Imię</label> <input type="text" name="firstname" placeholder="Twoje imię"> <label for="lname">Nazwisko</label> <input type="text" name="lastname" placeholder="Twoje nazwisko"> <label for="lname">Email</label> <input type="text" name="email" placeholder="Twój email"> <label for="message">Wpisz swoją wiadomość</label> <textarea id="message" name="message" placeholder="Treść wiadomości..." style="height: 200px"></textarea> <input type="submit" value="Wyślij"> <p class="antispam">Zostaw to pole puste - ochrona przed spamem <br /><input name="url" /></p> Kod CSS: CODE .antispam { display:none;} input[type=text], select, textarea { width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; margin-top: 6px; margin-bottom: 16px; resize: vertical } input[type=submit] { background-color: grey; color: white; padding: 12px 20px; border: none; border-radius: 4px; cursor: pointer; } input[type=submit]:hover { background-color: grey; } .contact { border-radius: 5px; background-color: #f4f4f4; padding: 20px; } Oryginalny skrypt pochodzi z tego linka i mimo że robię wszystko zgodnie z instrukcją to nie działa - https://www.nfriedly.com/techblog/2009/11/h...thout-captchas/ W czym tkwi problem? Będę wdzięczny za pomoc (IMG:style_emoticons/default/smile.gif) Ten post edytował oyster 12.02.2021, 21:58:43 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Input name=url ma byc przed submit i zawierac typ pola
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
czy tak to ma wyglądać? bo kombinuję z różnymi wariantami i tak nie działa...
CODE <div class="contact">
<form action="submit.php"> <label for="fname">Imię</label> <input type="text" name="firstname" placeholder="Twoje imię"> <label for="lname">Nazwisko</label> <input type="text" name="lastname" placeholder="Twoje nazwisko"> <label for="lname">Email</label> <input type="text" name="email" placeholder="Twój email"> <label for="message">Wpisz swoją wiadomość</label> <textarea id="message" name="message" placeholder="Treść wiadomości..." style="height: 200px"></textarea> <p class="antispam">Zostaw to pole puste - ochrona przed spamem <br /><input name="url" type="text"></p> <input type="submit" value="Wyślij"> </form> </div> |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Wysylasz to z locala ? Wlączyles raportowanie bledow....?
Formularz ma miec metode słania danych. Po kolejne. Zmienna $body ktora zawiera tablice post. Kazda z nich ma miec znaki ' i ' pomiedzy nazwami. Czyli $_POST['name'] a nie $_POST[name] Ten post edytował dublinka 12.02.2021, 23:36:52 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
ok, tak to teraz wygląda - HTML:
CODE <form action="submit.php" name="Kontakt" method="post"> <label for="fname">Imię</label> <input type="text" name="firstname" placeholder="Twoje imię"> <label for="lname">Nazwisko</label> <input type="text" name="lastname" placeholder="Twoje nazwisko"> <label for="lname">Email</label> <input type="text" name="email" placeholder="Twój email"> <label for="message">Wpisz swoją wiadomość</label> <textarea id="message" name="message" placeholder="Treść wiadomości..." style="height: 200px"></textarea> <p class="antispam">Ochrona przed spamem <input type="text" name="url" /></p> <input type="submit" value="Wyślij"> </form> PHP: CODE <?php if(isset($_POST['url']) && $_POST['url'] == '' && $_POST['message'] != ''){ $youremail = 'test@test.pl'; $body = " Imię: $_POST['firstname'] Nazwisko: $_POST['lastname'] E-Mail: $_POST['email'] Wiadomość: $_POST['message']"; if( $_POST['email'] && !preg_match( "/[\r\n]/", $_POST['email']) ) { $headers = "From: $_POST['email']"; } else { $headers = "From: $youremail"; } mail($youremail, 'Kontakt', $body, $headers ); } header('Przenosiny na: https://test.pl'); exit('Przenosiny na https://test.pl'); ?> po wypełnieniu formularza i wysłaniu serwer wyrzuca błąd "HTTP ERROR 500 - Serwer nie może teraz obsłużyć tego żądania." czy to wina braku kodu PHP tam gdzie jest HTML? nie ogarniam tego (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
PHP ma problem z pokazywaniem zmiennej tablicy
tak się nie robi bo to nie działa
przykładowe 2 sposoby jak możesz to zrobić, dotyczy to całego kodu nie tylko tej linijki:
Ten post edytował LowiczakPL 13.02.2021, 08:08:59 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
po wypełnieniu formularza i wysłaniu serwer wyrzuca błąd "HTTP ERROR 500 - Serwer nie może teraz obsłużyć tego żądania." czy to wina braku kodu PHP tam gdzie jest HTML? nie ogarniam tego (IMG:style_emoticons/default/smile.gif) Na samej gorze dodaj linijke error_reporting(E_ALL); Zbyt ogolnie napisalem o tych tablicach. Tak jak to napisal juz kolega wyzej albo tablice obejmiesz "brack-etami" albo nalezy uzyc kropki jako lacznika stringów.
Ten post edytował dublinka 13.02.2021, 09:34:58 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
dobra, teraz mam tak i dalej jest ten sam błąd:
CODE <?php error_reporting(E_ALL); if(isset($_POST['url'] && $_POST['url'] . " == '' && $_POST['message'] != ''){ $youremail = 'techno1991@o2.pl'; $body = " Imię: " . $_POST['firstname'] . " Nazwisko: " . $_POST['lastname'] . " E-Mail: " . $_POST['email'] . " Wiadomość: " . $_POST['message']"; if( $_POST ['email'] && !preg_match( "/[\r\n]/", $_POST['email'] ) { $headers = 'From: ' . $_POST['email']; } else { $headers = 'From: $youremail"; } mail($youremail, 'Kontakt', $body, $headers ); } header('Przenosiny na: https://pogoda247.000webhostapp.com/wiedza.htm'); exit('Przenosiny na https://test.pl'); ?> czy w tych linijkach też mam coś zmienić? CODE if(isset($_POST['url'] && $_POST['url'] . " == '' && $_POST['message'] != ''){ CODE if( $_POST ['email'] && !preg_match( "/[\r\n]/", $_POST['email'] ) {
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
Zobacz czy ten kod zadziała:
Ten post edytował LowiczakPL 13.02.2021, 17:33:38 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zobacz czy ten kod zadziała:
nie działa niestety - dalej wyrzuca komunikat o błędzie... |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
też tak samo jest - HTTP ERROR 500... może poszukam jednak innego skryptu (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
może problem nie jest w skrypcie
podaj adres gdzie jest ten formularz? czy formularz ma FORM i metodę typu POST? https://www.w3schools.com/html/tryit.asp?fi...yhtml_form_text https://www.w3schools.com/html/tryit.asp?fi...tml_form_submit https://www.w3schools.com/tags/tryit.asp?fi...orm_method_post Ten post edytował LowiczakPL 13.02.2021, 17:46:00 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
dobra, teraz mam tak i dalej jest ten sam błąd:
W warunkach masz nie robic tego tylko w tej jednej zmiennej $body 1.Zadalem Ci pytanie czy slesz to z locala czy z serwera w necie. 2. Zawsze mozesz sprawdzic sama funkcje mail() czy dziala. Jesli dziala znaczy ze gdzies wczesniej jest blad dlatego miales wstawic linijke o raportowaniu bledow. Sa jakies pehapeowe warrningi (IMG:style_emoticons/default/questionmark.gif) 3. Olej caly kod i wstaw mail() z argumentami i wywolaj plik. Jesli to robisz na localu u soebie znaczy ze nie masz skonfigurowanego serwera. Jesli na necie znaczy ze gdzies masz blad Wstaw sam mail() z argumentami w warunku.
[/php] Ten post edytował dublinka 13.02.2021, 18:23:09 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
może problem nie jest w skrypcie podaj adres gdzie jest ten formularz? czy formularz ma FORM i metodę typu POST? https://www.w3schools.com/html/tryit.asp?fi...yhtml_form_text https://www.w3schools.com/html/tryit.asp?fi...tml_form_submit https://www.w3schools.com/tags/tryit.asp?fi...orm_method_post formularz jest tutaj - http://pogoda247.000webhostapp.com/formularz.htm |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) ![]() ![]() |
nie dostałem 500, ale nie mam info że email został wysłany a
funkcja mail zwraca true lub false, więc dopisz coś takiego Ten post edytował LowiczakPL 13.02.2021, 18:55:17 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Masz blad serwera 500.
Header jest wogole w zlym miejscu. Ma byc w warunku tuz za mail() bo teraz byle co soe stanie to bedzie posylac cie na dana strone. Sprawdz przyklad ktory Ci podalem zeby sprawdzic czy wogole mail wychodzi |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
dobra, poddaję się (IMG:style_emoticons/default/smile.gif) jestem zielony jeśli chodzi o php i kompletnie tego nie ogarniam, także dzięki za pomoc, ale zlecę komuś napisanie tego i już (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Wystarczy usunac wszystko z tego pliku i dac ten kod co podalem. Wtedy bedziesz wiedzial widzac czy pokazuje ok czy blad.
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 28.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
tu trzeba cały skrypt od nowa napisać - sprawdziłem tego gotowca od autora zmieniając w nim tylko email na swój i też nic (IMG:style_emoticons/default/smile.gif) szkoda tracić na to czas, także jeszcze raz dzięki za pomoc (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 15:10 |