Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularz kontaktowy - proszę o pomoc
kamilk2
post 15.11.2017, 14:34:03
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.11.2017

Ostrzeżenie: (0%)
-----


Mam problem z formularzem kontaktowym i bardzo proszę o pomoc Problem polega na tym że nie rozpoznaje polskich znaków w wiadomości którą wyślę a odbiorca ją otworzy Drugi problem choć mniej kłopotliwy (ale fajnie by było go wyeliminować) jest taki że po wysyłce wiadomości komunikat o treści "Dziękujemy, formularz został wysłany" lub też "Wprowadzony adres E-Mail jest niepoprawny!!! wyświetla mi na nowej stronie a nie na tej na której znajduje się formularz Bardzo proszę o pomoc gdyż sam nie dam rady.

oto kod :

<?php
if(empty($_POST['submit'])){
?>
<form action="aform.php" method="post"> <!--nazwa strony na której znajduje się formularz-->
Wybierz e-mail odbiorcy :<br />
<select name="odbiorca" style="width:72%;">
<option></option>
<option>kkrupka@dartns.pl</option>

</select>
<br />
Imię i Nazwisko :<br />
<input type="text" name="imienazwisko" style="width:70%;"/><br />
Podaj e-mail nadawcy :<br />
<input type="text" name="email" style="width:70%;"/><br />
Treść wiadomości :<br />
<textarea name="trescwiadomosci" cols="30" rows="6" style="width:80%;"></textarea><br />
<input type="submit" name="submit" value="Wyślij formularz"/>
<input type="reset" value="Wyczyść"/>
</form>
<?php
/*sprawdzenie wypełnienia wszystkich pól*/
}elseif(!empty($_POST['imienazwisko']) && !empty($_POST['email']) && !empty($_POST['trescwiadomosci'])){
/* Funkcja sprawdzająca poprawność E-Maila */
function SprawdzEmail($email) {
if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$" , $email)){
return false;
}
return true;
}
if(SprawdzEmail($_POST['email'])){
/* Tworzymy szkielet wysyłanej wiadomości */
$adresemail=$_POST['odbiorca'];
$ip=$_SERVER['REMOTE_ADDR'];
/* Wybierz kodowanie znaków usuwając // */
$charset = 'iso-8859-2';
$charset = 'utf-8';
$host=gethostbyaddr($_SERVER['REMOTE_ADDR']);
$wiadomosc="Od: $_POST[imienazwisko] ($_POST[email])\nIP: $ip, HOST: $host\n\n$_POST[trescwiadomosci]";
$nadawca="From: $_POST[email]";
@mail($adresemail, "Formularz kontaktowy z www.dartns.pl", "$wiadomosc", "$nadawca");
echo "<span style=\"color: #00D800; font-weight: bold; \">Dziękujemy, formularz został wysłany.</span>";
}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Wprowadzony adres E-Mail jest niepoprawny!!!</span>"; }
}else{ echo "<span style=\"color: #FF0000; text-align: center; font-weight: bold;\">Cofnij i wypełnij wszystkie pola formularza!!!</span>"; }
?>

Go to the top of the page
+Quote Post
nospor
post 15.11.2017, 14:37:50
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Witaj na forum, gdy wstawiasz kod, uzywaj BBCODE.

$charset = 'iso-8859-2';
$charset = 'utf-8';
Moze sie zdecyduj jakie kodowanie ostatecznie masz?

ps: przenosze

ps2: no i skoro juz ustawiasz ten $charset w zmiennej, to moze zapodaj go tez do maila, by client pocztowy wiedzial w jakim kodowaniu ma to odczytac.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kamilk2
post 15.11.2017, 14:44:26
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.11.2017

Ostrzeżenie: (0%)
-----


Dzięki za powitanie i szybką odpowiedz ale....

1.wybierałem zarówno 'iso-8859-2' jak i utf-8 i dalej bylo to samo

2."ps2: no i skoro juz ustawiasz ten $charset w zmiennej, to moze zapodaj go tez do maila, by client pocztowy wiedzial w jakim kodowaniu ma to odczytac". -- czyli gdzie mam dołożyć?


Go to the top of the page
+Quote Post
nospor
post 15.11.2017, 14:46:25
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ad1) Wstawiales tylko to do zmiennej a potem nic z tym nie robiles, rownie dobrze mogles wpisac "chinski" i efekt bylby taki sam
ad2) http://php.net/manual/en/function.mail.php
Masz tam w przykladach pokazane jak sie ustawia w email kodowanie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kamilk2
post 15.11.2017, 14:48:54
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.11.2017

Ostrzeżenie: (0%)
-----


jestem początkujący..... mógłbyś mi to dopisać jak to ma wyglądać?
Go to the top of the page
+Quote Post
nospor
post 15.11.2017, 14:53:42
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




otworz link co ci podalem, wpisz fraze "charset" i znajdziesz wybrany kawalek kodu o ktorym mowie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post 15.11.2017, 14:56:05
Post #7





Grupa: Zarejestrowani
Postów: 6 377
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Funkcja eregi jest przestarzała i cała ta funkcji walidująca mail to nieporozumienie. Jakie kodowanie ma w końcu ten mail? unicode czy iiso?


--------------------
Go to the top of the page
+Quote Post
kamilk2
post 20.11.2017, 14:28:58
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.11.2017

Ostrzeżenie: (0%)
-----


chodzi o ten kawałek kodu? :

// To send HTML mail, the Content-type header must be set
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=iso-8859-1';


w którym miejscu go wkleić

odp do viking :
" Funkcja eregi jest przestarzała i cała ta funkcji walidująca mail to nieporozumienie. Jakie kodowanie ma w końcu ten mail? unicode czy iiso?"
a jak można ją przekształcić aby było ok? kodowanie chyba iiso (wiem w kodzie jest nie wybrane)


czy ktoś jeszcze poratuje?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 19:13