Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Nietypowy błąd podczas wykonywania skryptu
Forum PHP.pl > Forum > Przedszkole
mdnm
Witam. Mam skrypt logowania oparty na plikach tekstowych oraz sondę również opartą na plikach tekstowych. Gdy próbuje np. zalogować się, to dane nie przesyłają się, a na dole strony pojawia się taki błąd :

Cytat
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0


Od czego to zależy? Na localhoście jest OK.
Kicok
Skrypt jest skopany - działa tylko wtedy gdy włączone jest register_globals. To znaczy używasz w nim:
  1. <?php
  2.  
  3. session_register( $zmienna );
  4. // zamiast:
  5. $_SESSION['zmienna'] = $zmienna;
  6.  
  7. ?>

,
  1. <?php
  2.  
  3. session_unregister( $zmienna );
  4. // zamiast:
  5. unset( $_SESSION['zmienna'] );
  6.  
  7. ?>

oraz:
  1. <?php
  2.  
  3. session_is_registered( $zmienna );
  4. // zamiast
  5. isset( $_SESSION['zmienna'] );
  6.  
  7. ?>


Więcej informacji w manualu. Możesz poprawić swój skrypt albo kombinować naokoło - twój wybór.
mdnm
Niestety nie mam tutaj session_register ani session_unregister ani session_is_registered tylko

W logowaniu :

  1. <?php
  2. if(!empty($_SESSION['page_login'])){
  3. ?>


  1. <?php
  2. if ($_SESSION['poziom'] == '1' or $_SESSION['poziom'] == '2' or $_SESSION['poziom'] == '3') {
  3. ?>


W sondzie :

  1. <?php
  2. if ($_COOKIE['zablokujsonde']!="tak") {
  3. ?>
l0ud
Pokaż kompletny kod logowania, ogólnie cały kod, który powoduje ten błąd.
mdnm
  1. <?
  2.  
  3. if(!empty($_SESSION['page_login'])){
  4.  
  5. ?>
  6. Witaj, <b><?=$imie?></b>!<br />
  7. &raquo; <a href="edycja.php">Edycja danych</a>&nbsp;<br />
  8. &raquo; <a href="wyloguj.php">Wyloguj się!</a>&nbsp;
  9. <?php
  10.  if ($_SESSION['poziom'] == '1' or $_SESSION['poziom'] == '2' or $_SESSION['poziom'] == '3') {
  11.  
  12.  ?>
  13. <br />&raquo; <a href="admin/panel.php">Panel administracyjny</a>&nbsp;
  14. <?php
  15.  }
  16.  
  17.  }
  18.  elseif ($logowanie == 'nielogin') {
  19.  
  20.  ?>
  21. <span style="color: #FF0000; text-align: center;">Zły login! <a onClick="history.back()">Wstecz</a></span>
  22. <?php
  23.  }
  24.  elseif ($logowanie == 'niehaslo') {
  25.  ?>
  26. <span style="color: #FF0000; text-align: center;">Złe hasło <a onClick="history.back()">Wstecz</a></span>
  27. <?php
  28.  }
  29.  else {
  30. ?>
  31. <form method="post" style="display:inline;" action="">
  32. <input type="hidden" name="form" value="tak" />
  33. Login:&nbsp;<br /><input type="text" name="login" />&nbsp;<br />
  34. Hasło:&nbsp;<br /><input type="password" name="haslo" />&nbsp;<br />
  35. <input type="submit" value="zaloguj">
  36. <br /><br />
  37. <a href="odzyskaj.php" target="_top">Nie pamiętam hasła.</a><br />
  38. <a href="rejestruj.php">Rejestracja.</a>
  39. </form>
  40. <?php
  41.  }
  42. ?>
Kicok
Coś mi zaczęło świtać w głowie...

Wyłącz register_globals na swoim serwerze. Jeśli nie masz dostępu do php.ini to utwórz plik .htaccess o treści:
Kod
php_value register_globals Off

lub
Kod
php_flag register_globals Off



Jeśli błąd nie zniknie to zostaje:
Kod
php_value session.bug_compat_warn Off

lub
Kod
php_flag session.bug_compat_warn Off
miccom
Witam.
MI pomogło wrzucenie w htaccess komendy
  1. php_value register_globals Off
  2. php_value session.bug_compat_warn Off


Tylko ze ostatnia linijka powoduje wyłączenie alertów i drukowania warningów, a nie usuwa problemu;/
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.