Vinnaren i pepparkakshustävlingen!
Visar 1 till 6 av 6.
Forum: PHP
2011-06-04, 19:09
Kanske beror på PHP version.

Använder själv detta:

Kod:
<?php
session_start
();

if (!isset(
$_SESSION['sess_user'])){
  
header("Location: login.php");
  exit;
}
 
?>
Forum: PHP
2011-06-04, 19:21
Citat:
Ursprungligen postat av z0mfg(ish)
Testa
Kod:
error_reporting(E_ALL);
session_start();
if(!isset(
$_SESSION['username']))
{
     
header("Location: blargh.php");

Kör skriptet - får du felkoder, posta de här, annars blir det svårt att hjälpa till.

Får inga felkoder.

Citat:
Ursprungligen postat av Zaedrews
Kanske beror på PHP version.

Använder själv detta:

Kod:
<?php
session_start
();

if (!isset(
$_SESSION['sess_user'])){
  
header("Location: login.php");
  exit;
}
 
?>

Saken är ju den att session_is_registered(username) fungerar. Det är inte problemet. Testade denna kod på ett par sidor:
Kod:
<?php header("location:index.php"); ?>
Det fungerade på alla sidor förutom där jag skall använda det. Får väl ta bort den sidan och skapa en ny kanske?

EDIT: Kopierade sidan och klistrade in och ersatte och nu fungerar det. Skön bugg.

Btw, är det någon som har känt av att det tar tid för filerna att sparas på One.com? Speciellt PHP-includes. Får spara många gånger innan den tillslut godtar det. Känns som om jag alltid behöver lägga till mer tecken i dokumentet för att den skall spara. Samma med CSSen.
Forum: PHP
2011-06-05, 13:11
Är det bara jag som reagerar på att du inte satt den absoluta URL'n i header()? Apache brukar oftast kunna skriva om t.ex. adressen så login.php blir http://dindomän.se/login.php men man skall aldrig anta det. Sedan brukar flera webbläsare gissa var login.php ligger men det är enligt RFC standarden fel att bara skriva Location: login.php

Kod:
<?php
session_start
();
if(!isset(
$_SESSION['username'])) { //nej jag bryr mig inte om det fungerar med session_is_registered, det är gammalt och kommer tas bort.
header("Location: http://dindomän.se/login.php");
die();
}
?>
Forum: PHP
2011-06-05, 14:51
Citat:
Ursprungligen postat av Chevron
Blir det någon skillnad (felmeddelande) om du lägger dit en utskrift innan header()?
Kod:
<?php
echo "lite innehall...";
session_start();
if(!session_is_registered(username)) {
header("Location:login.php");
exit(); // Dessutom, har du mer kod nedanför måste du explicit se till att den inte exekveras
}
?>

Ingen skillnad. Den vill inte redirecta ändå, fast echon fungerar. Men som sagt. Tror inte att det är fel på koden, utan one.com. Det har strulat lite förut.

Citat:
Ursprungligen postat av xid0n
Är det bara jag som reagerar på att du inte satt den absoluta URL'n i header()? Apache brukar oftast kunna skriva om t.ex. adressen så login.php blir http://dindomän.se/login.php men man skall aldrig anta det. Sedan brukar flera webbläsare gissa var login.php ligger men det är enligt RFC standarden fel att bara skriva Location: login.php

Kod:
<?php
session_start
();
if(!isset(
$_SESSION['username'])) { //nej jag bryr mig inte om det fungerar med session_is_registered, det är gammalt och kommer tas bort.
header("Location: http://dindomän.se/login.php");
die();
}
?>

Okej bra att veta att det kommer försvinna. Får byta ut då. Okej om det inte är helt optimalt kodat men det har alltid fungerat med bara filen så länge den ligger i samma directory. Men skall testa hela URLen.
Forum: PHP
2011-06-13, 15:33
Problemet med header(); är fixat. Men jag måste byta ut session_is_registered(username) överallt på sidan där jag använt det. Har testat runt med
Kod:
<?php 
session_start
(); 
if(!isset(
$_SESSION['username'])) { 
header("Location: http://dindomän.se/login.php"); 
die(); 

?>
För att upptäcka om man är inloggad eller ej. Behöver hjälp med exakt hur jag skall registrera ett session samt upptäcka om den är satt eller ej. Såhär ser det ut nu:

Kod:
//Kollar om det är rätt användarnamn & lösen och registrerar sessions.
if($count==1) {
session_register("username");
session_register("password");
header("location:admin.php");


Måste jag ändra session_register("username"); till något annat för att det skall fungera eller?

EDIT: Det fungerar alltså med

Kod:
<?php
session_start
();
if(!
session_is_registered(username)) {
header("location:login.php");
die;
}
?>

Men inte

Kod:
<?php 
session_start
(); 
if(!isset(
$_SESSION['username'])) { 
header("Location: http://dindomän.se/login.php"); 
die(); 

?>
Forum: PHP
2011-06-13, 17:05
Så jag skall registrerar såhär:
Kod:
if($count==1) {
$_SESSION['username'] = "username";
$_SESSION['password'] = "password";

Och kolla såhär?
Kod:
<?php  
session_start
();  
if(!isset(
$_SESSION['username'])) {  
header("Location: http://dindomän.se/login.php");  
die();  
}  
?>