Witam, mam problem z następującym kodem:
<?php
if (isset($_GET['mod'])) {
$main = file($_GET["mod"].'/'.$_GET["cat"].'/'.$_GET["art"].'.php');
$main = join('', $main);
$main = strtr($main, 'Ľ??ą??', 'ˇ¦¬±¶Ľ');
echo $main ;
} else {
$number = "4";
include("cutenews/show_news.php");
}
?>
Przykładowy link wygląda tak:
Download[/code]
Problem polega on na tym, że jak chcę wyświetlić stronę na której znajduje się również jakiś kod php a konkretnie “?” zamienia mi go na “ź”. Jak wejdę na stronę podając cały adres do pliku np …/dzialy/site/download.php to wyświetla mi go poprawnie. I teraz w jaki sposób mógłbym to naprawić ewentualnie jaki inny skrypt możecie mi polecić do wyświetlania strony. Dodam jeszcze, że raczej nie bardzo znam się na PHP, skrypt kiedyś gdzieś znalazłem.
Z góry dziękuję za pomoc, pozdrawiam Pawilonek.
Mathew
(Mathew)
28 Marzec 2010 14:52
#2
Stawiam na złe kodowanie znaków w skrypcie, który odpowiada za wczytanie pliku.
A konkretnie o jakie kodowanie chodz,i to:
Czy może coś tego typu (tutaj notatnik):
Próbowałem z tym drugim ale nic nie dało.
Kpc21
(Kpc21)
28 Marzec 2010 18:02
#4
Skrypt powinien być zapisany z tym samym kodowaniem, co strona na którą jest wstawiany.
Zamiast systemowego notatnika radzę skorzystać z programu notepad2 bądź notepad++, z kodowania iso-8859-2 przejść na UTF-8.
Zmieniłem kodowanie na UTF-8, w Notepad++, i częściowo się udało. Teraz mam problem raczej z konkretnym skryptem, do wysyłania e-maila (z kurshtml.boo.pl):
<?php
if (count($_POST))
{
////////// USTAWIENIA //////////
$email = '#########@gmail.com'; // Adres e-mail adresata
$subject = '##################'; // Temat listu
$message = '
Wiadomość wysłna poprawnie.'; // Komunikat $error = 'Wystąpił błą podczas wysyłnia formularza.'; // Komunikat błędu $charset = 'UTF-8'; // 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 { ?\>
Nick:
Wiadomość:
Kontakt
E-mail: GG: Tlen: <?php } ?>[/code]
I tak, jak chcę wyświetlić pojawia się tylko fragment kodu, wcześniej pojawiał się praktycznie cały, link jak to dokładnie wygląda: http://www.openttd.yoyo.pl/nowe.php?mod=dzialy&cat=site&art=kontakt .
Jak wchodzę bezpośrednio w plik, wszystko działa jak trzeba: http://www.openttd.yoyo.pl/dzialy/site/kontakt.php
Co tu może być nie tak ??
@edit :
Już sobie poradziłem, wsadziłem skrypt do osobnego pliku, wsadziłem go do rami i już działa jak trzeba.