![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 12.02.2009 Ostrzeżenie: (0%)
|
Witam,
chcę na mojej stronie użyć linków Get url czy jakoś tak to się nazywa. Mianowicie zamiast linków xxx.html chce mieć np. ?show=xxx mam nadzieje, że mnie rozumiecie. (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) O takie linki mi chodzi: http://forum.php.pl/index.php?showtopic=10...aded&start= Chcę tylko ten skrypt <?php ?> a nie pamiętam co jest w środku. Kiedyś to używałem. Jeśli mogę to proszę od razu o tę linijke, że gdy ktoś nie wpisze nic poza index.php, to żeby wysłało go do index.php?show=home. ;P Z góry dziękuję. |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 23 Dołączył: 2.12.2007 Skąd: Warszawa Ostrzeżenie: (0%)
|
Witam, chcę na mojej stronie użyć linków Get url czy jakoś tak to się nazywa. Mianowicie zamiast linków xxx.html chce mieć np. ?show=xxx mam nadzieje, że mnie rozumiecie. (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) O takie linki mi chodzi: http://forum.php.pl/index.php?showtopic=10...aded&start= Chcę tylko ten skrypt <?php ?> a nie pamiętam co jest w środku. Kiedyś to używałem. Jeśli mogę to proszę od razu o tę linijke, że gdy ktoś nie wpisze nic poza index.php, to żeby wysłało go do index.php?show=home. ;P Z góry dziękuję. Najpierw to może naucz się pisać poprawnie, żebym Cię mógł zrozumieć ;-) No ale ok, Cytat Chcę tylko ten skrypt <?php ?> a nie pamiętam co jest w środku. Kiedyś to używałem. Jeśli mogę to proszę od razu o tę linijke, że gdy ktoś nie wpisze nic poza index.php, to żeby wysłało go do index.php?show=home. ;P Rozwiązanie:
Jeśli chodzi o pierwszą część Twojego pytania, to chciałbym Ci pomóc, ale naprawdę Cie nie rozumiem. Napisz troszkę jaśniej. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 1 Dołączył: 10.03.2009 Ostrzeżenie: (0%)
|
Jeśli dobrze zrozumiałem co piszesz, chcesz po prostu na swojej stronie używać linków np. index.php?show&costam
więc jeśli o to chodzi to robisz to tak : na stronie linki podajesz <a href="index.php?show&costam"> teraz w pliku index.php musi sie znaleźć kod : Kod <?php if(isset($_GET['show'] && ($_GET['costam']) { echo ' Strona Cos Tam '; } ?> jeśli chodzi o coś innego to napisz wprost (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) bo ciężko Cie zrozumieć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%)
|
Jeśli dobrze zrozumiałem co piszesz, chcesz po prostu na swojej stronie używać linków np. index.php?show&costam więc jeśli o to chodzi to robisz to tak : na stronie linki podajesz <a href="index.php?show&costam"> teraz w pliku index.php musi sie znaleźć kod : Kod <?php if(isset($_GET['show'] && ($_GET['costam']) { echo ' Strona Cos Tam '; } ?> jeśli chodzi o coś innego to napisz wprost (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) bo ciężko Cie zrozumieć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Znak ampersand stosuje się gdy masz więcej niż jedną zmienną w adresie... np. http://domena/index.php?action=panel&mod=admin Poza tym powieliłeś wypowiedź kolegi wyżej... |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%)
|
Wykorzystując kod Maciekbjw:
plik index.php:
plik home.php:
plik world.php:
pozdrawiam Marcin |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%)
|
@up
Kod switch($show) Nie każdy ma włączoną dyrektywę register globals (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Poza tym switch jest bez sensu przy większych projektach... Lepiej sprawdzić czy nazwa pasuje do wyrażenia regularnego i sprawdzić czy plik istnieje i go includować. Kod $reg = "/^[a-zA-Z0-9]+$/";
$name = $_GET['show']; if (preg_match($reg, $name)) { if (file_exists($name.'.php')) { // przykładowo dokleiłem końcówkę .php może być inna // include($name.'.php'); }else{ // Plik nie istnieje exit(); } }else{ // Nazwa pliku nie pasuje do wzorca exit(); } Ten post edytował fifi209 28.03.2009, 09:55:53 |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%)
|
Poza tym switch jest bez sensu przy większych projektach... Biorąc pod uwagę to, że Mlody993 prawdopodobnie dopiero zaczyna zabawę z PHP, to pewnie o większych projektach jeszcze nie myśli, bo i ten najmniejszy jest dla Niego nie lada wyzwaniem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ale Twoje rozwiązanie jest oczywiście godne uwagi! Pozdrawiam Marcin |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 12.02.2009 Ostrzeżenie: (0%)
|
Najpierw to może naucz się pisać poprawnie, żebym Cię mógł zrozumieć ;-) No ale ok, Rozwiązanie:
Jeśli chodzi o pierwszą część Twojego pytania, to chciałbym Ci pomóc, ale naprawdę Cie nie rozumiem. Napisz troszkę jaśniej. Tak, właśnie o to mi chodziło. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Wielkie dzięki. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) Tylko gdzie w tym kodzie się ustawia folder? ;p Bo jest np. ?show=blabla i ten blabla plik jest w katalogu np. pliki no to ten skrypt musi wiedzieć gdzie szukać tego pliku, a tutaj brak informacji. Ten post edytował Mlody993 28.03.2009, 11:33:19 |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 9 Dołączył: 9.01.2008 Ostrzeżenie: (0%)
|
?show=blablabal przesylasz tylko informacje, to nie jest odwolanie do pliku, z tego mozna odczytac zmienna $_GET['show'] ktorej wartosc jest blablabal
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 12.02.2009 Ostrzeżenie: (0%)
|
No to w takim razie my się nie rozumiemy. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Nie wiem jak to wam wytłumaczyć.
Mam plik index.php i folder XXX . W katalogu XXX znajduje się plik home.txt . Po wpisaniu strony http://www.xxxx.pl/index.php wyświetli się strona bez zawartości środka czyli pliku home.txt . A ja chcę, żeby pod tym linkiem: http://www.xxxx.pl/index.php?show=home wyświetlała się zawartość index.php + home.txt z folderu XXX. I tam mogę sobie ustawiać w tym kodzie, że np. "show" ma wczytywać pliki z katalogu XXX i sobie mogę dodawać np. pokaz=xxx i zeby ten "pokaz" brał pliki .txt z folderu XX2 - taki przykład. I to właśnie tym kodem się robiło, jakiś rok temu jeszcze to wykorzystywałem, teraz nie pamiętam jak to się nazywało. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) @edit: Znalazłem. Na tej stronie jest wzór tego czego szukam: http://www.kpeyz.cba.pl/index1.php Tylko wchodzę w kod źródłowy i nic nie widać. (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Ten post edytował Mlody993 28.03.2009, 17:10:34 |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 9 Dołączył: 9.01.2008 Ostrzeżenie: (0%)
|
moze o to ci chodzi:
|
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 12.02.2009 Ostrzeżenie: (0%)
|
No właśnie coś takiego:
<?php if ($_GET['show'] == "home") { if (file_exists("xxx/home.txt")) include("xxx/home.txt"); } ?> Tylko że jakoś tak może: <?php if ($_GET['show'] == "&name") { if (file_exists("xxx/&name.txt")) include("xxx/&name.txt"); } ?> Chodzi o to, że gdy wpisze w przeglądarce index.php?show=kontakt to wczyta plik KONTAKT.txt z katalogu xxx , a gdy w przeglądarce wpisze index.php?show=home to wczyta plik HOME.txt z katalogu xxx . Teraz już chyba rozumiecie o co mi chodzi. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) |
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 221 Pomógł: 14 Dołączył: 11.03.2009 Skąd: Lubaczów Ostrzeżenie: (0%)
|
No właśnie coś takiego: <?php if ($_GET['show'] == "home") { if (file_exists("xxx/home.txt")) include("xxx/home.txt"); } ?> Tylko że jakoś tak może: <?php if ($_GET['show'] == "&name") { if (file_exists("xxx/&name.txt")) include("xxx/&name.txt"); } ?> Chodzi o to, że gdy wpisze w przeglądarce index.php?show=kontakt to wczyta plik KONTAKT.txt z katalogu xxx , a gdy w przeglądarce wpisze index.php?show=home to wczyta plik HOME.txt z katalogu xxx . Teraz już chyba rozumiecie o co mi chodzi. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) no ale to przeciez dziala (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) jak zrobisz tak :
i w przegladarce wpiszesz : (w index.php dajesz kod ten wyzej) http://jakisadres.pl/index.php?show=home to wyswietli ci to co najduje sie w pliku home.txt a to drugie "&" to jest do laczenia dwoch indexow czyli jak napiszesz : http//jakasstrona.pl/index.php?show=home&show=kontakt to ci wyswietli obie te strony a w miejsce home :$_GET['show'] == "home" mozesz wpisac co tam chcesz i tak samo w pzregladarce zobacz to :
|
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%)
|
Człowieku, przecież ja Ci na to dałem gotowy kod więc w czym problem?
|
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 12.02.2009 Ostrzeżenie: (0%)
|
no ale to przeciez dziala (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif) jak zrobisz tak :
i w przegladarce wpiszesz : (w index.php dajesz kod ten wyzej) http://jakisadres.pl/index.php?show=home to wyswietli ci to co najduje sie w pliku home.txt a to drugie "&" to jest do laczenia dwoch indexow czyli jak napiszesz : http//jakasstrona.pl/index.php?show=home&show=kontakt to ci wyswietli obie te strony a w miejsce home :$_GET['show'] == "home" mozesz wpisac co tam chcesz i tak samo w pzregladarce zobacz to :
No tak, ale do każdego pliku z folderu XXX muszę dopisywać nowy wiersz Cytat if ($_GET['show'] == \"name\") { if (file_exists(\"xxx/kontakt.txt\")) include(\"xxx/kontakt.txt\"); } A ja chcę, żeby był jeden taki wiersz i obojętnie jaką nazwę wpiszę po show= to taki plik mi wczyta. Według twojego kodu dla każdego pliku muszę dodać ten wiersz, a co gdy plików będzie np. 1000 ? :/ 100 wierszy kilko linijkowych to niezły bałagan będzie. Człowieku, przecież ja Ci na to dałem gotowy kod więc w czym problem? No niby gotowy, ale gdzie jest linia odpowiedzialna za folder, w którym ma szukać pliku .txt? |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%)
|
Kod $reg = "/^[a-zA-Z0-9]+$/"; $name = $_GET['show']; if (preg_match($reg, $name)) { if (file_exists($name.'.php')) { // tutaj // przykładowo dokleiłem końcówkę .php może być inna // include($name.'.php'); // i tutaj }else{ // Plik nie istnieje exit(); } }else{ // Nazwa pliku nie pasuje do wzorca exit(); } Robisz np. tak: 'folder/'.$name.'.txt' Ale mi problem troszkę zmienić ? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) "tutaj" ma być ta sama ścieżka w razie czego ;d @edit Słuchaj wypowiedzi pana na dole a jesteś narażony na błędy include (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) @down A co jeżeli wpiszę? a../index.php Dostanę błędy? A jeżeli ktoś użyje tego do jeszcze gorszych rzeczy ? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Z resztą nie wiem po co powielasz wypowiedzi poprzedników. Ten post edytował fifi209 28.03.2009, 21:42:15 |
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 9 Dołączył: 9.01.2008 Ostrzeżenie: (0%)
|
|
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 12.02.2009 Ostrzeżenie: (0%)
|
Czyli to ma wyglądać tak:
Cytat <?php $reg = "/^[a-zA-Z0-9]+$/"; $name = $_GET['show']; if (preg_match($reg, $name)) { if (file_exists('txt/'.$name.'.txt')) { // tutaj // przykładowo dokleiłem końcówkę .php może być inna // include('txt/'.$name.'.txt'); // i tutaj }else{ // Plik nie istnieje exit(); } }else{ // Nazwa pliku nie pasuje do wzorca exit(); } ?> Tyle, że daje link index.php?show=home i nie wyświetla pliku HOME. :/ home.txt jest w folderze txt . |
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%)
|
Polecam usunąć komentarz poprzedzający funkcję include ;d
zamiast Kod // include('txt/'.$name.'.txt'); // i tutaj ma być: Kod include('txt/'.$name.'.txt');
Ten post edytował fifi209 28.03.2009, 21:58:49 |
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 12.02.2009 Ostrzeżenie: (0%)
|
Aha, wszystko już okej. A jak się włącza stronę to trona jest "rozwalona" bo nie ma linku xxx.pl/index.php?show=home tylko xxx.pl/index.php i nie wczytuje HOME i strona rozwalona. Co zrobić, aby na dzień dobry otwierało stronę ?show=home (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
@edit: Okej wszystko rozwiązane. Odpowiedź w drugim poście. Drobna modyfikacja i jest git: Cytat <?php
//jesli zmienna ?show jest pusta, czyli mamy adres index.php if(empty($_GET['show'])) { //przekierowujemy header("location: ?show=home"); exit; } else { //tutaj reszta. może dać np switcha;) } ?> Ten post edytował Mlody993 28.03.2009, 22:32:24 |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 23:18 |