![]() |
![]() ![]() |
![]() |
![]()
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. ![]() 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. ![]() 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. -------------------- Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem
WRONA.IT - pozycjonowanie stron www.ecyklopedia.pl |
|
|
![]()
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 ![]() ![]() |
|
|
![]()
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 ![]() ![]() 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... -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
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 -------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
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 ![]() 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 -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
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 ![]() Ale Twoje rozwiązanie jest oczywiście godne uwagi! Pozdrawiam Marcin -------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
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. ![]() ![]() 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.
![]() 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. ![]() @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ć. ![]() 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. ![]() |
|
|
![]()
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. ![]() no ale to przeciez dziala ![]() 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?
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 12.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
no ale to przeciez dziala ![]() 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ć ? ![]() "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 ![]() @down A co jeżeli wpiszę? a../index.php Dostanę błędy? A jeżeli ktoś użyje tego do jeszcze gorszych rzeczy ? ![]() Z resztą nie wiem po co powielasz wypowiedzi poprzedników. Ten post edytował fifi209 28.03.2009, 21:42:15 -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
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 -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
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
![]() @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 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:42 |