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
@up Nie do końca, securityhost musi być w cudzysłowach lub apostrofach (polecam to drugie, w tym wypadku szybsze):
Kod PHP:
if($_GET['f'] == 'securityhost')
{
echo 'Bla bla...';
}
Ewentualnie, możesz to zrobić z include(), w taki sposób:
Plik np. securityhost.php:
Kod PHP:
Zawartość, nie dawaj <?php i ?>!
i w firma.php:
Kod PHP:
if($_GET['f'] == 'securityhost')
{
include('securityhost.php');
}
Tylko od razu warto zaznaczyć, żeby czasem nikogo nie korciło robić tak:
Kod PHP:
if(isset($_GET['f']))
{
include($_GET['f']);
}
bo to skrajnie niebezpieczne.
Prawda prawda, przecież nikt tutaj nie piszę o używaniu stałych.
Jeżeli to nie będzie stała, otrzymasz:
Kod PHP:
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:
Kod PHP:
<?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
Jeżeli nie to wyświetlić np. stronę główną.