Hayer Skrevet 16. juni 2007 Skrevet 16. juni 2007 Hei! Slik ser login.php Klikk for å se/fjerne innholdet nedenfor <?php include_once("sql_connect.php"); SESSION_START(); $brukernavn = $_POST['brukernavn']; $passord = $_POST['passord']; $SQLoppgave = "SELECT level, brukernavn, passord, nick FROM brukere WHERE passord = '$passord' AND brukernavn = '$brukernavn'"; $resultat = mysql_query($SQLoppgave); if(!$resultat) { $feil=mysql_error(); print $feil; exit(); } if(mysql_affected_rows()==0){ print "<font size='6'>ERROR:</font><br>Wrong username or password, please check your spelling."; exit(); } else{ mysql_fetch_array($resultat); $_SESSION['innlogget'] = true; $_SESSION['level'] = $rad['level']; $_SESSION['brukernavn'] = $rad['brukernavn']; $_SESSION['nick'] = $rad['nick']; echo "Welcome, "; echo $_SESSION['nick']; //proceed to perform website’s functionality //e.g. present information to the user } ?> Her er feil meldingen jeg får: Welcome, Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0 Skjønner ingenting jeg
Ekko Skrevet 16. juni 2007 Skrevet 16. juni 2007 Lenge siden jeg har brukt PHP, så kan ikke gi deg helt korrekt svar, men peke deg i riktig retning. Mellom php3 og php4 bestemte utviklerne seg for at variabler postet fra en side til en annen skulle bli behandlet annerledes fordi måten de da ble overført på ga rom for tukling med variablene underveis. Grepene de gjorde medførte at "register globals", som er en setting i php.ini, ble slått av. Dersom gamle php3-skript skulle fungere med php4/php5 måtte denne settes til "on". Regner med det er noe der problemet kan ligge. Hvis du har anledning kan du på egen risk endre php.ini filen, hvis ikke må du omprogrammere. Ikke 100% sikker på at dette er problemet ditt, men når jeg leste "register globals" i feilmeldingen din var det det første jeg tenkte på.
Hayer Skrevet 16. juni 2007 Forfatter Skrevet 16. juni 2007 Ok, hva innebærer re-writen da? Er det store ting som må gjøres om eller bare f.eks Behandle_for_php4($var); ? Takk for raskt svar så tidlig på morra'n
Crowly Skrevet 16. juni 2007 Skrevet 16. juni 2007 Kan ikke se noe galt i koden din, ser ikke ut som ett register_globals problem siden du bruker $_POST og slik riktig. Session_start() må ligge før du "skriver ut noe" i nettleseren, men jeg kan se at det skal være ett problem. Men du kan prøve å sette session_start(); før include_once, for det kan se ut som du ikke får satt noen verdier i $_SESSION variablen. Du kan prøve å legge inn echo "<pre>"; print_r($_SESSION); echo "</pre>"; etter $_SESSION['nick'] = $rad['nick']; da ser du raskt om det ligger noen verdier der.
Hayer Skrevet 16. juni 2007 Forfatter Skrevet 16. juni 2007 (endret) Fant ut av det, takk til Crowly! ps:funker fortsatt ikke den der $_SESSION['nick'], men fixet feilmeldingen! Endret 16. juni 2007 av Hayer
Hayer Skrevet 16. juni 2007 Forfatter Skrevet 16. juni 2007 Her er koder feilmeldingen fra index.php (hvis jeg har suttet session_start(); ) Warning: session_start() [ function.session-start ]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\xampp\htdocs\index.php:26) in C:\Program Files\xampp\htdocs\index.php on line 70 Welcome, Her er det som kommer uten session_start(); Welcome, Hjelp! :'(
TheClown Skrevet 16. juni 2007 Skrevet 16. juni 2007 header må kommer før noe annet blir skrevet på siden.
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå