SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 14.07.2006, 16:04:22
theaims theaims ist offline
Anfänger
 
Registriert seit: Jun 2006
Beiträge: 70
Login Script mit Session Timout

Ich wollte gerade in ein Login Script ein Session Timeout einbauen. Dazu benutze ich diesen code:

PHP-Code:
session_start ();
$_SESSION["start"] = time( );
if (!isset (
$_SESSION["user_id"])) {
if (
$_SESSION["start"] - time( )) > (60*10)){
header ("Location: logout.php");
}
else {
header ("Location: formular.php");
}
}
else {
header ("Location: logout.php");


So nun habe ich diese Code so eingebaut:

PHP-Code:
<?php session_start ();
$_SESSION["start"] = time( );
if (!isset (
$_SESSION["user_id"])) {
if (
$_SESSION["start"] - time( )) > (60*10)){
header ("Location: logout.php");
}
else {
header ("Location: formular.php");
}
}
else {
header ("Location: logout.php");
{
?>
<html> 
<head> 
  <title>Login</title> 
</head> 

<body> 
<?php 
if (isset ($_REQUEST["fehler"])) 

  echo 
"Die Zugangsdaten waren ungültig."

?> 
<form action="login.php" method="post"> 
  Name: <input type="text" name="name" size="20"><br> 
  Kennwort: <input type="password" name="pwd" size="20"><br> 
  <input type="submit" value="Login"> 
</form> 
</body> 
</html>
Ist das alles so richtig?

Weil ich bekomme immer

Parse error: parse error, unexpected '>' in

Das ist diese Zeile:

PHP-Code:
if ($_SESSION["start"] - time( )) > (60*10)){ 
Mit Zitat antworten
  #2  
Alt 14.07.2006, 16:25:50
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Login Script mit Session Timout

Schau dir mal die Anzahl der runden Klammern in der entsprechenden Zeile an.
Mit Zitat antworten
  #3  
Alt 14.07.2006, 16:35:48
theaims theaims ist offline
Anfänger
 
Registriert seit: Jun 2006
Beiträge: 70
AW: Login Script mit Session Timout

Hm leider gibt es keinen timeout.

Also ich habe diese dateien:

formular.php

PHP-Code:
session_start ();  // habe den code noch ein wenig verändert
if (isset ($_SESSION['start'])) {
  if ($_SESSION['start'] < time()-60*0) {
    session_destroy;
}
}
else {
  $_SESSION['start'] = time();
}  
?>
<html> 
<head> 
  <title>Login</title> 
</head> 

<body> 
<?php 
if (isset ($_REQUEST["fehler"])) 

  echo 
"Die Zugangsdaten waren ungültig."

?> 
<form action="login.php" method="post"> 
  Name: <input type="text" name="name" size="20"><br> 
  Kennwort: <input type="password" name="pwd" size="20"><br> 
  <input type="submit" value="Login"> 
</form> 
</body> 
</html>

login.php

PHP-Code:
// Session starten
session_start ();

// Datenbankverbindung aufbauen 
$connectionid mysql_connect ("localhost""root""stargate"); 
if (!
mysql_select_db ("uebersetzer"$connectionid)) 

  die (
"Keine Verbindung zur Datenbank"); 


$sql "SELECT "
    
"Id, Nickname, Nachname, Vorname "
  
"FROM "
    
"benutzerdaten "
  
"WHERE "
    
"(Nickname like '".$_REQUEST["name"]."') AND "
    
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')"
$result mysql_query ($sql); 

if (
mysql_num_rows ($result) > 0

  
// Benutzerdaten in ein Array auslesen. 
  
$data mysql_fetch_array ($result); 

  
// Sessionvariablen erstellen und registrieren 
  
$_SESSION["user_id"] = $data["Id"]; 
  
$_SESSION["user_nickname"] = $data["Nickname"]; 
  
$_SESSION["user_nachname"] = $data["Nachname"]; 
  
$_SESSION["user_vorname"] = $data["Vorname"]; 

  
header ("Location: intern.php"); 

else 

  
header ("Location: formular.php?fehler=1"); 

intern.php

PHP-Code:
include ("checkuser.php");

// und halt der inhalt 

checkuser.php

PHP-Code:
session_start (); 
if (!isset (
$_SESSION["user_id"])) 

  
header ("Location: formular.php"); 

Mit Zitat antworten
  #4  
Alt 14.07.2006, 17:12:58
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: Login Script mit Session Timout

Hast du schon mal 60 x 0 gerechnet/multipliziert?
__________________
Grüße Andes
Mit Zitat antworten
  #5  
Alt 14.07.2006, 18:10:42
theaims theaims ist offline
Anfänger
 
Registriert seit: Jun 2006
Beiträge: 70
AW: Login Script mit Session Timout

Auch so kein Timeout:

PHP-Code:
session_start ();
if (isset (
$_SESSION['start'])) {
  if (
$_SESSION['start'] < time()-60*1) {
    
session_destroy;
}
}
else {
  
$_SESSION['start'] = time();

Muss ich noch etwas an den anderen Dateien verändern?

Geändert von theaims (14.07.2006 um 18:11:02 Uhr)
Mit Zitat antworten
  #6  
Alt 14.07.2006, 18:55:42
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Login Script mit Session Timout

session_destroy() ist eine Funktion. Dementsprechend fehlen dort die abschließenden runden Klammern.
Setze während der Erstellung deiner Scripte auch error_reporting auf E_ALL um entsprechende Fehlermeldung und Warnungen angezeigt zu bekommen.
Mit Zitat antworten
  #7  
Alt 14.07.2006, 19:16:39
theaims theaims ist offline
Anfänger
 
Registriert seit: Jun 2006
Beiträge: 70
AW: Login Script mit Session Timout

Habe das jetzt geändert aber ich fliege immer noch nicht nach einer minute raus.

Es komme keine Fehlermeldungen.

PHP-Code:
error_reporting(E_ALL);
session_start ();
if (isset (
$_SESSION['start'])) {
  if (
$_SESSION['start'] < time()-60*1) {
    
session_destroy();
}
}
else {
  
$_SESSION['start'] = time();

Mit Zitat antworten
  #8  
Alt 14.07.2006, 19:36:18
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Login Script mit Session Timout

Welche(r) der Blöcke wird / werden durchlaufen?
Mit Zitat antworten
  #9  
Alt 14.07.2006, 19:49:16
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: Login Script mit Session Timout

Bist du dir sicher, dass $_SESSION['start'] existiert?
__________________
Grüße Andes
Mit Zitat antworten
  #10  
Alt 14.07.2006, 19:52:58
theaims theaims ist offline
Anfänger
 
Registriert seit: Jun 2006
Beiträge: 70
AW: Login Script mit Session Timout

Damit wird das doch definiert oder?

PHP-Code:
session_start (); 
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bei Session Login - Wie kann ich einen direkter Zugriff über URL verhindern? Ladbroke PHP Grundlagen 1 19.04.2006 18:28:57
ftp login script geht nicht Said PHP Grundlagen 7 23.03.2006 19:15:46
In Template System Login Script mit Sessions einfügen Thomapyrien PHP für Fortgeschrittene und Experten 10 13.03.2005 03:19:45
Downloadproblem mitm Login Script Robschwelm PHP Grundlagen 6 28.09.2004 12:21:09
Login Logout Script KlausMotz PHP für Fortgeschrittene und Experten 9 16.01.2003 21:29:06


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:35:58 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt