Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]IP nadawcy przy wysyłaniu formularza
Forum PHP.pl > Forum > Przedszkole
armu
Posiadam na stronie formularz kontaktowy. Chcę by dochodził do mnie również adres IP nadawcy wiadomości.
Co mam zmienić? Proszę o pomoc, jakieś gotowe rozwiązanie bo moja znajomość PHP jest mizerna.. winksmiley.jpg

Poniżej cały kod:

Cytat
<?php
if (count($_POST))
{
////////// USTAWIENIA //////////
$email = 'mojmail@mojmail.pl'; // Adres e-mail adresata
$subject = 'mail_ze_strony'; // Temat listu
$message = 'Wiadomość wysłana - dziękujemy.'; // Komunikat
$error = 'Wystąpił błąd podczas wysyłania formularza. Spróbuj jescze raz.'; // Komunikat błędu
$charset = 'iso-8859-2'; // Strona kodowa
//////////////////////////////
$head =
"MIME-Version: 1.0\r\n" .
"Content-Type: text/plain; charset=$charset\r\n" .
"Content-Transfer-Encoding: 8bit";
$body = '';
foreach ($_POST as $name => $value)
{
if (is_array($value))
{
for ($i = 0; $i < count($value); $i++)
{
$body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
}
}
else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
}
echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}
else
{
?>
<form action="?" method="post">
<form action="<? echo $PHP_SELF; ?>" method="post">

Imię i Nazwisko: <input rows="5" cols="12" name=Imie_Nazwisko><br>
Twój e-mail: <input rows="1" cols="12" name=e-mail><br>
Data: <input rows="1" cols="12" name=data ><br>
Wiadomość / pytanie: <textarea rows="9" cols="62" name=dodatkowy_komentarz></textarea>
<input type=submit name=submit value=wyślij></div>
</form>
<?php
}
?>
Fifi209
  1. <?php
  2. echo '<pre>';
  3. print_r($_SERVER);
  4. echo '</pre>';
  5. ?>
korkie
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3.  
  4. #W formularzu:
  5.  
  6. echo '<input type="hidden" name="ip_nadawcy" value=" '.$ip.'">';
  7.  
  8. # Odbierając formularz:
  9. $ip_nadawcy = $_POST['ip_nadawcy']; # lub $_GET - zależnie jak wysyłasz formularz
  10.  
  11. echo $ip_nadawcy
  12. ?>
Fifi209
Cytat(korkie @ 11.06.2009, 10:16:49 ) *
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3.  
  4. #W formularzu:
  5.  
  6. echo '<input type="hidden" name="ip_nadawcy" value=" '.$ip.'">';
  7.  
  8. # Odbierając formularz:
  9. $ip_nadawcy = $_POST['ip_nadawcy']; # lub $_GET - zależnie jak wysyłasz formularz
  10.  
  11. echo $ip_nadawcy
  12. ?>


Gratuluję, napisałeś dokładnie to samo co ja. Tylko przez Ciebie on się niczego nie nauczy.
Poza tym, po co w formularzu przesyłać ip? Przy odbieraniu i tak będzie w $_SERVER
korkie
Cytat(fifi209 @ 11.06.2009, 10:18:42 ) *
Gratuluję, napisałeś dokładnie to samo co ja. Tylko przez Ciebie on się niczego nie nauczy.
Poza tym, po co w formularzu przesyłać ip? Przy odbieraniu i tak będzie w $_SERVER


"Proszę o pomoc, jakieś gotowe rozwiązanie bo moja znajomość PHP jest mizerna.. "
Niech autor sam zdecyduje, do czego się zastosuje.
Pisze, że jego znajomośc php jest słaba, więc niespodziewam się, aby słyszał o superglobalach
i podrzuciłem mu kod najprostszy z możliwych.
Fifi209
Cytat(korkie @ 11.06.2009, 10:26:57 ) *
"Proszę o pomoc, jakieś gotowe rozwiązanie bo moja znajomość PHP jest mizerna.. "
Niech autor sam zdecyduje, do czego się zastosuje.
Pisze, że jego znajomośc php jest słaba, więc niespodziewam się, aby słyszał o superglobalach
i podrzuciłem mu kod najprostszy z możliwych.


To najwyższy czas poświęcić te 20 minut aby się dowiedzieć co to jest. winksmiley.jpg
Manual nie gryzie, kursy, książki etc. też nie.
armu
Dzięki za pomoc, ale nawet to co podrzucił korkie nie umiem wykorzystać.
Myślałem że ktoś zmodyfikuje mój kod php tak że zadziała bo z tego co widzę nie ma dużo roboty ale trzeba wiedzieć gdzie co wkleić.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.