Krzyżaki w php

Jak stworzyć swoją pierwszą stronę. Jeśli jeszcze nie orientujesz się w temacie robienia stron, zapraszamy tutaj.
damian1960
Posty: 12
Rejestracja: 30 gru 2015, 14:02:48
Płeć: Niewybrana
User Agent: Chrome Windows 1366x768

Krzyżaki w php

Post autor: damian1960 »

Mam problem w php mam polskie znaki i np. jak pojawia się alert to w nim są krzyżaki i przy wysyłaniu maili ze strony też się pojawiają.
Venite
Obsługa CBA
Posty: 3197
Rejestracja: 18 lut 2011, 08:01:57
Lokalizacja: Kędzierzyn-Koźle
Płeć: Mężczyzna
User Agent: Opera Windows 1440x900

Krzyżaki w php

Post autor: Venite »

damian1960, opakuj kod PHP w osnowę dokumentu HTML.
Czyli normalny dokument HTML z tytułem itp., a wewnątrz (np. w body) kod PHP. Oczywiście plik musi też mieć rozszerzenie PHP.

Wtedy alerty będą po polsku.
Czy wiesz, że:
  • W Panelu CBA w sekcji "wsparcie" jest dedykowany system ticketów (obsługi technicznej)
  • Odpowiadamy na Forum oraz na adres mailowy obsluga(malpa)cba.pl
  • Jesteśmy również na Facebooku! Znajdź nas na facebook.com/hostingcba | cba.pl
W czym jeszcze możemy pomóc?
damian1960
Posty: 12
Rejestracja: 30 gru 2015, 14:02:48
Płeć: Niewybrana
User Agent: Chrome Windows 1366x768

Krzyżaki w php

Post autor: damian1960 »

ale jak?
damian1960
Posty: 12
Rejestracja: 30 gru 2015, 14:02:48
Płeć: Niewybrana
User Agent: Chrome Windows 1366x768

Krzyżaki w php

Post autor: damian1960 »

Czy mógł byś mi podać przykład?
Venite
Obsługa CBA
Posty: 3197
Rejestracja: 18 lut 2011, 08:01:57
Lokalizacja: Kędzierzyn-Koźle
Płeć: Mężczyzna
User Agent: Opera Windows 1440x900

Krzyżaki w php

Post autor: Venite »

Zawartość formularza (kontakt.php)->skrypt wysyłający maila. Z zastosowaniem alertów z polskimi znakami.

Kod: Zaznacz cały

<!DOCTYPE html>
<html lang=pl>
<head>
<meta charset="utf-8" /> 
<title></title>
</head>
<body>
<?php
    $field_name = $_POST['name'];
    $field_email = $_POST['email'];
    $field_message = $_POST['message'];
	
	$field_email = filter_var($field_email, FILTER_SANITIZE_EMAIL);
	
	if (empty($field_name) && empty($field_email) && empty($field_message)) { //sprawdzamy, czy pola nie są puste
		?>
        <script language="javascript" type="text/javascript">
            alert('Błąd: nie wypełniono wszystkich pól!');
            window.location.href = 'http://***.pl/#contact';
        </script>
    <?php
	} else if (filter_var($field_email, FILTER_VALIDATE_EMAIL) === false) {//sprawdzamy poprawność maila
    ?>
	<script language="javascript" type="text/javascript">
            alert('Błąd: podany adres nie jest poprawnym mailem!');
            window.location.href = 'http://***/#contact';
        </script>
    <?php
} else {//jeśli obydwa warunki nie zatrzymały skryptu, wysyłamy
	
    $mail_to = '***@gmail.com'; //definiujemy odbiorcę
    $subject = 'Masz wiadomość ze strony ***!'; //tytuł maila

    $body_message = 'Nadawca: '.$field_name."\n";
    $body_message .= 'Email: '.$field_email."\n";
    $body_message .= 'Wiadomość: '."\n".'--- początek ---'."\n\n".$field_message."\n\n".'--- koniec ---';

    $headers = 'From: '.$field_email."\r\n"; //zostawić!
    $headers .= 'Reply-To: '.$field_email."\r\n"; //podstawiony mail nadawcy
	$headers .= "Content-Type: text/plain; charset=UTF-8"; //polskie znaki w treści maila

    $mail_status = mail($mail_to, $subject, $body_message, $headers);

    if ($mail_status) { ?>
        <script language="javascript" type="text/javascript">
            alert('Dziękujemy! Twoja wiadomość została wysłana pomyślnie.');
            window.location.href = 'http://***/#contact';
        </script>
    <?php
    }
    else { ?>
        <script language="javascript" type="text/javascript">
            alert('Przepraszamy - coś poszło nie tak!');
            window.location.href = 'http://***/#contact';
        </script>
    <?php
    }}
?>
</body>
</html>
Jak widzisz, kod PHP jest normalnie opakowany w HTML-a. <meta charset="utf-8" /> (HTML5) jest tutaj nie bez powodu - bez osnowy HTML i definicji charset alerty nie miałyby polskich znaków.

Pewnie istnieje ładniejszy sposób, ale ten jest działający.
Czy wiesz, że:
  • W Panelu CBA w sekcji "wsparcie" jest dedykowany system ticketów (obsługi technicznej)
  • Odpowiadamy na Forum oraz na adres mailowy obsluga(malpa)cba.pl
  • Jesteśmy również na Facebooku! Znajdź nas na facebook.com/hostingcba | cba.pl
W czym jeszcze możemy pomóc?
damian1960
Posty: 12
Rejestracja: 30 gru 2015, 14:02:48
Płeć: Niewybrana
User Agent: Chrome Windows 1366x768

Krzyżaki w php

Post autor: damian1960 »

ale ciągle pojawiają mi się krzyżaki!
Venite
Obsługa CBA
Posty: 3197
Rejestracja: 18 lut 2011, 08:01:57
Lokalizacja: Kędzierzyn-Koźle
Płeć: Mężczyzna
User Agent: Opera Windows 1440x900

Krzyżaki w php

Post autor: Venite »

damian1960, podaj adres strony lub wklej kod skryptu.
Czy wiesz, że:
  • W Panelu CBA w sekcji "wsparcie" jest dedykowany system ticketów (obsługi technicznej)
  • Odpowiadamy na Forum oraz na adres mailowy obsluga(malpa)cba.pl
  • Jesteśmy również na Facebooku! Znajdź nas na facebook.com/hostingcba | cba.pl
W czym jeszcze możemy pomóc?
damian1960
Posty: 12
Rejestracja: 30 gru 2015, 14:02:48
Płeć: Niewybrana
User Agent: Chrome Windows 1366x768

Krzyżaki w php

Post autor: damian1960 »

a już wszystko działa.
ODPOWIEDZ