PHP - Przyjazne linki

Założony przez InfBoot.

Witajcie, mam pytanko jak jak zrobić linki w takiej postaci :

http:// data.hosttalk.duu.pl/firma.php?f=securityhost

Znajomy mi piszę że :

Cytat: PHP - include() + $GET

ale ja mało z tego rozumiem... proszę o podanie gotowego kodu, ewentualnie jakieś :) wskazówki - linki

Pozdro :)
TaniDedyk.pl
W firmie.php robisz:


if($_GET['f'] == secuirthost)
{
body.
}

@up Nie do końca, securityhost musi być w cudzysłowach lub apostrofach (polecam to drugie, w tym wypadku szybsze):



if($_GET['f'] == 'securityhost')
{
echo 'Bla bla...';
}



Ewentualnie, możesz to zrobić z include(), w taki sposób:
Plik np. securityhost.php:


Zawartość, nie dawaj <?php i ?>!



i w firma.php:


if($_GET['f'] == 'securityhost')
{
include('securityhost.php');
}


Tylko od razu warto zaznaczyć, żeby czasem nikogo nie korciło robić tak:


if(isset($_GET['f']))
{
include($_GET['f']);
}


bo to skrajnie niebezpieczne.
(03.06.2012, 10:33)Siper napisał(a): @up Nie do końca, securityhost musi być w cudzysłowach lub apostrofach (polecam to drugie, w tym wypadku szybsze):


Nie prawda. :szczerbol:
Prawda prawda, przecież nikt tutaj nie piszę o używaniu stałych.
Jeżeli to nie będzie stała, otrzymasz:


Notice: Use of undefined constant secuirthost - assumed 'secuirthost'


Oczywiście możesz to wyłączyć przez error_reporting, ale to wtedy świadczy o partactwie programisty, oraz zostawia błąd logiczny (bo nie porówna prawidłowo).
Ja od początku mojej przygody z programowaniem przy tak robiłem. Nigdy nic nie wyłączałem, nie zmieniałem, nigdy też nie było błędu. Jeśli porównuje string to oczywiście używam "", bo jest to konieczne. Ale przy GET nigdy tego nie robiłem i nigdy nie było z tego powodu nieprzyjemności. Oczywiście masz rację, powinienem ujrzeć ten błąd, lecz nigdy go nie zobaczyłem, a co za tym idzie nie zastawiałem się nad tym. Może parser to ignoruje?
Zależy jak jest ustawione error_reporting i display_errors w php.ini.
Przy tworzeniu skryptów powinno się używać E_ALL.
Gdy będziesz chciał zrobić więcej niż jedną podstronę to polecam użyć składni "switch", bo używając ciągle "else if" można łatwo się pogubić i kod jest nieczytelny.

Przykład:


<?php
switch($_GET['f'])
{
case 'strona1':
echo 'Treść strony nr 1'; //Możesz użyć też include
break;

case 'strona2':
echo 'Treść strony nr 2';
break;

default:
echo 'Podana strona nie istnieje';
}
?>



Oczywiście, przed tym musisz sprawdzić, czy istnieje

$_GET['f']

Jeżeli nie to wyświetlić np. stronę główną.


Użytkownicy przeglądający ten wątek:

1 gości