Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z get id
Forum PHP.pl > Forum > PHP
Krzychur
[php:1:318b88d2fc]
<?php
if ($_GET['ID'] =="")
include ("strona_glowna.php"); // to dla strony bez id
else
include ($_GET['ID'].".php"); // to dla pozostalych
?>[/php:1:318b88d2fc]

Mam problem z tym prostym skryptem. Ponieważ adres niektorych dokumentow brzmi tak http://krzychur.piwko.pl?ID=dsadasdas a jezeli chce zamontowac ksiege gosci w ktorej np adres zmienia sie i w adresie powstaja kolejne znaki zapytania ale to co jest w tym skryptcie daje php niby na samym koncu adresu choc wtedy taki plik nie istnieje czyli zamiast http://krzychur.piwko.pl?ID=dsadasdas.php?dsadad jest http://krzychur.piwko.pl?ID=dsadasdas?dasdasdas.php a wtedy wlasnie nie ma dokumentu. Ze wzgledu na to wolalbym przeksztalcic tak skrypt aby po prostu zawsze po ID bylo widoczne rozszerzenie czyli aby nie musial to tak niewidocznie dodawac. Ale jak w else include zmazalem .".php" albo po usunolem .php i wpisalem adres strony z rozszerzeniem byly nadal problemy albo strona sie bardzo ladowala. Wiem ze to jest bardzo proste ale kto by mi pomogl??
nobody
Po pierwsze kod jest zly! Jest to potencjalna furtka dla kazdego zeby Ci zhaczyc strone...Poczytaj na forum byl juz poruszany ten temat, bylo podane jak tego uniknac. Co do problemu to nie dawaj kilku znakow zpytania tylko jeden na poczatku reszte zmiennych odzielaj znakiem & czyli np. http://krzychur.piwko.pl/open.php?ID=ksiega¶metr=2
Pozdr.
Krzychur
No na szczescie juz poradzilem sobie z tym skryptem. Ale co mi grozi jak mozna zchaczyc stronke?? To forum jest troche wielkie wiec szukac trudno...
Krzychur
Dobra dzieki zaraz to naprawie... jeszcze raz pomogl...
Krzychur
Jeszcze jedno
[php:1:1ac6b04bd0]<?php
# definiowanie katalogu, z ktorego beda includowane pliki
define("INC_DIR", ".");
# (php|inc|txt) z ponizszej linijki sprawdza czy plik ma takie wlasnie rozszerzenia,
# sprawdzana jest nazwa pliku - moze sie skladac z liter a-z A-Z cyfr 0-9 . - _
if(file_exists(INC_DIR."/".$_GET['ID'])&&ereg("^[a-zA-Z0-9.-_]+.(php|inc|txt)$",
$_GET['ID'])){
include(INC_DIR."/".$_GET['ID']);
}else{
# wybierz sobie ktory sposob wyswietlania bledow Ci odpowiada i usun z tej linijki znak #
include("error.php");
}
?>
[/php:1:1ac6b04bd0]
Co do tego wstawic aby po wpisaniu adresu krzychur.piwko.pl ładowałą się strona main.php bo na poczatek sie laduje error.php
nobody
po define:

[php:1:38a913ccdb]<?php
$_GET['ID']=empty($_GET['ID']) ? "index.php" : $_GET['ID'];
?>[/php:1:38a913ccdb]
Krzychur
No prosze wrzuc to do tamtego skryptu i aby tam bylo menu.php smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.