Thread View: pl.comp.lang.php
23 messages
23 total messages
Started by Elmo Killer
Wed, 22 Feb 2006 17:43
Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Elmo Killer
Date: Wed, 22 Feb 2006 17:43
Date: Wed, 22 Feb 2006 17:43
62 lines
2481 bytes
2481 bytes
Witam,
od pewnego czasu nie dochodzą do mnie maile/wiadomości wysłane z formularza
wykorzystującego skrypt sendformmail.php. Admin twierdzi ze to wina skryptu,
który po aktualizacji php na serwerze przestał działać... ale na innych
serwerach skrypt działa idealnie.
Mógłby ktoś zerknąć na kod skryptu czy jest wszystko ok?
Z góry dziękuję za wszelką pomoc
Pozdr.
Jacek
-------------------------------------------------------
<?
function error($error) {
?>
<html> <head>
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2">
</head> <body> <? echo $error ?> </body>
</html>
<?
exit;
}
if($email == "") {
$error = "Nie został podany adres na który ma być wysłany email z danymi z
formularza.";
error($error);
}
if($require != "") {
$separator = ",";
for($item = strtok($require,$separator);
$item;
$item = strtok($separator)) {
$items[$item]++;
}
}
while(list($key,$val) = each($HTTP_POST_VARS)) {
if(($key != 'send') and ($key != 'email') and ($key != 'subject') and ($key
!= 'require') and ($key != 'location')) {
if(gettype($items) == 'array') {
reset($items);
while(list($key2,$val2) = each($items)) {
if(($key == $key2) and ($val == "")) {
$error = "Nie zostało wypełnione pole $key.";
error($error);
}
}
}
$body .= "$key:\n$val\n\n";
}
}
mail($email,$subject,$body,"From: Klient");
if($location == "") {
$error = "BَD!!! NIE WYPEŁNIONO WSZYSTKICH PÓL PRAWIDŁOWO. SPRÓBUJ JESZCZE
RAZ.";
error($error);
} else {
header("Location: $location");
}
?>
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Lemat
Date: Wed, 22 Feb 2006 17:47
Date: Wed, 22 Feb 2006 17:47
21 lines
1772 bytes
1772 bytes
Elmo Killer napisał(a): > od pewnego czasu nie dochodzą do mnie maile/wiadomości wysłane z formularza > wykorzystującego skrypt sendformmail.php. Admin twierdzi ze to wina skryptu, > który po aktualizacji php na serwerze przestał działać... ale na innych > serwerach skrypt działa idealnie. > Mógłby ktoś zerknąć na kod skryptu czy jest wszystko ok? > wypełnij to mail($email,$subject,$body); jakimiś danymi i uruchom a następnie pokaż wynik adminowi -- Pozdrawiam Lemat abuse z amm.net.pl: SPAM to nie zamówiona przesyłka reklamowa wysłana do odbiorcy bez jego zgody. W przypadku Usenet to nie zachodzi - Pana sam pobrał tę pocztę - konfigurując konto grupy w swoim komputerze, tym samym wyrażając zgodę na odbieranie wszystkiego co tam jest.
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Elmo Killer
Date: Wed, 22 Feb 2006 18:03
Date: Wed, 22 Feb 2006 18:03
6 lines
1081 bytes
1081 bytes
> wypełnij to > > mail($email,$subject,$body); DZIĘKI!!! działa! :-)
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Sun, 21 Feb 2016 11:08
Date: Sun, 21 Feb 2016 11:08
70 lines
2986 bytes
2986 bytes
W dniu środa, 22 lutego 2006 10:03:49 UTC-8 użytkownik Elmo Killer napisał:
> > wypełnij to
> >
> > mail($email,$subject,$body);
>
>
> DZIĘKI!!! działa! :-)
Mam identyczny problem ale po wypełnieniu dalej klapa. Albo coś pominąłem jeszcze w skrypcie.
<?
function error($error) {
?>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2">
</head>
<body>
<? echo $error ?>
</body>
</html>
<?
exit;
}
$email = $_POST['email'];
$location = $_POST['location'];
$require = $_POST['require'];
if($email == "") {
$error = "Nie został podany adres na który ma być wysłany email z danymi z formularza.";
error($error);
}
if($require != "") {
$separator = ",";
for($item = strtok($require,$separator);
$item;
$item = strtok($separator)) {
$items[$item]++;
}
}
while(list($key,$val) = each($HTTP_POST_VARS)) {
if(($key != 'send') and ($key != 'email') and ($key != 'subject') and ($key != 'require') and ($key != 'location')) {
if(gettype($items) == 'array') {
reset($items);
while(list($key2,$val2) = each($items)) {
if(($key == $key2) and ($val == "")) {
$error = "Nie zostało wypełnione pole $key.";
error($error);
}
}
}
$body .= "$key:\n$val\n\n";
}
}
mail($email,$subject,$body,"From: Klient internetowy <formmail@pandp.home.pl>");
if($location == "") {
$error = "Formularz został wysłany. Dziękujemy.";
error($error);
} else {
header("Location: $location");
}
?>
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Lemat
Date: Sun, 21 Feb 2016 11:23
Date: Sun, 21 Feb 2016 11:23
81 lines
3117 bytes
3117 bytes
W dniu 21.02.2016 o 12:08, stas13111979@gmail.com pisze:
> W dniu środa, 22 lutego 2006 10:03:49 UTC-8 użytkownik Elmo Killer napisał:
>>> wypełnij to
>>>
>>> mail($email,$subject,$body);
>>
>>
>> DZIĘKI!!! działa! :-)
>
> Mam identyczny problem ale po wypełnieniu dalej klapa. Albo coś pominąłem jeszcze w skrypcie.
>
> <?
>
> function error($error) {
> ?>
> <html>
> <head>
> <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2">
> </head>
> <body>
> <? echo $error ?>
> </body>
> </html>
> <?
> exit;
> }
>
> $email = $_POST['email'];
> $location = $_POST['location'];
> $require = $_POST['require'];
>
> if($email == "") {
> $error = "Nie został podany adres na który ma być wysłany email z danymi z formularza.";
> error($error);
> }
>
> if($require != "") {
> $separator = ",";
> for($item = strtok($require,$separator);
> $item;
> $item = strtok($separator)) {
> $items[$item]++;
> }
> }
>
> while(list($key,$val) = each($HTTP_POST_VARS)) {
> if(($key != 'send') and ($key != 'email') and ($key != 'subject') and ($key != 'require') and ($key != 'location')) {
> if(gettype($items) == 'array') {
> reset($items);
> while(list($key2,$val2) = each($items)) {
> if(($key == $key2) and ($val == "")) {
> $error = "Nie zostało wypełnione pole $key.";
> error($error);
> }
> }
> }
> $body .= "$key:\n$val\n\n";
> }
> }
>
>
> mail($email,$subject,$body,"From: Klient internetowy <formmail@pandp.home.pl>");
>
> if($location == "") {
> $error = "Formularz został wysłany. Dziękujemy.";
> error($error);
> } else {
> header("Location: $location");
> }
>
> ?>
>
1) Nie podałeś komunikatu błędu.
2) Używasz starodawnej tabeli $HTTP_POST_VARS zamiast $_POST
3) twój skrypt umożliwia wysyłanie emaila przez dowolną osobę do
dowolnej osoby? no to masz problem z bezpieczeństwem.
--
Pozdrawiam
Lemat
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Sun, 21 Feb 2016 11:58
Date: Sun, 21 Feb 2016 11:58
204 lines
10369 bytes
10369 bytes
W dniu niedziela, 21 lutego 2016 03:23:27 UTC-8 użytkownik Lemat napisał:
> W dniu 21.02.2016 o 12:08, stas13111979@gmail.com pisze:
> > W dniu środa, 22 lutego 2006 10:03:49 UTC-8 użytkownik Elmo Killer napisał:
> >>> wypełnij to
> >>>
> >>> mail($email,$subject,$body);
> >>
> >>
> >> DZIĘKI!!! działa! :-)
> >
> > Mam identyczny problem ale po wypełnieniu dalej klapa. Albo coś pominąłem jeszcze w skrypcie.
> >
> > <?
> >
> > function error($error) {
> > ?>
> > <html>
> > <head>
> > <meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2">
> > </head>
> > <body>
> > <? echo $error ?>
> > </body>
> > </html>
> > <?
> > exit;
> > }
> >
> > $email = $_POST['email'];
> > $location = $_POST['location'];
> > $require = $_POST['require'];
> >
> > if($email == "") {
> > $error = "Nie został podany adres na który ma być wysłany email z danymi z formularza.";
> > error($error);
> > }
> >
> > if($require != "") {
> > $separator = ",";
> > for($item = strtok($require,$separator);
> > $item;
> > $item = strtok($separator)) {
> > $items[$item]++;
> > }
> > }
> >
> > while(list($key,$val) = each($HTTP_POST_VARS)) {
> > if(($key != 'send') and ($key != 'email') and ($key != 'subject') and ($key != 'require') and ($key != 'location')) {
> > if(gettype($items) == 'array') {
> > reset($items);
> > while(list($key2,$val2) = each($items)) {
> > if(($key == $key2) and ($val == "")) {
> > $error = "Nie zostało wypełnione pole $key.";
> > error($error);
> > }
> > }
> > }
> > $body .= "$key:\n$val\n\n";
> > }
> > }
> >
> >
> > mail($email,$subject,$body,"From: Klient internetowy <formmail@pandp.home.pl>");
> >
> > if($location == "") {
> > $error = "Formularz został wysłany. Dziękujemy.";
> > error($error);
> > } else {
> > header("Location: $location");
> > }
> >
> > ?>
> >
>
> 1) Nie podałeś komunikatu błędu.
> 2) Używasz starodawnej tabeli $HTTP_POST_VARS zamiast $_POST
> 3) twój skrypt umożliwia wysyłanie emaila przez dowolną osobę do
> dowolnej osoby? no to masz problem z bezpieczeństwem.
>
> --
> Pozdrawiam
> Lemat
Przepraszam, jeśli będę męczący ale to jest powrót i ponowna gimnastyka po 12latach od ukończenia szkoły. Jak przyszło mi odświeżyć wiedzę.
Ad.1 Chodzi Ci o zmianę wyświetlającego się komunikatu ?
Ad.2 Po zmianie na $_POST dalej nic.
Ad.3 Adres nadawcy jest zdefiniowany w form.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//ENPL">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<link href="styl.css" rel="stylesheet" type="text/css">
<script language="JavaScript">
<!--
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' musi zawierać znak "@"\n';
} else if (test!='R') {
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- pole '+nm+' jest puste.\n'; }
} if (errors) alert('Formularz zawiera następujące błędy:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>
<body topmargin="0">
<table width="800" height="675" border="0" align="center" cellpadding="2" cellspacing="3" class="tekst3"><tr>
<td height="669" valign="top"><br>
<table border="0" cellspacing="3" cellpadding="2"><tr>
<td width="100%" class="tekst3">Jeśli są Państwo zainteresowani wycieczką z Biurem Turystyki. - prosimy o wypełnienie i przesłanie nam poniższego formularza. Wypełnienie i przesłanie formularza zgłoszeniowego na wycieczkę jest formą zawarcia umowy z Biurem Turystyki. Po otrzymaniu zgłoszenia wysłanego z tej strony, pracownik Biura prześle Państwu e-maila potwierdzającego rezerwację wraz z informacją o dalszej drodze postępowania. </td></tr>
<tr><td class="tekst2"><hr size="1" noshade></td></tr>
<tr><td>
<form name="zgloszenie" method="POST" action="http://www.strona.pl/php/sendformmail.php3">
<input type="hidden" name="email" value="stas@it-pomoc.com">
<input type="hidden" name="location" value="http://www.strona.pl/info.php">
<table width="100%" border="0" cellpadding="3" cellspacing="0" class="tekst3"><tr>
<td width="40%" class="tekst2"><div align="right">nazwa wycieczki</div></td>
<td width="2%"></td>
<td width="58%">
<select name="impreza" size="1">
<option selected>-- wybierz wycieczkę --</option>
<option>Słowacja - Wyżne Rużbachy: 20 - 27.02</option>
<option>Iran: 7 - 15.03</option>
</select></td></tr>
<tr><td class="tekst2" width="40%"><div align="right">imię i nazwisko</div></td>
<td width="2%"></td>
<td width="58%"><input type="text" name="imie i nazwisko" maxlength="50" size="40"></td></tr>
<tr><td class="tekst2" width="40%"><div align="right">data urodzenia</div></td>
<td width="2%"></td>
<td width="58%"><input type="text" name="data i miejsce urodzenia" maxlength="50" size="40"></td></tr>
<tr><td class="tekst2" width="40%"> <div align="right">adres zamieszkania</div></td>
<td width="2%"></td>
<td width="58%"> <textarea name="adres zamieszkania" cols="40" rows="3"></textarea></td></tr>
<tr><td width="40%" class="tekst2"><div align="right">e-mail</div></td><td width="2%" height="30"></td>
<td width="58%"><input name="e-mail" type="text" id="e-mail" size="30" maxlength="30"></td></tr>
<tr><td class="tekst2" width="40%"> <div align="right">numer telefonu</div></td><td width="2%" height="30"></td>
<td width="58%"> <input type="text" name="telefon" maxlength="50" size="20"></td></tr>
<tr><td width="40%" class="tekst2"><div align="right">seria i numer paszportu <br>(lub seria i numer dowodu osobistego)</div></td><td width="2%" class="tekst2"></td>
<td width="58%" class="tekst2"> <input type="text" name="seria i nr paszportu" maxlength="50" size="20"></td></tr>
<tr><td width="40%" class="tekst2"> <div align="right">data i miejsce wydania paszportu </div></td><td width="2%"></td>
<td width="58%" class="tekst2"> <input type="text" name="miejsce wydanie paszportu" maxlength="50" size="30"></td></tr>
<tr><td width="40%" class="tekst2"> <div align="right">data ważności paszportu</div></td><td width="2%"></td>
<td width="58%" class="tekst2"> <input type="text" name="data waznosci paszportu" maxlength="50" size="20"></td></tr>
<tr><td colspan="3"><hr size="1" noshade></td></tr>
<tr><td class="tekst2" colspan="3">
Oświadczam, że po zapoznaniu się z programem imprezy oraz <a href="index.php?go=7" class="link">WARUNKAMI UCZESTNICTWA</a>, przyjmuję je do wiadomości i zgłaszam swój udział w wycieczce. Wyrażam zgodę na przetwarzanie moich danych osobowych przez Biuro Turystyki. dla potrzeb realizacji imprezy turystycznej oraz prowadzenia korespondencji.<br>
tak <input type="radio" name="taknie" value="radiobutton" checked>
nie <input type="radio" name="taknie" value="radiobutton">
</td></tr>
<tr><td width="40%" class="tekst2"> <div align="right"> Miejscowość i data</div></td>
<td width="2%" class="tekst2"></td>
<td width="58%" class="tekst2">
<input type="text" name="miejscowosc i data" maxlength="50" size="30"></td></tr>
<tr><td width="40%"><div align="right">
<input type="submit" name="Wyślij" value="Wyślij" onClick="MM_validateForm('imie i nazwisko','','R','e-mail','','R','telefon','','R');return document.MM_returnValue"></div></td>
<td width="2%"></td>
<td width="58%">
<input type="hidden" name="location" value="http://www.strona.pl/komunikat.php">
<input type="hidden" name="subject" value="Zgłoszenie na wycieczkę">
<input type="reset" name="kasuj" value="Kasuj dane"></td></tr>
<tr><td colspan="3"></td></tr></table>
</form></td></tr>
<tr><td class="tekst3">W związku z ustawą z dnia 29.08.1997 o Ochronie Danych Osobowych (Dz. U. Nr 133/97) Biuro Turystyki oświadcza że powyższe dane zostaną wprowadzone do komputerowej bazy danych Biura. Biuro Turystyki wykorzysta te dane wyłącznie w celu przesyłania katalogów i materiałów reklamowych. Klient ma prawo do wglądu do swoich danych, ich poprawiania oraz żądania ich usunięcia. Dane te nie są nigdy udostępniane osobom trzecim, z wyjątkiem sytuacji gdy wynika to z obowiązujących przepisów prawa. </td></tr></table>
</td></tr></table>
</body>
</html>
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Sun, 21 Feb 2016 12:00
Date: Sun, 21 Feb 2016 12:00
1 lines
1550 bytes
1550 bytes
u kolegi to zadziałało z $HTTP_POST_VARS ?!
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Lemat
Date: Sun, 21 Feb 2016 13:00
Date: Sun, 21 Feb 2016 13:00
55 lines
3162 bytes
3162 bytes
W dniu 21.02.2016 o 12:58, stas13111979@gmail.com pisze: >>> >> >> 1) Nie podałeś komunikatu błędu. >> 2) Używasz starodawnej tabeli $HTTP_POST_VARS zamiast $_POST >> 3) twój skrypt umożliwia wysyłanie emaila przez dowolną osobę do >> dowolnej osoby? no to masz problem z bezpieczeństwem. >> >> -- >> Pozdrawiam >> Lemat > > Przepraszam, jeśli będę męczący ale to jest powrót i ponowna gimnastyka po 12latach od ukończenia szkoły. Jak przyszło mi odświeżyć wiedzę. > > Ad.1 Chodzi Ci o zmianę wyświetlającego się komunikatu ? Nie, chodzi mi o to, że nie wiadomo który kawałek kodu ci nie działa. Debugując kod najprościej będzie wstawić w strategicznych miejscach np.: echo "dotarłem aż za pętlę foreach"; Warto też sobie wyświetlić zawartość zmiennych przesyłanych do skryptu: echo 'zawartość tabeli $_POST'; print_r($_POST); echo 'zawartość tabeli $HTTP_POST_VARS'; print_r($HTTP_POST_VARS); i jeżeli taki tekst się wyświetli to będzie wiadomo, co zostało wykonane a jeżeli się nie wyświetli to będzie wiadomo, że coś nie zostało wykonane. Tak więc wstaw kilka razy w kod takie echo i powiedz z czym jest problem. > Ad.2 Po zmianie na $_POST dalej nic. > Ad.3 Adres nadawcy jest zdefiniowany w form.php Mówisz o tym?! <input type="hidden" name="email" value="stas it-pomoc.com"> To się daje sfałszować. Profesjonalni spamerzy zrobią ci z serwera jesień średniowiecza. > u kolegi to zadziałało z $HTTP_POST_VARS ?! no tak, rozszerzenie php3 wskazuje, że masz tam PHP3, które nieco różni się od obecnego PHP5 właśnie obecnością tablicy $_POST i/lub $HTTP_POST_VARS. Kolega nadal rozpala ognisko przy użyciu krzesiwa? Wstaw w kod echo i print_r, wykonaj, pokaż wynik. -- Pozdrawiam Lemat
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Mon, 22 Feb 2016 13:03
Date: Mon, 22 Feb 2016 13:03
10 lines
2245 bytes
2245 bytes
dotarłem do 53 linijki koduzawartość tabeli $_POSTArray ( [email] => stas@it-pomoc.com [location] => http://www.wojazer.pl/index.php?go=8 [impreza] => Norwegia - fiordy: 4 - 8.07 [imie_i_nazwisko] => jkhkhh;lkhlkjhllk [data_i_miejsce_urodzenia] => 13.11.1979 [adres_zamieszkania] => [e-mail] => stas@it-pomoc.com [telefon] => 504301269 [seria_i_nr_paszportu] => azm000999 [miejsce_wydanie_paszportu] => 13.11.1990 [data_waznosci_paszportu] => 21.08.2000 [taknie] => radiobutton [miejscowosc_i_data] => gdynia 13.11.1979 [Wyślij] => Wyślij [subject] => Zgłoszenie na wycieczkę ) zawartość tabeli $HTTP_POST_VARS
Po niej jest już tylko
if($location == "") {
$error = "Formularz nie został wysłany z powodu błędu. Spróbuj ponownie.";
error($error);
} else {
header("Location: $location");
}
?>
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Lemat
Date: Mon, 22 Feb 2016 16:39
Date: Mon, 22 Feb 2016 16:39
43 lines
2306 bytes
2306 bytes
W dniu 22.02.2016 o 14:03, stas13111979@gmail.com pisze: > dotarłem do 53 linijki kodu czyli funkcja mail() została wykonana masz ustawione: $email = $_POST['email']; $location = $_POST['location']; nie masz ustawione: $require = $_POST['require']; > zawartość tabeli $HTTP_POST_VARS no i teraz nie wiem jaka jest "zawartość tabeli $HTTP_POST_VARS" masz ustawione $_POST['subject'] ALE to niekoniecznie oznacza, że masz ustawione $subject (konfiguracja register_globals prawdopodopbnie będzie wyłączona) zatem: mail($email,$subject,$body,"From: Klient internetowy <formmail@pandp.home.pl>"); wykonuje się z pustym $subject i nie wiadomo z jakim $body (nie chce mi się analizować) no to może wstaw coś na sztywno: mail($email,'test','to jest test',"From: Klient internetowy <formmail@pandp.home.pl>"); i wykonaj i zobacz czy email idzie? -- Pozdrawiam Lemat
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Mon, 22 Feb 2016 20:02
Date: Mon, 22 Feb 2016 20:02
179 lines
8056 bytes
8056 bytes
> no to może wstaw coś na sztywno:
>
> mail($email,'test','to jest test',"From: Klient internetowy
> <formmail@pandp.home.pl>");
>
> i wykonaj i zobacz czy email idzie?
>
> --
> Pozdrawiam
> Lemat
Wstawiłem na sztywno i nic.
Próbowałem z innym szablonem i też mail nie dochodzi.
Plik formul.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Nowa strona 1</title>
</head>
<body>
<FORM NAME="zgloszenie" METHOD="post" ACTION="zamowienie.php">
<div align="center"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Imię</font>
<INPUT TYPE="text" NAME="imie" SIZE="30" value="">
<br>
<INPUT TYPE="text" NAME="nazwisko" SIZE="30" value="">
<br>
<INPUT TYPE="text" NAME="ulica" SIZE="30" value="">
<br>
<INPUT TYPE="text" NAME="tel" SIZE="30" value="">
<br>
<INPUT TYPE="text" NAME="email" SIZE="30" value="">
<br>
<select name="produkt1">
<option value="">Wybierz produkt</option>
<option value="1" >Wybierz produkt</option>
<option value="2" >Salceson Wiejski</option>
<option value="3" >Pasztet Wiejski 3 mięsny</option>
<option value="4" >Kiełbasa Drobiowa</option>
<option value="5" >Krakowska Drobiowa</option>
<option value="6" >Krakowska Wieprzowa</option>
<option value="7" >Kiełbasa Markowska</option>
<option value="8" >Kiełbasa Narewska</option>
<option value="9" >Palcówka Krynicka</option>
<option value="10" >Kiełbasa Pradziada</option>
<option value="11" >Kiełbasa Swojska</option>
<option value="12" >Kiełbasa Wiejska Wieprzowa</option>
<option value="13" >Boczek Wiejski</option>
<option value="14" >Szynka Swojska Tradycyjna</option>
<option value="15" >Szynka Wiejska Tradycyjna</option>
<option value="16" >Wędzonka Tradycyjna</option>
<option value="17" >Schab Wędzony Markowski</option>
<option value="18" >Szynka Peklowana Tradycyjnie</option>
<option value="19" >Karczek Domowy</option>
<option value="20" >Schab Pieczony Domowy</option>
<option value="21" >Boczek Pieczony Tradycyjny</option>
<option value="22" >Pieczeń Wieprzowa "Zając"</option>
<option value="23" >Przysmak Markowski Zapiekany</option>
<option value="24" >Golonka Babuni</option>
</select>
<INPUT TYPE="text" NAME="ilosc1" SIZE="5" value="g">
<br>
<select name="produkt2">
<option value="">Wybierz produkt</option>
<option value="1" >Wybierz produkt</option>
<option value="2" >Salceson Wiejski</option>
<option value="3" >Pasztet Wiejski 3 mięsny</option>
<option value="4" >Kiełbasa Drobiowa</option>
<option value="5" >Krakowska Drobiowa</option>
<option value="6" >Krakowska Wieprzowa</option>
<option value="7" >Kiełbasa Markowska</option>
<option value="8" >Kiełbasa Narewska</option>
<option value="9" >Palcówka Krynicka</option>
<option value="10" >Kiełbasa Pradziada</option>
<option value="11" >Kiełbasa Swojska</option>
<option value="12" >Kiełbasa Wiejska Wieprzowa</option>
<option value="13" >Boczek Wiejski</option>
<option value="14" >Szynka Swojska Tradycyjna</option>
<option value="15" >Szynka Wiejska Tradycyjna</option>
<option value="16" >Wędzonka Tradycyjna</option>
<option value="17" >Schab Wędzony Markowski</option>
<option value="18" >Szynka Peklowana Tradycyjnie</option>
<option value="19" >Karczek Domowy</option>
<option value="20" >Schab Pieczony Domowy</option>
<option value="21" >Boczek Pieczony Tradycyjny</option>
<option value="22" >Pieczeń Wieprzowa "Zając"</option>
<option value="23" >Przysmak Markowski Zapiekany</option>
<option value="24" >Golonka Babuni</option>
</select>
<INPUT TYPE="text" NAME="ilosc2" SIZE="5" value="g">
<br>
<INPUT TYPE="submit" value="wyslij">
</div>
</form>
</body>
</html>
</code>
Plik zamowienie.php
<?php
$imie=$_POST['imie'];
$nazwisko=$_POST['nazwisko'];
$ulica=$_POST['ulica'];
$email=$_POST['email'];
$tel=$_POST['tel'];
$gg=$_POST['gg'];
$pakiet=$_POST['pakiet'];
$login=$_POST['login'];
$haslo=$_POST['haslo'];
$data=strftime(" %A, %d %B %Y");
$nadawca_imie = "[Zgłoszenie ze strony]";
$send_email ="stas@it-pomoc.com";
$temat = "[Zgłoszenie ze strony] - Informacja o zgłoszeniu - zamówieniu";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-2\r\n";
$headers .= "From: $nadawca_imie <$email>\r\n";
$body_mail = "<table width=600 border=0 cellpadding=1 cellspacing=2 align=center style=\"font-family: Verdana; font-size: 10px;\">
<tr>
<td colspan=2 align=center><b><u>".$temat."</u></b></td>
</tr>
<tr>
<td colspan=2 align=center> </td>
</tr>
<tr>
<td width=166 align=right>Imię zamawiajšcego: </td>
<td width=424><div align=\"justify\"><b>".$imie."</b></div></td>
</tr>
<tr>
<td width=166 align=right>Nazwisko zamawiajšcego: </td>
<td width=424><div align=\"justify\"><b>".$nazwisko."</b></div></td>
</tr>
<tr>
<td width=166 align=right>Skšd: </td>
<td width=424><div align=\"justify\"><b>".$ulica."</b></div></td>
</tr>
<tr>
<td width=166 align=right>Mail zgłaszajšcego: </td>
<td width=424><div align=\"justify\"><b>".$email."</b></div></td>
</tr>
<tr>
<td align=right valign=top>Telefon: </td>
<td align=left valign=top> <div align=\"justify\"><b>".$tel."</b></div></td>
</tr>
<tr>
<td align=right valign=top>Produkt 1: </td>
<td align=left valign=top> <div align=\"justify\"><b>".$produkt1."</b></div></td>
</tr>
<tr>
<td align=right valign=top>Ilosc 1: </td>
<td align=left valign=top> <div align=\"justify\"><b>".$ilosc1."</b></div></td>
</tr>
<tr>
<td align=right valign=top>Produkt 2: </td>
<td align=left valign=top> <div align=\"justify\"><b>".$produkt2."</b></div></td>
</tr>
<tr>
<td align=right valign=top>Ilosc 2: </td>
<td align=left valign=top> <div align=\"justify\"><b>".$ilosc2."</b></div></td>
</tr>
<tr>
<td colspan=2 align=center> </td>
</tr>
<tr>
<td colspan=2 align=center>Data przeslania zgłoszenia: $data</td>
</tr>
</table>";
mail($send_email,$temat,$body_mail,$headers);
print "<br><center>Zgłoszenie zostało wysłane</center>";
print "<br><center>skontaktujemy się z Tobš wkrótce</center>";
?>
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Lemat
Date: Mon, 22 Feb 2016 20:23
Date: Mon, 22 Feb 2016 20:23
25 lines
2083 bytes
2083 bytes
W dniu 22.02.2016 o 21:02, stas13111979@gmail.com pisze: >> no to może wstaw coś na sztywno: >> >> mail($email,'test','to jest test',"From: Klient internetowy >> <formmail@pandp.home.pl>"); >> >> i wykonaj i zobacz czy email idzie? >> > > Wstawiłem na sztywno i nic. A! czyli oprócz problemów z kodowaniem w odpowiedniej wersji PHP jest jeszcze problem z serwerem pocztowym. I teraz pytanie z gatunki "czy włączyłeś wtyczkę do prądu": Czy masz tam działający serwer pocztowy? Czy adresy email nadawcy i odbiorcy są poprawne? Czy odbiorca jest na lokalnym serwerze pocztowym czy też gdzieś w świecie? Czy nadawca jest na lokalnym serwerze pocztowym czy też gdzieś w świecie? -- Pozdrawiam Lemat
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Thu, 25 Feb 2016 08:26
Date: Thu, 25 Feb 2016 08:26
8 lines
2304 bytes
2304 bytes
Witam, dostałem jedynie dostęp do ftp z prośbą o sprawdzenie tego skryptu. Nie administruję ich serwerem. Z pingów wynika że domena jest w az.pl i kieruje na serwer w Dani. Ja swój serwer mam w nazwa.pl, wstawiłem chwilowo swojego maila w formularzu jako odbiorcę <input type="hidden" name="email" value="stas@it-pomoc.com"> Adres nadawcy jest w sendformmail ? mail($email,$subject,$body,"From: Klient internetowy <formmail@pandp.home.pl>");
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Lemat
Date: Thu, 25 Feb 2016 17:47
Date: Thu, 25 Feb 2016 17:47
23 lines
2248 bytes
2248 bytes
W dniu 25.02.2016 o 09:26, stas13111979@gmail.com pisze: > Witam, > dostałem jedynie dostęp do ftp z prośbą o sprawdzenie tego skryptu. Nie administruję ich serwerem. > Z pingów wynika że domena jest w az.pl i kieruje na serwer w Dani. > Ja swój serwer mam w nazwa.pl, wstawiłem chwilowo swojego maila w formularzu jako odbiorcę > <input type="hidden" name="email" value="stas@it-pomoc.com"> > > Adres nadawcy jest w sendformmail ? > mail($email,$subject,$body,"From: Klient internetowy <formmail@pandp.home.pl>"); > masz serwer w nazwie, ale adres nadawcy masz formmail@pandp.home.pl bardzo możliwe, że filtry antyspamowe to wycinają. ustaw adres nadawcy i adres odbiorcy takie jak masz lokalnie na serwerze istniejące konta pocztowe. -- Pozdrawiam Lemat
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Rafal Podsiadly
Date: Sat, 27 Feb 2016 12:17
Date: Sat, 27 Feb 2016 12:17
2 lines
2824 bytes
2824 bytes
Panowie to straszne co czytam wymieszanie kodu php z html i wysylanie maili bez zadnej kontroli bez ograniczen. Brak jakiegokolwiek srodowiska zarzadczego brak zapisu logow. Brak zapisu stanu. Pomysl to co napisales jest bardzo trudne w utrzymaniu. Zanim napiszesz linijke kodu powinienes to zaprojektowac. Co do sprawy samego wysylania mail. To sprawdz czy raka usluga zostala wlaczona w phpinfo poszukaj gotowej klasy wysylajacej maile i uzyj jej. Github swiftmail. Nauke programowania zacznij od zrozumienia logiki biznesowej z logika aplikacji. Formularz dostepny po zalogowaniu lub e specjalnym kodem -> walidacja -> przekazanie zmiennych -> obsluga stanow i ewentualnych blendow -> zapis otrzymanych wynikow. Oczywiscie z data. I wtedy mozemy rozmawiac. Pytanie co chcesz osiagnac? Zabic serwer? Wyslac 100 mail na sekunde. Bo ja ci w pare minut ten formulaz rozwale. Moze mail nie jest potzebny. Bo zle jest zaprojktowana logika. Ps. Obsluge maili powinno sie tworzyc jako usluge a nie jaki bezposrednia wysylka. Bo byle spamer ci to rozp..... pozdrawiam zycze powodzenia.
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Fri, 04 Mar 2016 13:10
Date: Fri, 04 Mar 2016 13:10
13 lines
3250 bytes
3250 bytes
Poproszono mnie jedynie o rozwiązaniu problemu z niedziałającym formularzem, nie zajmuje się takimi tematami na co dzień ale grzecznościowo zgodziłem się to zrobić. Nie zamierzam czegokolwiek zmieniać jeśli chodzi o działanie strony www, założenia, itd. Poza tym podejście osoby która mnie o to poprosiła jest takie że; "jak coś działa to nie będziemy tego zmieniać" nadgorliwy nie będę i muru przebijać nie zamierzam. Udało mi się już uruchomić wysyłanie maili poprzez PHPMailer z autoryzacją SMTP. Chciał bym się tylko dowiedzieć jeszcze jak w treści maila $mail->Body = "Treść maila z danymi z formularza"; otrzymać wybrane wartości z tabeli , nieco bardziej przejrzyście, tj. Imię i nazwisko <wartość z tabeli> Data i miejsce urodzenia <wartość z tabeli> itd. print_r($_POST); Array ( [email] => adres@domena.pl [location] => http://www.domena.pl/index.php?go=8 [impreza] => Polska - Wrocław i okolice: 16 - 21.05 [imie_i_nazwisko] => Stas [data_i_miejsce_urodzenia] => 13.11.1979 [adres_zamieszkania] => [e-mail] => info@twoj.mail.pl [telefon] => 504301268 [seria_i_nr_paszportu] => azm000999 [miejsce_wydanie_paszportu] => 13.11.1990 [data_waznosci_paszportu] => 21.08.2000 [taknie] => radiobutton [miejscowosc_i_data] => gdynia 13.11.1979 [Wyślij] => Wyślij [subject] => Zgłoszenie na wycieczkę )
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Rafal Podsiadly
Date: Thu, 10 Mar 2016 16:54
Date: Thu, 10 Mar 2016 16:54
8 lines
2196 bytes
2196 bytes
Musisz ustawic tryb wiadomosci jako html pole wybierasz przez $_POST['imie'] połącz stringi za pomocą kropki. Ewentualnie możesz tak dodawać do końca stringu $mail->body = "pierwsza linia \n\r"; $mail->body .= "Druga linia \n\r"; $mail->body .= "<h3>Imie ".$_POST['imie']. "</h3>\n\r";
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Sat, 12 Mar 2016 09:43
Date: Sat, 12 Mar 2016 09:43
22 lines
3252 bytes
3252 bytes
Najpierw ustawiłem w sendmailform.php3 $email = $_POST['email']; $location = $_POST['location']; $require = $_POST['require']; następnie w body $mail->Body = "$imie_i_nazwisko, $impreza, $email"; wszystko fajnie ale jak próbuję przechwycić e-mail podawany w formularzu $email = $_POST['email']; i w body na końcu dodam $mail->Body = "$imie_i_nazwisko, $impreza, $e-mail"; to skrypt się nie realizuje a echo 'zawartość tabeli $_POST'; print_r($_POST); zwraca tą wartość zawartość tabeli $_POSTArray ( [email] => phpmailer@wojazer.pl [location] => http://www.wojazer.pl/index.php?go=8 [impreza] => Polska - Szczecin i Woliński PN: 13 - 17.06 [imie_i_nazwisko] => Stanisław Mackiewicz [data_i_miejsce_urodzenia] => 13.11.1979 [adres_zamieszkania] => wwwwwwww [e-mail] => info@it-pomoc.com [telefon] => 504301269 [seria_i_nr_paszportu] => azm000999 [miejsce_wydanie_paszportu] => 13.11.1990 [data_waznosci_paszportu] => 21.08.2000 [taknie] => radiobutton [miejscowosc_i_data] => gdynia 13.11.1979 [Wyślij] => Wyślij [subject] => Zgłoszenie na wycieczkę ) zawartość tabeli $HTTP_POST_VARSE-mail został wysłany być może rozwiązaniem była by zmiana nazwy tej wartości z e-mail na np. mail podczas przesyłania z formularza jednak nie wiem jak to zrobić
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Sat, 12 Mar 2016 10:25
Date: Sat, 12 Mar 2016 10:25
23 lines
2901 bytes
2901 bytes
Najpierw przechwyciłem w sendmailform.php3 $imie_i_nazwisko = $_POST['imie_i_nazwisko']; $telefon = $_POST['telefon']; ..... itd następnie w body $mail->Body = Imię i nazwisko: "$imie_i_nazwisko, Telefon: $telefon, .... itd"; wszystko fajnie ale jak próbuję przechwycić e-mail podawany w formularzu $e-mail = $_POST['e-mail']; i w body na końcu dodam $mail->Body = "$imie_i_nazwisko, $impreza, $e-mail"; to skrypt się nie realizuje a echo 'zawartość tabeli $_POST'; print_r($_POST); zwraca tą wartość zawartość tabeli $_POSTArray ( [email] => phpmailer@domena.pl [impreza] => Polska - Szczecin i Woliński PN: 13 - 17.06 [imie_i_nazwisko] => Stanisław Mackiewicz [data_i_miejsce_urodzenia] => 13.11.1979 [adres_zamieszkania] => wwwwwwww [e-mail] => info@it-pomoc.com być może rozwiązaniem była by zmiana nazwy tej wartości z e-mail na np. mail podczas przesyłania z formularza jednak nie wiem jak to zrobić
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Wojtek Gapiński
Date: Sat, 12 Mar 2016 10:27
Date: Sat, 12 Mar 2016 10:27
35 lines
3372 bytes
3372 bytes
W dniu 12-03-2016 o 10:43, stas13111979@gmail.com pisze: > Najpierw ustawiłem w sendmailform.php3 > $email = $_POST['email']; > $location = $_POST['location']; > $require = $_POST['require']; > następnie w body > $mail->Body = "$imie_i_nazwisko, $impreza, $email"; > > wszystko fajnie ale jak próbuję przechwycić e-mail podawany w formularzu > $email = $_POST['email']; > i w body na końcu dodam > $mail->Body = "$imie_i_nazwisko, $impreza, $e-mail"; > > to skrypt się nie realizuje a > echo 'zawartość tabeli $_POST'; > print_r($_POST); > > zwraca tą wartość > > zawartość tabeli $_POSTArray ( [email] => phpmailer@wojazer.pl [location] => http://www.wojazer.pl/index.php?go=8 [impreza] => Polska - Szczecin i Woliński PN: 13 - 17.06 [imie_i_nazwisko] => Stanisław Mackiewicz [data_i_miejsce_urodzenia] => 13.11.1979 [adres_zamieszkania] => wwwwwwww [e-mail] => info@it-pomoc.com [telefon] => 504301269 [seria_i_nr_paszportu] => azm000999 [miejsce_wydanie_paszportu] => 13.11.1990 [data_waznosci_paszportu] => 21.08.2000 [taknie] => radiobutton [miejscowosc_i_data] => gdynia 13.11.1979 [Wyślij] => Wyślij [subject] => Zgłoszenie na wycieczkę ) zawartość tabeli $HTTP_POST_VARSE-mail został wysłany > > być może rozwiązaniem była by zmiana nazwy tej wartości z e-mail na np. mail > podczas przesyłania z formularza jednak nie wiem jak to zrobić > Masz różne nazwy dla zmiennej: raz używasz $e-mail, raz $email. Powinno być: $mail->body = "$imie_i_nazwisko, $impreza, $email"; Dodatkowo w tabeli $_POST używasz e-mail jak i email - to może być źródłem pomyłek. pozdrawiam -- Wojtek Gapiński http://www.jwmprojekt.pl
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Sat, 12 Mar 2016 10:33
Date: Sat, 12 Mar 2016 10:33
25 lines
3075 bytes
3075 bytes
Przepraszam źle napisałem i nie zdążyłem usnąć zanim kolego już odpisał. Miało być: Najpierw przechwyciłem w sendmailform.php3 $imie_i_nazwisko = $_POST['imie_i_nazwisko']; $telefon = $_POST['telefon']; ..... itd następnie w body $mail->Body = Imię i nazwisko: "$imie_i_nazwisko, Telefon: $telefon, .... itd"; wszystko fajnie ale jak próbuję dodać e-mail podawany w formularzu $e-mail = $_POST['e-mail']; i w body na końcu dodam $mail->Body = "$imie_i_nazwisko, $impreza, $e-mail"; to skrypt się nie realizuje a echo 'zawartość tabeli $_POST'; print_r($_POST); zwraca tą wartość zawartość tabeli $_POSTArray ( [email] => phpmailer@domena.pl [impreza] => Polska - Szczecin i Woliński PN: 13 - 17.06 [imie_i_nazwisko] => Stanisław Mackiewicz [data_i_miejsce_urodzenia] => 13.11.1979 [adres_zamieszkania] => wwwwwwww [e-mail] => info@it-pomoc.com być może rozwiązaniem była by zmiana nazwy tej wartości z e-mail na np. mail podczas przesyłania z formularza jednak nie wiem jak to zrobić
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: stas13111979
Date: Tue, 15 Mar 2016 17:01
Date: Tue, 15 Mar 2016 17:01
9 lines
2551 bytes
2551 bytes
Temat do zamknięcia, zmieniłem w formularzu z: <tr><td width="40%" class="tekst2"><div align="right">e-mail</div></td><td width="2%" height="30"></td> <td width="58%"><input name="e-mail" type="text" id="e-mail" size="30" maxlength="30"></td></tr> na: <tr><td width="40%" class="tekst2"> <div align="right">Twój adres e-mail</div></td><td width="2%"></td> <td width="58%" class="tekst2"> <input type="text" name="mailowy" maxlength="50" size="20"></td></tr>
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
Author: Borys Pogoreło
Date: Sun, 03 Apr 2016 15:31
Date: Sun, 03 Apr 2016 15:31
13 lines
2203 bytes
2203 bytes
Dnia Tue, 15 Mar 2016 10:01:14 -0700 (PDT), stas13111979@gmail.com napisał(a): > <tr><td width="40%" class="tekst2"> <div align="right">Twój adres e-mail</div></td><td width="2%"></td> > <td width="58%" class="tekst2"> <input type="text" name="mailowy" maxlength="50" size="20"></td></tr> W nazwach kluczy wartości POST w PHP nie wolno używać znaków niedozwolonych w nazwach zmiennych PHP. To idiotyzm wywodzący się jeszcze z czasów register_globals. -- Borys Pogoreło borys(#)leszno,edu,pl
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads