Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak uzyskać link
Forum PHP.pl > Forum > Przedszkole
-Orzel-
Witam! jak mogę uzyskać taki link jak np index.php?site=promocja.
Promocja to ma być plik promocja.php. Proszę o pomoc
Szymciosek
Do takiego linku służy GET poczytaj w manualu jak z tego korzystać, to co podałeś to przekazanie wartości do zmiennej poprzez link.

http://php.net/manual/en/reserved.variables.get.php
-Orzel-
Nie umiem angielskiego i nie za bardzo się w tym oriętuje.
johny_s
Cytat(-Orzel- @ 22.06.2012, 11:38:48 ) *
Nie umiem angielskiego i nie za bardzo się w tym oriętuje.

pora sie nauczyc, bez tego wiele nie zwojujesz
Dominator
Bez angielskiego niestety ciężko będzie ...

  1. <?php
  2. $akcja = $_GET["site"];
  3. if($akcja == "module")
  4. {
  5. echo "1";
  6. }
  7. ?>
Szymciosek
Dominator, chociaż trochę wyjaśnienia dla autora.

Najpierw do zmiennej $akcja zostaje pobrana wartość site, którą podajesz w www.link.pl/site=pupa smile.gif
jeśli wpiszesz w site=module to wg kodu Dominatora zostanie wyświetlony na ekranie 1.

Dalej w przypadku większej ilości podstron możesz skorzystać z instrukcji switch, która wyłapie Ci odpowiednie wartości tej zmiennej $akcja.

np
  1. switch ($akcja)
  2. {
  3. case "module" : uruchomWidok("module"); break;
  4. case "gallery" : uruchomWidok("gallery"); break;
  5. default : echo "Brak strony";
  6. }


default tu jest po to żeby podczas wpisania np w site=585nf94jt wyświetliło informację o nieznalezionej stronie żebyś nie został z pustym oknem.

No i prawda, bez angielskiego ciężko jest, chociaż jakieś podstawy.
-Orzel-
<?php
$akcja = $_GET["site"];
if($akcja == "module")
{
echo "1";
}
?>
Mam o to taki kod co podałeś ;D i wziołem go tak
<?php
$promocje= $_GET["site"];
if($promocje == "module")
{
echo "1";
}
?>
I pokazuje mi puste pole.Nie czyta mi promocje.php ;(
Szymciosek
A jak podajesz url ?
-orzel-
index.php?site=promocje
Szymciosek
a wpisz
index.php?site=module

wtedy wyświetli Ci 1.
Shido
  1. <?php
  2. $akcja = $_GET["site"];
  3. if($akcja == "promocje")
  4. {
  5. echo "1";
  6. }
  7. ?>

Tak będzie działać.
Widząc że mieszasz w prostym ifie, chyba nie miałeś za wiele z phpem do czyniena?

By czytało jakis plik zamiast echo musisz dać includa.

Skoro wnioskuje że na phpie się nei znasz a mam dobry dzien łapaj kod:

  1. <?php
  2. $akcja = $_GET["site"];
  3. if($akcja == "promocje")
  4. {
  5. include('promocje.php');
  6. }
  7. ?>


A by móc jeszcze bardziej rozbudować:

  1. <?php
  2. $akcja = $_GET["site"];
  3. if(!empty($akcja)
  4. {
  5. $plik = $akcja.'.php';
  6. include($plik);
  7. }
  8. ?>

Dzieki temu taka nazwe jaką wpiszesz za site= taki plik php ci otworzy

Moja wersja jest do wczytania wewnątrz tej strony w której jesteś ( dobre do stron gdzie zmeinia sie tylko częśc tekstu ), a to co podał Wazniak96 dla podmiany całej strony.
Wazniak96
  1. <?php
  2. start_ob();
  3. $akcja = $_GET["site"]; //$akcja to slowo po znaku rownosci w linku
  4. if($akcja == "promocje") //jezeli akcja to slowo "promocja"
  5. {
  6. header("Location: promocje.php"); // przekierowuje do pliku promocje.php
  7. }
  8. else echo 'Podana strona nie istnieje.'; //jezeli nie wyswietla tekst
  9. ?>

link: index.php?site=promocje

edit: poprawa linku
-Orzel-
<?php
$akcja = $_GET["site"];
if($akcja == "promocje")
{
echo "1";
}
?>
Ja chce żeby cały nowy tekst dawało a nie żeby dodawało tylko 1 .
Wazniak96
Przeciesz Ci kolego shido i ja napisalismy kod, ktory wyswietli ci plik promocje.php
Proponuje powrocic do kursow i manuala.
-Orzel-
<?php
start_ob();
$akcja = $_GET["site"]; //$akcja to slowo po znaku rownosci w linku
if($akcja == "promocje") //jezeli akcja to slowo "promocja"
{
header("Location: promocje.php"); // przekierowuje do pliku promocje.php
}
else echo 'Podana strona nie istnieje.'; //jezeli nie wyswietla tekst
?>
Chciałem użyć tego kodu i pisze mi że jest błąd w drugiej linii
Shido
Po 1 to pokazuj jakie błedy się wyświetlają.
Po 2. spróbuj dac to:

przed ?>
-Orzel-
Poradziłem sobie trzeba było zmienić
start_ob();
na

start_ob;
Shido
To dziwne że teraz ci nic nie wywala, bo ob_start; jest czymś co nie istnieje, ob_start() jest funkcją, a bez () jest nieistniejącym ( o ile mi wiadomo ) tworem.
Szymciosek
Chyba ob_start();
http://php.net/manual/en/function.ob-start.php
chyba, że o czymś nie wiem to przepraszam wink.gif
orzel123
Jednak sobie nie poradziłem bo jak wchodze w link strony to pisze że Podana strona nie istnieje
Shido
Na jaki adres wchodzisz?
orzel123
link.pl/index.php/site=promocje

link.pl -to przyklad nie moja strona ;D
Shido
link.pl/index.php?site=promocje
Tak to powinno wyglądać
orzel123
Teraz działa tylko mam link jak przekierowuje:
http://orzel.bugs3.com/Koala/index.php?site=promocje
a jak już przekieruje to już mam normalny ;(

OFFTOPIA:// Jak mogę dać tu pomógł czy coś w tym stylu questionmark.gif
Shido
W takim razie skorzystaj z mojego skryptu, tam nie będzie przekierowania.
  1. <?php
  2. $akcja = $_GET["site"];
  3. if($akcja == "promocje")
  4. {
  5. include('promocje.php');
  6. }
  7. ?>



Co do pomógł, tylko jezeli załorzysz temat, a że załorzyłes jako gość to nie możesz dać, możesz zgłosić sie do moderatora i poprosic by za ciebie dał ( bo gdzies wyczytałlem że ma taka mozliwość )
orzel123
Moderator jak będziesz czytał post to daj w moje imię podziękowanie Dominator Szymciosek i w szczególności Shido
Posio
Kolega @Shido też chyba nie za bardzo miał do czynienia z php skoro podawał ci poniższy kod:

  1. <?php
  2. $akcja = $_GET["site"];
  3. if(!empty($akcja)
  4. {
  5. $plik = $akcja.'.php';
  6. include($plik);
  7. }
  8. ?>


Nigdy w życiu nie popełniaj takich błędów, oraz zamiast " używaj ' .

Szanowy założycielu tematu, to że nie umiesz angielskiego nie znaczy że nie znajdziesz kursu PHP po polsku ze szczegółowymi objaśnieniami.


http://pl.wikibooks.org/wiki/PHP
Shido
Jeżeli chodzi ci o zabezpieczenie skryptu, to dałem najprostszą wersję.
Sam z czegoś podobnego korzystam, z tym że skrypt jest zabezpieczony na 4 niezależne sposoby.
Mephistofeles
Nie daje się początkującemu przykładów kodu niezabezpieczonego, bo jak się nauczy teraz tak przez długi czas będzie robił.
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.