Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd skryptu przy logowaniu
Forum PHP.pl > Forum > PHP
czoko
Witam,

Otóż mam problem ze skryptem, a dokładnie z logowaniem się do niego. Cała instalacja oraz rejestracja przebiega pomyślnie lecz gdy chcę się zalogować do panelu wyskakuje mi błąd:

Kod
Fatal error: Call to undefined function session_register() in /home/.../public_html/panelsms/login.php on line 52



Oto login.php

  1. <?php
  2.  
  3. ?>
  4. <html>
  5. <head>
  6. <link rel=stylesheet href="stylefree.css" TYPE="text/css" media="screen"/>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <meta name="Description" content="" />
  9. <meta name="Keywords" content="sms, panel, minecraft, gry" />
  10. <title>Panel SMS</title>
  11. <style type="text/css">
  12. body {
  13. background:url('images/bg.png') right no-repeat fixed;
  14. color: #e0e0e0;
  15. font-family: Minecraft;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20.  
  21. <div id="login" style="color: yellow; text-shadow: 1px 1px 0 black; font-size: 120%; font-family: Tahoma; width: 300px; text-align: center">
  22. <?php
  23. $topola = 0;
  24. require("config/polacz.php");
  25. if ( $_GET['login'] OR $_GET['pass']) {
  26. exit();
  27. }
  28. $wykonano = $_POST['wykonano'];
  29. if (!$wykonano OR empty($wykonano)) {
  30. echo "<form action=\"login.php\" method=post> Logowanie<br> Login: <input type=text name=\"nick\" maxlenght=32><br>Haslo: <input type=password name=\"pass\"><br><a class=\"link2\" href=\"register.php\">Nie mam konta</a><input type=hidden name=\"wykonano\" value=\"tak\"><br><input type=submit value=\"Zaloguj\"></form>";
  31. }
  32.  
  33. else
  34. {
  35. $nick = $_POST['nick'];
  36. $pass2 = $_POST['pass'];
  37. $pass3 = mysql_real_escape_string($pass2);
  38. $nick = mysql_real_escape_string($nick);
  39. $pass = md5($pass3);
  40.  
  41. if(!$nick or empty($nick)){
  42. echo "Musisz wprowadzic login.";}
  43. if(!$pass or empty($pass)) {
  44. echo "Musisz wprowadzic haslo.";}
  45.  
  46. $checkpass = mysql_fetch_array(mysql_query("SELECT pass FROM users WHERE nick='$nick'"));
  47. if($checkpass['pass'] != $pass){
  48. exit("Logowanie nieudane");
  49. } else {
  50. session_register("logged_in");
  51. $_SESSION['logged_in'] = true;
  52. session_register("logged_nick");
  53. $_SESSION['logged_nick'] = $nick;
  54. $date = date("d m Y");
  55. $zap = "UPDATE users SET date_lastlogin='$date' WHERE nick='$nick'";
  56. $checkadmin = mysql_fetch_array(mysql_query("SELECT isadmin FROM users WHERE nick='$nick'"));
  57. if($checkadmin[isadmin] == 1){
  58. $_SESSION['admin'] = true;
  59. }
  60. header("Location: index.php");
  61. }
  62. }
  63. ;
  64. mysql_close($connection);
  65. ?>
  66. </div>
  67. </body>
  68. </html>



Wie ktoś może dlaczego i jak to poprawić?
mar1aczi
Zapewne na serwerze masz wersje php z serii 5.4
session-register jest przestarzała.
czoko
Pisałem do hostingu i wg. nich jest wersja 5.3. A na jakiej serii php powinno to działać?

Oraz jak to można zmodyfikować?
maniana
Nie musisz pisać do hostingu. Wszystkiego się dowiesz uruchamiając: phpinfo
Możesz też sprawdzić czy dana funkcja istnieje przez: function_exists
sowiq
Cytat(czoko @ 27.05.2013, 15:40:17 ) *
jak to można zmodyfikować?


  1. // zamiast tak:
  2. session_register("logged_in");
  3. $_SESSION['logged_in'] = true;
  4.  
  5. // zrób po prostu tak:
  6. $_SESSION['logged_in'] = true;


W pozostałych przypadkach analogicznie.
czoko
Dzięki wielkie!
Daiquiri
Czoko: Temat: Jak poprawnie zatytulowac watek
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.