Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem z funkcą if
Forum PHP.pl > Forum > Przedszkole
shadow_g
Witam, mam taki problem w wyniku awarii starego serwera musiałem przerzucić strone z bazą danych na nowy serwer. na starym serwerze plik działał bez zarzutu, było tam php w wersji 4 na nowym jest już php5 mam pytanie czy to może być w tym problem ze jest nowsza wersja php, apacha i mysql (bo mam tylko problem z tym jednym pliczkiem). Kod pliku index.php poniżej:
Kod

<?php
ob_start();
session_start();
if (!isset($page_title)) {
   $page_title = 'PZW Koło Azoty Puławy';
   }
?>
<?php
require_once ('rejestracja/authorisation/config.inc')
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-2" />
<title><?php echo  $page_title; ?></title>
<link rel="stylesheet" type="text/css" href="tekst.css">
<link rel="stylesheet" type="text/css" href="style.css" href="tekst.css">
<link rel="stylesheet" type="text/css" href="stylenrek.css" href="tekstnrek.css">
<link rel="stylesheet" type="text/css" href="newpage.css" href="newpage.css">
</head>
<body>
  
    <?php
    
    if ( ($url == "idnaszerekordy") ||($url == "idrekszczupak") )
    {
    include("index2.php");
    }
   else if ( ($url == "galglo")|| ($url == "idreggalerii") )
    {
    include("index3.php");
    }
    else if (($url == "idonas") ||($url == "idkontakt") )
    {
        include("index1.php");  
     }
     else if (($url == "idzarzadpzw09")||($url == "idregister")||($url == "idlogin")|| )
    {
        include("index5.php");
     }
    else
    {
    include("index4.php");
    }
    ?>

</body>
</html>


Problem tkwi w tym że do trj pory na gdy klikałem na dany link to pojawiał mi sie układ strony z danego index-u a teraz cały czas sie ładuje index4.php, proszę o podpowiedź.
phpion
Na nowym serwerze masz wyłączone register_globals. Najprościej jest dodać:
  1. extract($_POST);
  2. extract($_GET);

na początku skryptu, ale lepszym wyjściem jest poprawienie m.in.:
  1. if ( ($url == "idnaszerekordy") ||($url == "idrekszczupak") )

na:
  1. if ( ($_GET['url'] == "idnaszerekordy") ||($_GET['url'] == "idrekszczupak") )

i analogicznie w kolejnych przypadkach (dla wartości idących postem używasz $_POST zamiast $_GET).
flashdev
Prawdopodobnie chodzi o register globals. Twoja zmienna $page_title powinna być tutaj: $_GET['page_title'] lub tutaj: $_POST['page_title'].
Da się w php to ustawienie zmienić tak jak było w php4, ale nie jest to zalecane ze względów bezpieczeństwa.
shadow_g
Wielkie dzięki, pomogło
Cytat
extract($_GET);
thek
Poza tym można w htaccess wymusić by interpretowało całość jako php4, a nie php5. Jakby co możesz zawsze tak zrobić "tryb zgodności"
:Location *.(php|phtml)
Use php4
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.