Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Logowanie i rejestracja nie działa.
Forum PHP.pl > Forum > Przedszkole
johny1
Witam,

no więc przeniosłem serwis na serwer home.pl i na stronie logowania wyskoczyło mi takie coś:

CODE
Warning: session_start() [function.session-start]: open(/tmp/sess_36d03a7a8429618d879d39c37a4f0467, O_RDWR) failed: No such file or directory (2) in /login.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /login.php:3) in /login.php on line 3


Poszukałem, poczytałem i utworzyłem katalog tmp. Niby pomogło bo te napisy znikły, ale zalogować dalej się nie można. Wpisuje login i hasło, klikam "zaloguj" i przechodzę na stronę logowania, z czystymi polami "Login" i "Haslo". Nie pojawiają się żadne komunikaty, że jakiś błąd czy coś. Nawet jak nie wpiszę nic w te pola i kliknę "zaloguj" to jest tak samo.

Przypominanie hasła - tak samo, wpisuję email użytkownika, na który ma być wysłane hasło, klikam "Wyślij" i wracam do pustego formularza. Nie ma żadnego komunikatu, że hasło zostało wysłane, lub nieprawidłowy e-mail, no i oczywiście żadne hasło na maila nie dochodzi.

Z rejestracją jest to samo. Próbując zarejestrować się jako nowy użytkownik, po wypełnieniu wszystkich pól klikam "zarejestruj" i dalej skrypt nie działa.

Nie wydaje mi się żeby to były jakieś błędy w skryptach, bo na poprzednim serwerze wszystko działało. Raczej jest to coś z bazą. Drugi dzień nad tym siedzę i juz mi ręce opadają.

Daję skrypt logowania:



CODE
<?php
unset($login,$pwrd,$id);
session_start();
session_register("login","pwrd","id");

if($logout==1){
 session_destroy();
 header("Location: ".$PHP_SELF);
}

require('error_inc.php');
require('config_inc.php');


function auth($log,$pass){
 global $t_user;
 $query = "select id from ".$t_user." where email=\"".$log."\" and pass=\"".$pass."\" ";
 $result = MYSQL_QUERY($query);
 if(mysql_num_rows($result)>0){
  $id=mysql_result($result,0,"id");
  @mysql_free_result($result);
  return $id;
 }else{
  @mysql_free_result($result);
  return 0;
 }
}

if(auth($login,$pwrd)!=0){
 header("Location: user_menu.php?PHPSESSID=".$PHPSESSID);
}
if($REQUEST_METHOD=="POST"){
 if(isset($lo)){
  $log=htmlspecialchars($log);
  $passwrd=htmlspecialchars($passwrd);
  $au=auth($log,$passwrd);
  if($au>0){
  $login=$log;
  $pwrd=$passwrd;
  $id=$au;
  header("Location: user_menu.php?PHPSESSID=".$PHPSESSID);
  }else{
  require('header_inc.php');
  print "<p>".$err[1]."</p>";
  }
 }
}else{
 require('header_inc.php');
}
?>
A tak wygląda początek pliku config_real_inc.php z danymi dstępu do bazy

CODE

// your mysql database details
$hostnm = "localhost";
$usernm = "moja_nazwa_użytkownika";
$pwd = "moje_hasło";
$dbName = "moja_nazwa";


Macie jakiś pomysł co tu może być źle?
nevt
odpowiedź jest prosta. na home.pl jest PHP5 a ty masz kod w PHP4.
nie używa się już konstrukcji typu session_register("login","pwrd","id"); tylko zmiennej superglobalnej $_SESSION[]... poczytaj o sesji w manualu PHP5
johny1
Prosta, prosta, ale sam bym się jeszcze trochę pomęczył zanim bym na to wpadł.

Dzięki
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.