[PHP] Problem z wyświetlaniem zawartości pliku


(Pawel13k) #1

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) #2

Stawiam na złe kodowanie znaków w skrypcie, który odpowiada za wczytanie pliku.


(Pawel13k) #3

A konkretnie o jakie kodowanie chodz,i to:

Czy może coś tego typu (tutaj notatnik):

kodowanie.jpg

Próbowałem z tym drugim ale nic nie dało.


(Kpc21) #4

Skrypt powinien być zapisany z tym samym kodowaniem, co strona na którą jest wstawiany.


(nic ciekawego) #5

Zamiast systemowego notatnika radzę skorzystać z programu notepad2 bądź notepad++, z kodowania iso-8859-2 przejść na UTF-8.


(Pawel13k) #6

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.