Avatar billede budwieser Nybegynder
08. april 2010 - 13:51 Der er 10 kommentarer og
1 løsning

PHP: Error Undefined index logged_in

Hvordan kan det være at et php script kan køre så ganske fint på ens localhost også bare
falde fra hinanden når det bliver rykket over på net host side??

Så jeg har kørt en error report for at se om jeg får samme fejl begge steder, men det gør
jeg ikke. På localhost logger den ind og gør som den skal, hvor den på internet hosten
kommer med error:
Error: [8] Undefined index: logged_in

Lad os se hvad den brokker sig over.

if ($_SESSION['logged_in'] == true) {
    // If user is already logged in, redirect to main page
    redirect('../index.php');

Det er da underligt da logged_in bliver defineret i min funktion:
function check_login_status() {
    // If $_SESSION['logged_in'] is set, return the status
    if (isset($_SESSION['logged_in'])) {
        return $_SESSION['logged_in'];
    }
    return false;
}

Hvis der er mere i vil undersøge kan i se tutorial'en her:
http://dev.thatspoppycock.com/index.php/Creating_a_Simple_PHP_and_MySQL-Based_Login_System
Avatar billede htx98i17 Professor
08. april 2010 - 15:10 #1
På dit webhotel logger den ikke ind, men kommer med fejlkode, eller logger den alligevel ind, men samtidig kommer med fejlkode?

Umiddelbart lyder det til at php har en forskellig opsætning ift til det som hedder error_reporting. Tjek phpinfo() på begge maskiner.
Avatar billede j4k0b Nybegynder
08. april 2010 - 15:53 #2
if (array_key_exists('logged_in', $_SESSION) && $_SESSION['logged_in'] == true) {
    ...
Avatar billede budwieser Nybegynder
09. april 2010 - 09:41 #3
Okay nu var jeg lige inde og lave en phpinfo(); tjek og det ser ud til de køre med php 4.4.4 og jeg køre med 5.3.0 på min localhost. Og error håndteringen er også lidt anerledes. j4k0b dit forslag resulterede i at error den forsvandt, men jeg ender stadig på en blank side. login.inc.php

Jeg har prøvet at gå ind på den beskyttede index fil men bliver smidt tilbage til login siden, så den har ikke sat nogen session i gang.

Er der en der har et par fikse liner der kan identificere mit problem, eller en anden med et godt forslag, så vil det hverfald sættes pris på.
Avatar billede htx98i17 Professor
09. april 2010 - 09:49 #4
får du overhovedet et session id på webhost? :)
Avatar billede budwieser Nybegynder
09. april 2010 - 10:00 #5
Fornemt spørgsmål, hvordan kan jeg besvarer det? (:
Har desværre ikke mine ben plantet godt i php miljøet, men først lige igang med at sætte rødder, så hvordan besvarer jeg dit spørgsmål (:
Avatar billede htx98i17 Professor
09. april 2010 - 10:11 #6
Tja nu kommer jeg faktisk i tvivl om session fungerer på samme måde idag som da jeg selv startede.

Men kan du lave en test på om dine session variabler ER tilgængelige i din session når du skifter side?
Avatar billede budwieser Nybegynder
09. april 2010 - 11:15 #7
Session virker fint nok:

session1.php
<?php
session_start();
$_SESSION['dyr'] = 'Gris';


?>
<a href="session2.php">Videre</a>


session2.php
<?php
session_start();
$dyr=$_SESSION['dyr'];
echo "Sessionen virker hvis det er en " . $dyr . " som den skriver";
session_unset();
session_destroy();
?>
Avatar billede htx98i17 Professor
09. april 2010 - 11:25 #8
Ok, jeg har ikke flere bud.
Avatar billede budwieser Nybegynder
09. april 2010 - 14:42 #9
Som sagt så er den en tutorial jeg er gået efter:
http://dev.thatspoppycock.com/index.php/Creating_a_Simple_PHP_and_MySQL-Based_Login_System

Jeg tænkte lidt på om der var nogle funktioner i denne tutorial som ikke ville køre ordentligt på 4.44 frem for 5.30 ?

Jeg har også prøvet at sat echo for hver handling der sker i koden og echo'et stopper når jeg kommer forbi if($_SESSION['logged_in']==true) {
//videre i systemet
}

Synes det er lidt besynderligt (:
Avatar billede budwieser Nybegynder
27. april 2010 - 11:37 #10
Hmm blev ikke til noget som forventet.
Avatar billede budwieser Nybegynder
27. april 2010 - 11:38 #11
Hov
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester