Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Dynamiczne Tytuły i Keywords
Forum PHP.pl > Forum > Przedszkole
Porter3
Mam działające dynamicznie Tytuły stron i keywords.
Mam problem z pewnym warunkiem.
Jestem początkujący.

index.php
Kod
<?php
$go=$_GET['id'];

if(!isset($go) )                  //jeśli $go nie istnieje to ustawia tytuł i keys z tablicy z indeksu "home"
    $go="home";

  $tytul = array (                               //tablica z tytułami
    "home" => "Strona Główna",
    "placowka" => "O Placówce",
    "regulamin" => "Regulamin",
    "galeria" => "Galeria",
    "kontakt" => "Kontakt",
  );
    
    $keys = array (                      //tablica z keyword
        "home" =>"strona główna, azyl, placówka opieki doraźnej w kielcach, witamy",
        "placowka" =>"informacje o placówce, rys historyczny, historia",
        "regulamin" =>"regulamin placówki, schemat organizacyjny",
        "galeria" =>"zdjecia placówki, galeria",
        "kontakt" =>"kontakt, informacje kontaktowe, adres, email, telefon, dojazd, forularz kontaktowy",
        );
        
require_once('skel/doc.php');           //ładuję <head> <script> itd.
?>
...



doc.php
Kod
meta name="keywords" content="<?php echo "$keys[$go]";?>"/>    
<title><?php echo "$tytul[$go] | xxx";?></title>


Menu, dynamika itd. działa prawidłowo.
Jeśli wpisze się w url inną zmienną niż ?id, to również pokazuje dane z home. To jest prawidłowo.

Chciałbym jednak, żeby też tak się działo, gdy wpisze się zmienną ?id= taką której nie ma w tablicy(jednocześnie w menu), czyli nie home,regulamin,galeria,kontakt. Chciałbym, żeby przeszło przez tablicę i sprawdziło, że nie ma takiego indeksu, więc też pokaże "home". Tymczasem na ten moment w ogóle nic nie wczytuje. Np. gdy dam www.xxx.pl?id=cokolwiek.

Proszę o podsunięcie pomysłu.
Dziękuję z góry jednocześnie prosząc o wyrozumiałość smile.gif
sadistic_son
Przeszukaj tablicę $tytuł funkcją in_array. Jeśli element zostanie znaleziony to ok, jeśli nie to przypisz wartość home. Np:
  1. if(!in_array($go,$tytul)){
  2. $go='home';
  3. }
Porter3
Kod
if (!isset($go))                   /jeśli nie istnieje zmienna $go to...
    $go="home";
elseif (!in_array($go,$tytul))       /jeśli nie znajdzie $go w tablicy $tytul to...
    $go='home';


Problem jest taki:

- gdy znajduje $go, które jest w $tytul to i tak daje 'home' i wyświetla: Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/xxxx/doc.php on line 13

- jeśli wpiszę $go, którego nie ma to działa dobrze, daje "home", ale też z ostrzeżeniem
- jeśli w ogóle nie istnieje $go to działa wyśmienicie, bez ostrzeżenia.

Jak naprawić, by:

- nie ustawiało "home" gdy istnieje w tablicy
- jak pozbyć się ostrzeżenia, gdy nie ma $go.

Proszę o podpowiedź. Być może źle zapisałem warunek.
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.