Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Formularz kontaktowy w utf-8 - dziwolągi po ponownym załadowaniu, Dziwolągi po ponownym załadowaniu stron
i_ron23
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 8.04.2012

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


Mam nastepujący problem:
Wpisując tekst w formularz kontaktowy z polskimi znakami tekst coprawda dochodzi z prawidłowymi polskimi znakami do adresata, lecz jeżeli wpisuję się kod captcha niepoprawnie to stronka ładuje sie ponownie i pojawia się komunikat że kod się nie pokrywa. Wtedy z polskich znaków robią się dziwolągi i ukazuję się znak zapytania przed tymi dziwolągami.

Niestety nie udało mi się znaleźść rozwiązania szukając w googlach oraz na forum php.pl.
Wielkie dzięki za każdą porade! (IMG:style_emoticons/default/biggrin.gif)


Użyłem kodowania utf-8 (bez BOM) do wszystkich stron.


Kod formularza kontaktowego:
  1. <?php
  2. header( 'content-type: text/html; charset=utf-8' );
  3. include 'mail.php';
  4. ?>
  5. <form id="ContactForm" method="POST" name="contact_form" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
  6. <div class="column1 col-indent">
  7. <label>Imię i nazwisko:<br /><span class="input"><input type="text" name="name" value="<?php echo htmlentities($name) ?>" size="25" maxlength="50" /></span></label>
  8. <label>Email:<br /><span class="input"><input type="text" name="mail" value="<?php echo htmlentities($visitor_email) ?>" size="25" maxlength="50" /></span></label>
  9. <label>Telefon:<br /><span class="input"><input type="text" name="phone" value="<?php echo htmlentities($phoneno) ?>" size="25" maxlength="50" /></span></label>
  10.  
  11. </div>
  12. <div class="column2">
  13. Tekst:<br /><div class="text"><textarea name="message" onclick="this.select()" rows="15" cols="30"><?php echo htmlentities($user_message) ?></textarea></div>
  14. </div>
  15. <div style="margin-top:5px;" class="column1 col-indent">
  16. <img src="captcha_code_file.php?rand=<?php echo rand(); ?>" id='captchaimg' ><br>
  17. <label style="height:20px;" for='message'>Proszę wpisać kod:</label>
  18. <input id="6_letters_code" name="6_letters_code" type="text" value="" size="25" maxlength="10" ><br>
  19. <small>Nie możesz odczytać? Kliknij <a href='java script: refreshCaptcha();'>tutaj</a> aby odświeżyć</small>
  20. </div> <input style="cursor: pointer; margin-top:72px;" type="submit" value="Wyślij" name='submit'>
  21. </form>



Kod "mail.php":
  1. <?php
  2. $your_email ='moj@mail.pl';
  3.  
  4. //send the email
  5. $to = $your_email;
  6. $subject="Nowy formularz";
  7. $from = $your_email;
  8. $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
  9.  
  10. $body = "Imie i nazwisko: $name\n".
  11. "Adres mejlowy: $visitor_email \n".
  12. "Numer telefonu: $phoneno \n".
  13. "Wiadomosc: \n ".
  14. "$user_message\n".
  15. "IP: $ip\n";
  16.  
  17. $headers = "From: $from \r\n";
  18. $headers .= "Reply-To: $visitor_email \r\n";
  19. $headers .= "Content-Type: text/plain; charset=utf-8' \r\n";
  20.  
  21. mail($to, $subject, $body, $headers);
  22.  
  23. header('Location: thank-you.html');
  24. }
  25. }
  26.  
  27. ?>


Plik ".htaccess" zawiera kod:
AddDefaultCharset Off
AddDefault utf-8 .html .htm .php
AddDefaultCharset On



Wielkie dzięki za każdą porade! (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 25.08.2025 - 23:57