Gå til innhold

Problemer med innloggings-script *LØST*


Anbefalte innlegg

Jeg har flyttet et nettsted til ny server, og har etter det fått problemer med et innloggings-script. Den største forskjellen er at register_globals er satt til off.

 

Koden i login-sjekken:

session_start();
//Databasetilkobling
include("db_connect.inc");

$brukernavn=$_POST['brukernavn'];
$passord=$_POST['passord'];


 //Kontrollerer brukernavn og passord
 $logincheck_query = "SELECT * FROM min_tabell WHERE usr_email = '$brukernavn';
     	";
 $logincheck_result = mysql_query($logincheck_query);
 
 while($login_row = mysql_fetch_array($logincheck_result))
 {
   if($login_row["usr_email"]==$brukernavn && strcmp(md5($passord),$login_row["usr_passw"])==0)
   	{
   	$login = 0;
$m_brukerID = $_POST['m_brukerID'];
$m_fornavn = $_POST['m_fornavn'];
$m_etternavn = $_POST['m_etternavn'];
$m_adresse = $_POST['m_adresse'];
$m_postnummer = $_POST['m_postnummer'];
$m_yrke = $_POST['m_yrke'];
$m_epost = $_POST['m_epost'];
$m_admstatus = $_POST['m_admstatus'];
$m_newspost = $_POST['m_newspost'];
$m_snewsedit = $_POST['m_newsedit'];
$m_newsdelete = $_POST['m_newsdelete'];
$m_songpost = $_POST['m_songpost'];
   	}
   	else
   	{
   	$login = 1;
   	}
 }
 
 if($login==1)
 {
 //Brukernavn og passord stemmer ikke, brukeren blir redirected til login-siden
 header('Location:../?cat=login');
 }
 else
 {
 //Brukernavn og passord stemmer, session-variabler registreres
 session_register('m_brukerID');
 session_register('m_fornavn');
 session_register('m_etternavn');
 session_register('m_adresse');
 session_register('m_postnummer');
 session_register('m_yrke');
 session_register('m_epost');
 session_register('m_admstatus');
 session_register('m_newspost');
 session_register('m_newsedit');
 session_register('m_newsdelete');
 session_register('m_songpost');
 $accesskey = 123456789;
 session_register('accesskey');
 
 header('Location:../?cat=myprofile');
 }

 

og i 'myprofile' :

session_start();
//Databasetilkobling
include("db_connect.inc");
$accesskey=$_POST['accesskey'];

$m_brukerID = $_GET['m_brukerID'];
$m_fornavn = $_GET['m_fornavn'];
$m_etternavn = $_GET['m_etternavn'];
$m_adresse = $_GET['m_adresse'];
$m_postnummer = $_GET['m_postnummer'];
$m_yrke = $_GET['m_yrke'];
$m_epost = $_GET['m_epost'];
$m_admstatus = $_GET['m_admstatus'];
$m_newspost = $_GET['m_newspost'];
$m_snewsedit = $_GET['m_newsedit'];
$m_newsdelete = $_GET['m_newsdelete'];
$m_songpost = $_GET['m_songpost'];



if(isset($accesskey) && $accesskey==123456789)
{
//Gjør ting for lovlige brukere
}
else
{
//Ikke innlogget bruker
include("pti_login.php");
}

 

Jeg tror problemet ligger i 'accesskey', men er ikke helt sikker på det. Brukernavn og passord har jeg forsøkt å skrive ut før login-sjekken, og det virker.

Scriptet fungerte som sagt helt fint da det lå på den andre serveren.

Endret av kadutrur
Lenke til kommentar
Videoannonse
Annonse

Du kan ikke bruke session_register() når register globals er avslått...

Bruk heller $_SESSION[variabel] = verdi... eks:

$_SESSION["accesskey"] = "123456789";

 

For å få ut denne verdien igen på en annen side, må du bruke:

$accesskey = $_SESSION["accesskey"];

evt.

$accesskey = $_REQUEST["accesskey"]; // Leter gjennom get, post, cookie og session... ikke nødvendigvis i den rekkefølgen, da...

 

ref:

http://www.php.net/session_register

 

/Kakkle

Endret av kakkle
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...