Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dziwny błąd ?!
Forum PHP.pl > Forum > Przedszkole
lilith123
Witajcie kochani ludzie!!
Mam taki problem..
Zachciało mi się zrobic dwie wersje językowe strony. Zrobiłam to z wykorzystaniem sesji. Na localhost WSZYSTKO chodzi bez problemu. Skrypt wykonuje się PRAWIDŁOWO, bez błędów.
Filozofia jego jest taka:
- mam plik index.php, który w zależności od zmiennej sesji $jezyk zagląda do odpowiedniego katalogu z plikami do dołączenia (podstronami)
- na dysku lokalnym mojego komputerka, jest OK, zagląda do katalogu, np. pl i stamtąd bierze sobie pliczek.

Problem mi sie pojawił w momencie, gdy przekopiowałam całą strone na serwer ftp (na friko.pl). Teraz też właściwie rozpoznaje jezyk, zachowuje go, ale jedyna strona, którą otwiera to strona błędu (taka moja domyślna). Mimo, że widzi inne strony (po wpisaniu ich ścieżek w linii adresu, pokazuje te strony), to nie chce ich podłączać do index'a.

BŁAGAM POMÓŻCIE, bo ja przez to spać nie mogę ... chlip....a już nie mam innego pomysłu

ps. acha jak wgram na serwer (ftp) to każda przeglądarka, nie dość, że nie wyświetla strony, to jeszcze wywala błąd: "brak defunicji gad_act_h"

oto ogólny zarys pliku index:
  1. <? session_start(); ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
  3. <HTML>
  4. <HEAD>
  5.   <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=ISO-8859-2">
  6.   <META name="Robots" content="All">
  7.   <META NAME="author" CONTENT="Lil~">
  8.   <META HTTP-EQUIV="reply-to" CONTENT="ztp@ztp.wroc.pl">
  9.   <META NAME="description" CONTENT="usługi w ramach krajowego i międzynarodowego transportu drogowego">
  10.   <meta content="ISO, GMP, HACCP" name=keywords>
  11.   <META HTTP-EQUIV="content-language" CONTENT="pl">
  12.   <TITLE>57-100 Strzelin</TITLE>
  13.   <link rel="stylesheet" type="text/css" href="css.css">
  14.  
  15. </head>
  16.  
  17. <body> 
  18.  
  19. <div align="center">
  20.     <?
  21.         $jezyk = $_GET["jezyk"];
  22.  
  23.         if (isset($jezyk) && file_exists("lang/$jezyk.php")) {
  24.         $_SESSION['jez'] = $jezyk;
  25.         } else {
  26.         $_SESSION['jez'] = isset($_SESSION['jez'])?$_SESSION['jez']:"pl";
  27.         }
  28.         session_register("jezyk");
  29.         $jezyk =  $_SESSION["jez"];
  30.         include("lang/{$jezyk}.php");
  31.  
  32.         include("lang/{$_SESSION["jez"]}.php");
  33.         include("template/menu_top.php");
  34.     ?>
  35. </div>
  36. <br>
  37. <div align="center">
  38. <!--//  tabela główna//-->
  39. <table border="1" width="80%" bordercolorlight="#820000">
  40.     <tr valign="top">
  41.         <td width="155px" align="left">
  42.                 <? include("template/menu_right.php"); ?>
  43.         </td>
  44.         <td bgcolor="#FFF6ED">
  45.                         <div style="height:390px; overflow:auto" class="middle">
  46.                              <?
  47. //  tu pojawia się problem
  48.                             $test="ok"; 
  49.                             if (!isset($strona) || $strona==""){ $strona = $_GET['s']; };
  50.                             if($strona==""){ include("{$jezyk}/podst.php"); }
  51.                             else if (file_exists("{$jezyk}/{$strona}.php")) 
  52.                                      { include("{$jezyk}/{$strona}.php"); }
  53.                             else { 
  54.  // robi tylko ten warunek, jak wpisze inny plik, np. kontakt, to wyświetli właśnie
     ten
  55.                                     include("{$jezyk}/404.php"); };
  56.                             ?>
  57.                         </div>
  58.                 </td>
  59.         <td width="155px" align="left">
  60.                 <? include("template/menu_left.php"); ?>
  61.         </td>
  62.     </tr>
  63. </table>
  64. <!--// tabela główna ..end..//-->
  65. </div>
  66. <a href="http://www.friko.pl" title="Friko.pl - Darmowe serwery">
  67. Darmowe serwery
  68. </a>
  69. </body>
  70.  
  71. </html>
crash
Usuń session_register("jezyk");... Tego się już nie używa, a zwłaszcza nie w takiej formie. Więcej powiem jak podasz dokładnie jaki błąd się pojawia...
tiraeth
daj ten kod zamiast tego z problemem
  1. <?
  2. $test="ok";
  3.  
  4. # Ustawiamy zmienną $strona
  5. $strona = ($strona == '' || !isset($strona)) ? $_GET['s'] : $strona;
  6.  
  7. if($strona == '')
  8. {
  9.  # Zmienna $strona jest pusta
  10.  include($jezyk.'/podst.php');
  11. }
  12. elseif($strona != '' && file_exists($jezyk.'/'.$strona.'.php'))
  13. {
  14.  # Zmienna $strona nie jest pusta i plik istnieje
  15.  include($jezyk.'/'.$strona.'.php');
  16. }
  17. else
  18. {
  19.  # Plik nieistnieje (bez względu na wartość zmiennej $strona)
  20.  include($jezyk.'/404.php');
  21. }
  22. ?>
lilith123
Cytat(crash @ 2005-08-28 13:03:59)
Usuń session_register("jezyk");

Byłam grzeczna, usunęłam...
Ciężko mi to trochę inaczej opisać niż wcześniej.
Napisałam stronkę z sesjami. Testowałam ją na swoim komputerze z zainstalowanym krasnalem. I wszystko chodziło. Przeglądarki nie widziały błędów.
Wgrałam na serwer ftp i sie zaczeło.
Są dwa katalogi katalog pl dla stron w języku polskim i en - dla angielskiego.
Skrypt dobrze chodzi, bo w zależności od języka bierze plik z odpowiedniego katalogu.
Tylko że on bierze jedynie plik o nazwie "404.php", czyli wykonuje ostatnią linijkę skryptu, który podmienia zawartość strony. Innych stron nie chce.
Napewno ma do nich dostęp, bo jak się wpisze, np.
www.malach.friko.pl/pl/podst.php - wyświetli zawartość tego pliku, jednak jego samego nie chce podłączyć do index.php
Jak się uruchomi stronę w IE i wykorzysta narzędzie raportujące o błędach, to IE informuje o błędzie w wierszu 337 w znaku 2 i określa ten błąd jako "Brak definicji gad_act_h" - cokolwiek to jest i do czegokolwiek słuzy...

Jeśli MIŁOSIERNY Pan potrzebowałby dodatkowych informacji, bardzo proszę tylko dać znać, bardzo mi zależy, żeby się z tym jak najszybciej uporać...

Sierotka Marysieńka ;p
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.