🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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)
#169587
Author: Elmo Killer
Date: Wed, 22 Feb 2006 17:43
62 lines
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)
#169588
Author: Lemat
Date: Wed, 22 Feb 2006 17:47
21 lines
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)
#169589
Author: Elmo Killer
Date: Wed, 22 Feb 2006 18:03
6 lines
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)
#169590
Author: stas13111979
Date: Sun, 21 Feb 2016 11:08
70 lines
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)
#169591
Author: Lemat
Date: Sun, 21 Feb 2016 11:23
81 lines
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)
#169592
Author: stas13111979
Date: Sun, 21 Feb 2016 11:58
204 lines
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)
#169593
Author: stas13111979
Date: Sun, 21 Feb 2016 12:00
1 lines
1550 bytes
u kolegi to zadziałało z $HTTP_POST_VARS ?!
Re: Sendformmail.php nie wysyła maili (po aktualizacji php na serwerze)
#169594
Author: Lemat
Date: Sun, 21 Feb 2016 13:00
55 lines
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)
#169595
Author: stas13111979
Date: Mon, 22 Feb 2016 13:03
10 lines
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)
#169596
Author: Lemat
Date: Mon, 22 Feb 2016 16:39
43 lines
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)
#169597
Author: stas13111979
Date: Mon, 22 Feb 2016 20:02
179 lines
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)
#169598
Author: Lemat
Date: Mon, 22 Feb 2016 20:23
25 lines
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)
#169599
Author: stas13111979
Date: Thu, 25 Feb 2016 08:26
8 lines
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)
#169600
Author: Lemat
Date: Thu, 25 Feb 2016 17:47
23 lines
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)
#169601
Author: Rafal Podsiadly
Date: Sat, 27 Feb 2016 12:17
2 lines
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)
#169602
Author: stas13111979
Date: Fri, 04 Mar 2016 13:10
13 lines
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)
#169603
Author: Rafal Podsiadly
Date: Thu, 10 Mar 2016 16:54
8 lines
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)
#169604
Author: stas13111979
Date: Sat, 12 Mar 2016 09:43
22 lines
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)
#169609
Author: stas13111979
Date: Sat, 12 Mar 2016 10:25
23 lines
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)
#169605
Author: Wojtek Gapiński
Date: Sat, 12 Mar 2016 10:27
35 lines
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)
#169606
Author: stas13111979
Date: Sat, 12 Mar 2016 10:33
25 lines
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)
#169607
Author: stas13111979
Date: Tue, 15 Mar 2016 17:01
9 lines
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)
#169608
Author: Borys Pogoreło
Date: Sun, 03 Apr 2016 15:31
13 lines
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