Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[php]Session register
#1
Witam. Jestem tu nowy i jestem też 'świerzakiem' w tematyce php jednak ostatnio stało się moim hobby. Napisałem sobie skrypcik logowania, który jest częścią większego skryptu. Jednak jako niedoświadczony i nie mający świadomości istnienia manuala napisałem go w oparciu o session_register. Wszystko było pięknie dopóki odpalałem skrypt na Wampie lokalnie. Po wrzuceniu na serwer wyszło szydło z worka i odkryłem, ze register global jest wyłączone i session_register nie działa. Trzeba uczyć się na błędach więc zacząłem próbę przerobienia skryptu tak aby działał bez tej funkcji. I tu pojawia się problem. O ile pozamieniałem zmienne z @session_register("zalogowany"); na $zalogowany=$_SESSION["zalogowany"]; o tyle skrypt nie rejestruje tych sesji wcale. Poprzedni sposób działał bezbłędnie na lokalnym serwerze. Logować loguje, jednak nie zapisuje do sesji wartości zmiennych pobranych z bazy w trakcie wykonywania skryptu. Walczę z tym od wczoraj i nie mam już pomysłów. Poniżej wklejam kod i proszę o wskazówki i może małą lekcję jak to powinno być zrobione. Z góry dziękuję za pomoc.

Stara wersja z session_register:
Kod PHP:
<?php
ob_start
();
?><?php
@session_start();
@
session_register("zalogowany");
@
session_register("admin");
@
session_register("user");
@
session_register("balans");
if(empty(
$_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;

include(
"includes/baza.php");

$admin=1//z góry ustalony NUMER KONTA admina

if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;}

if(
$_SESSION["zalogowany"]!=1){

if(
!empty(
$_POST["login"])
AND !empty(
$_POST["haslo"])
AND 
preg_match('@^[A-Z]{1,1}[a-ząćęłńóśźżĄĆĘŁŃÓŚŹŻ]{2,} [] [A-Z]{1,1}[a-ząćęłńóśźżĄĆĘŁŃÓŚŹŻ]{2,}$@'$_POST["login"])
AND 
preg_match('@^[0-9]{1,9}$@'$_POST["haslo"])){

if(
mysql_num_rows(mysql_query("select * from konta where user = '".htmlspecialchars($_POST["login"])."'
AND haslo = '"
.htmlspecialchars($_POST["haslo"])."'"))){

$_SESSION["zalogowany"]=1;
$_SESSION["user"]=$_POST["login"];
$_SESSION["user"]=$user//zalogowany klient sklepu NAZWA UZYTKOWNIKA

$zapytanie mysql_query("SELECT nrkonta FROM konta WHERE user = '$user';");//sprawdzenie numeru konta klienta
$record mysql_fetch_array($zapytanie);
$record["nrkonta"];
$_SESSION["nrkonta"]=$record["nrkonta"];
$nrkonta=$_SESSION["nrkonta"];//przypisywanie NUMERU KONTA klienta do zmiennej sesyjnej

$zapytanie2 mysql_query("SELECT balans FROM konta WHERE nrkonta = '$nrkonta';");
$record2 mysql_fetch_array($zapytanie2);
$record2["balans"];
$_SESSION["balans"]=$record2["balans"];//pobieranie STANU KONTA i przypisywanie do zmiennej sesyjnej

if($nrkonta==$admin)
{
header("Location: admin.php");
exit();}
else{
header("Location: main.php");
exit();}

}
else {include(
"includes/logowanie.php");
echo (
"<div id=dialog style=text-align:center title=Komunikat systemowy>
Błędny login lub hasło.</div>"
);}

}
else {
include(
"includes/logowanie.php");
if(
$_GET["wyloguj"]=="tak")
{echo 
"Wylogowano pomyślnie.";
header('location: index.php');}
else {
if(isset(
$_POST[login]))
{echo (
"<div id=dialog style=text-align:center title=Komunikat systemowy>
Proszę wprowadzić pełne dane logowania.</div>"
);}}
}

}
else{echo 
"Zalogowany";};

?>
Odpowiedz


Wiadomości w tym wątku
[php]Session register - przez iqique - 11-10-2011, 16:59

Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Session w MVC Marys 7 4,248 20-07-2012, 12:43
Ostatni post: hieroshima
  jak przeobic skrypt zeby nie uzywal Register Globals adek- 1 2,416 03-04-2010, 00:23
Ostatni post: Stef@n

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl