Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Logowanie i rejestracja nie działa., Po przeniesieniu serwisu na nowy serwer
johny1
post
Post #1





Grupa: Nieautoryzowani
Postów: 2
Pomógł: 0
Dołączył: 5.11.2008

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nevt
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


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


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
johny1
post
Post #3





Grupa: Nieautoryzowani
Postów: 2
Pomógł: 0
Dołączył: 5.11.2008

Ostrzeżenie: (0%)
-----


Prosta, prosta, ale sam bym się jeszcze trochę pomęczył zanim bym na to wpadł.

Dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 12:39