OT - zlecę usprawnienie formularza kontaktowego PHP
OT - zlecę usprawnienie formularza kontaktowego PHP
Jak w temacie, chodzi o przeróbkę kodu PHP formularza kontaktowego na stronie www, żeby w mejlu przychodzącym z treścią zapytania wysłanego z tegoż formularza był napisany także IP komputera wysyłającego zapytanie. Zainteresowanych proszę na priv.
Postawie nawet 4-pak bez żółtej karteczki na czoło
Część PHP pliku form.php :
<?php
if( strlen($_POST['meno'])>0 && strlen($_POST['email'])>0 && strlen($_POST['tele'])>0 && strlen($_POST['odkaz'])>0)
{
$sprava =
"Osoba: ".$_POST['meno']."
Tel.: ".$_POST['tele']."
Tekst: ".$_POST['odkaz']." ";
$tema = "Wiadomosc - od ".$_POST['email'];
mail ("xxx@xxx.pl", $tema, $sprava,
"From: xxx@xxx.pl\r\n"
."Reply-To: xxx@xxx.pl\r\n"
."Content-Type: text/plain; charset=utf-8\r\n"
."Content-Transfer-Encoding: 8bit\r\n"
."X-Mailer: PHP/" . phpversion());
echo "<b>Dziękujemy za wysłanie formularza.</b>";
}
else
{
echo "<b>Niestety, nie można wysłać wiadomości.</b>";
}
?>
Część HTML na stronie z formularzem do wypełnienia :
<h3>Formularz</h3>
<p>Formularz kontaktowy.
<br />Kontaktować można też poprzez e-mail na <a href="mailto:xxx@xxx.pl?subject=">xxx@xxx.pl</a>
<br /><br /><b>Do prawidłowego działania, proszę wypełnić <u>wszystkie pola</u> formularza</b> :
<br /><br />
<form method="post" action="form.php" name="form">
<label for="meno">Osoba :</label><input type="text" class="text" id="meno" name="meno" size="50" maxlength="50" /><br />
<label for="email">Kontakt email : </label><input type="text" name="email" class="text" id="email" size="50" maxlength="50" /><br />
<label for="tele">Nr tel. : </label><input type="text" name="tele" class="text" id="tele" size="50" maxlength="50" /><br />
<label for="odkaz">Treść : </label><textarea name="odkaz" id="odkaz" cols="56" rows="5">Tutaj wpisać tekst...</textarea><br /><br />
<input type="submit" value="Wyślij formularz" />
</form></p>
Część PHP pliku form.php :
<?php
if( strlen($_POST['meno'])>0 && strlen($_POST['email'])>0 && strlen($_POST['tele'])>0 && strlen($_POST['odkaz'])>0)
{
$sprava =
"Osoba: ".$_POST['meno']."
Tel.: ".$_POST['tele']."
Tekst: ".$_POST['odkaz']." ";
$tema = "Wiadomosc - od ".$_POST['email'];
mail ("xxx@xxx.pl", $tema, $sprava,
"From: xxx@xxx.pl\r\n"
."Reply-To: xxx@xxx.pl\r\n"
."Content-Type: text/plain; charset=utf-8\r\n"
."Content-Transfer-Encoding: 8bit\r\n"
."X-Mailer: PHP/" . phpversion());
echo "<b>Dziękujemy za wysłanie formularza.</b>";
}
else
{
echo "<b>Niestety, nie można wysłać wiadomości.</b>";
}
?>
Część HTML na stronie z formularzem do wypełnienia :
<h3>Formularz</h3>
<p>Formularz kontaktowy.
<br />Kontaktować można też poprzez e-mail na <a href="mailto:xxx@xxx.pl?subject=">xxx@xxx.pl</a>
<br /><br /><b>Do prawidłowego działania, proszę wypełnić <u>wszystkie pola</u> formularza</b> :
<br /><br />
<form method="post" action="form.php" name="form">
<label for="meno">Osoba :</label><input type="text" class="text" id="meno" name="meno" size="50" maxlength="50" /><br />
<label for="email">Kontakt email : </label><input type="text" name="email" class="text" id="email" size="50" maxlength="50" /><br />
<label for="tele">Nr tel. : </label><input type="text" name="tele" class="text" id="tele" size="50" maxlength="50" /><br />
<label for="odkaz">Treść : </label><textarea name="odkaz" id="odkaz" cols="56" rows="5">Tutaj wpisać tekst...</textarea><br /><br />
<input type="submit" value="Wyślij formularz" />
</form></p>
tak na szybcika to daj
i bedzie chulac.
Kod: Zaznacz cały
<?php
$ip = getenv( "REMOTE_ADDR" );
if( strlen($_POST['meno'])>0 && strlen($_POST['email'])>0 && strlen($_POST['tele'])>0 && strlen($_POST['odkaz'])>0)
{
$sprava =
"Osoba: ".$_POST['meno']."
Tel.: ".$_POST['tele']."
Tekst: ".$_POST['odkaz']."
IP: $ip ";
$tema = "Wiadomosc - od ".$_POST['email'];
mail ("xxx@xxx.pl", $tema, $sprava,
"From: xxx@xxx.pl\r\n"
."Reply-To: xxx@xxx.pl\r\n"
."Content-Type: text/plain; charset=utf-8\r\n"
."Content-Transfer-Encoding: 8bit\r\n"
."X-Mailer: PHP/" . phpversion());
echo "<b>Dziękujemy za wysłanie formularza.</b>";
}
else
{
echo "<b>Niestety, nie można wysłać wiadomości.</b>";
}
?>
Ten post wyraża moją opinię w dniu dzisiejszym.Nie może on służyć przeciwko mnie w dniu jutrzejszym,ani każdym innym następującym po tym terminie.Ponadto zastrzegam sobie prawo zmiany poglądów bez podania przyczyny.
mozesz troche z ukrywaniem sobie pomoc (ale niewiele), na przyklad tak
zamiast
daj:
(via net ta funkcja, bo php nie pamietam, nie pisalem od lat w tym, wiec do sprawdzenia)
[/code]
zamiast
Kod: Zaznacz cały
$ip = getenv( "REMOTE_ADDR" );
Kod: Zaznacz cały
$headers = apache_request_headers();
if (array_key_exists('X-Forwarded-For', $headers)){
$ip=$headers['X-Forwarded-For'] . ' via ' . $_SERVER["REMOTE_ADDR"];
} else {
$ip=$_SERVER["REMOTE_ADDR"];
}
[/code]
was twenty, is five, my friend...
jezeli w naglowku znajduje sie pole X_FORWARDED_FOR uzyj tego pola plus podaj IP. Czyli jezeli serwer www wykuma, ze ktos korzystal z proxy dostaniesz takie info. jezeli nie dostaniesz samo IP.
getevn i $_SERVER['REMOTE_ADDR'] to z grubsza to samo. Szczegoly poda dokumetnacja php.
getevn i $_SERVER['REMOTE_ADDR'] to z grubsza to samo. Szczegoly poda dokumetnacja php.
was twenty, is five, my friend...
@elban : OK, wypróbowałem Twój kodzik, działa również, tzn. wyświetla coś takiego IP : numer.IP numer.IP via numer.IP...
próbowałem formularz wysłać normalnie "bez ukrycia", a potem przez strony anonimowe proxy (Glype i PHProxy) i w każdym przypadku wszystkie trzy numery.IP były takie same (oczywiście te anonimowe serwery miały zagraniczne IP, ale wszystkie trzy pokazało takie same).
Czyli na niewiele się to zdaje, chyba że istnieje możliwość że mógłbym coś spróbować włączyć jakąś opcję w ustawieniach serwera domeny. Za czym miałbym się rozglądać?
próbowałem formularz wysłać normalnie "bez ukrycia", a potem przez strony anonimowe proxy (Glype i PHProxy) i w każdym przypadku wszystkie trzy numery.IP były takie same (oczywiście te anonimowe serwery miały zagraniczne IP, ale wszystkie trzy pokazało takie same).
Czyli na niewiele się to zdaje, chyba że istnieje możliwość że mógłbym coś spróbować włączyć jakąś opcję w ustawieniach serwera domeny. Za czym miałbym się rozglądać?