Session-Problem

corona

Erfahrenes Mitglied
Hallo,
ich habe ein paar Schnipsel Code im Netz gefunden und habe jetzt ein Problem.

Ich habe eine Login-Seite und viele "geschützte" Unterseiten.

Auf allen Unterseiten steht:
<?php
session_start();
if($_SESSION['emai'])
{
die ("Sie müssen sich einloggen!");
}
?>

Das ganze stimmt so aber nicht ganz, weil ja der Ausdruck "Sie müssen sich einloggen" immer dann erscheint wenn eine Session vorhanden ist. Ich will aber natürlich den anderen Fall. Also wenn keine Session vorhanden ist, soll der Ausdruck "Sie bla,,,," ausgegeben werden oder am besten zur Login-Seite gesprungen werden.

Also in etwa so:
<?php
session_start();
if($_SESSION['email'])
{
alles palletti, mache nichts!
} else {
gehe zur url:http://www.domain.de/login.php
}
?>

Wie schreibt man das aber in PHP?

Danke für jede Hilfe :rolleyes:
 
Versuchs ma mit:

PHP:
<?php
session_start();
if(!is_set($_SESSION['email'])) //das !is_set() überprüft, ob die Variable nicht gesetzt ist 
{
die ("Sie müssen sich einloggen!");
}
?>

oder mit Umleitung:

PHP:
<?php
session_start();
if(!is_set($_SESSION['email'])) //das !is_set() überprüft, ob die Variable nicht gesetzt ist 
{
echo  '<meta http-equiv="refresh" content="0;URL=login.php';
}
?>
 
Zuletzt bearbeitet:
Danke erst Mal. Bei dem ersten Script erscheint folgende Fehlermeldung:

Fatal error: Call to undefined function: is_set() in /var/www/web160/html/eintragen1.php on line 3

Line 3 ist die
if(!is_set($_SESSION['email']))

Beim zweiten Skript erscheint eine andere Fehlermeldung:

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/web160/html/eintragen1.php on line 5

Line 5 ist diesmal:
echo'<meta http-equiv="refresh" content="0;URL=login.php';

Was habe ich falsch gemacht? Hmmm.... :(

DANKE!
 
Sorry das i noch was sage aber corona du hast hast

$_SESSION['emai']

geschrieben und dsturm hat

$_SESSION['email']


eddit das war nicht auf deine fehler meldung bezogen!
 
Zuletzt bearbeitet:
Wenn dann
PHP:
<?php
session_start();
if($_SESSION['email']) {
    echo "eingeloggt";
} else {
    echo  '<meta http-equiv="refresh" content="0;URL=login.php';
}
?>
 
Du sollst ja auch was lernen corona

das heißt


if(!isset ($_SESSION["email"]))

isset();

i schreib a ab und zu blödsinn wir sind doch menschen
 
Zuletzt bearbeitet:
Achja das mit dem weiterleiten kannst du auch so machen mit

header ("Location: formular.php");

das script und das andere zu dem du verlinken willst müssen in einem ordner(bei meiner beschreibung)
 
Danke, danke für die Antworten.
Also ich habe den Code jetzt mal so gemacht wie diggity gesagt hat:
<?php
session_start();
if($_SESSION['email']) {
echo "eingeloggt";
} else {
echo'<meta http-equiv="refresh" content="0;URL=index.php';
}
?>

Doch leider erscheint folgende Fehlermeldung, die ich überhaupt nicht nachvollziehen kann:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /var/www/web160/html/eintragen1.php on line 4

Line 4 ist:
echo "eingeloggt";

Bin ich blind oder ist da auf Line 4 ein Fehler?

HILFEEE :(

Danke noch mal,
Gruss!
 
Ändere mal auf:

PHP:
echo '<meta http-equiv="refresh" content="0;URL=index.php">';

Da wurde der meta-Tag nich richtig geschlossen!
 
Zurück