Seite 3 von 4

Verfasst: 04.01.2008 16:33
von Pyramide
Warum benutzt du nicht einfach das Session-System von PHP?

Verfasst: 04.01.2008 16:53
von Sincer
ok, super, danke ;)

also wenn ich alles richtig verstanden habe, müsste der code jetzt so passen:

Code: Alles auswählen

<?php

session_start();
if(!isset($_SESSION['time_started']))
{
//hier wird die aktuelle Zeit festgehalten:

$_SESSION['time_started'] = time();

// hier wird die session für die IP bestimmt:

$_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
}

if ($_SERVER['REMOTE_ADDR'] != $_SESSION['IP'])
{
die("IP-Change");
}

else if(time() - $_SESSION['time_started'] > 3600)
{
// Mehr als eine Stunde rum:
echo "Auto-Logout nach einer Stunde!";
<br>
echo "Logge dich <a href="http://sincer.lima-city.de/>hier</a> erneut ein!

// die IP löschen:
session_destroy();

die();
}

?>
stimmt der code so?

danke für die hilfe :)
Sincer

PS: lol -> die = exit :P

Verfasst: 04.01.2008 17:22
von Boecki91
Wenn du jetzt noch die HTML-Syntax Fehler beseitigst,

könntest du es doch einfach mal testen.

Verfasst: 04.01.2008 17:30
von Sincer
also so...?

Code: Alles auswählen

else if(time() - $_SESSION['time_started'] > 3600)
{
// Mehr als eine Stunde rum:
?>
<center>
<?php
echo "Auto-Logout nach einer Stunde!";
?>
<br>
echo "Logge dich 
?>
<a href="http://sincer.lima-city.de/>hier</a> 
<?php
erneut ein!";
?>
</center>
<?php

// die IP löschen:
session_destroy();

die();
}
meinst du so... oder hast du nur das fehlende "; nach dem echo gemeint?

lg
Sincer

Verfasst: 04.01.2008 17:39
von Boecki91
Wie wäre es wenn du etwas experimentierfreudiger wärst das hier ist keine "Ich mach dir was komplett fertig" Kategorie sondern eine die sich mit Coding beschäftigt. Und zum Programmieren gehört das Probieren dazu.

Die kommende Fehlermeldung deuten und zu beheben gehört auch dazu

Verfasst: 04.01.2008 17:48
von Sincer
sry, ja, war ja nebenbei dabei :P

also, hab das hochgeladen...

Code: Alles auswählen

<html>
<head>
<title>online-test</title>
</head>
<body>

<?php

session_start();
if(!isset($_SESSION['time_started']))
{
//hier wird die aktuelle Zeit festgehalten:

$_SESSION['time_started'] = time();

// hier wird die session für die IP bestimmt:

$_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
}

if ($_SERVER['REMOTE_ADDR'] != $_SESSION['IP'])
{
die("IP-Change");
}

else if(time() - $_SESSION['time_started'] > 3600)
{
// Mehr als eine Stunde rum:
echo "Auto-Logout nach einer Stunde!<br>";
echo "Logge dich <a href="http://sincer.lima-city.de/>hier</a> erneut ein!";

// die IP löschen:
session_destroy();

die();
}

?>

</body>
</html>
und follgende fehler wurde ausgegeben:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/webpages/lima-city/sincer/html/intern/online.php on line 30

zeile 30 ist diese hier:
echo "Logge dich <a href="http://sincer.lima-city.de/>hier</a> erneut ein!";

aber da ist doch ein ; am ende... ?!?

was ist da falsch?

thx
Sincer

//EDIT: und wenn ich meine 2. variante ausprobiere, also die, wo ich dauernd das php script unterbreche, kommt der gleiche fehler, in dieser zeile: erneut ein!";

also, ka, was das teil von mir will :(

Verfasst: 04.01.2008 17:56
von Boecki91
hast du dir schon malGedanken gemacht warum ein " am Anfang und am Ende steht? Was denkt der PHP-Verarbeiter wohl wenn ein " in der Mitte ist?

Genau, da ist Ende und was kommt nach so einem Ende? genau ein ;

Bitte verstehe erst Grundlagen bevor du dich an "Login-Systeme" setzt:
http://www.php.net/manual/de/function.echo.php
http://tut.php-quake.net/ausgabe.html

Verfasst: 04.01.2008 18:04
von Sincer
shit, dreck, das hatte ich übersehen...flüchtigkeitsfehler XD
ok, hab das " gelöscht...

jetzt habe ich follgende fehlermeldungen:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/webpages/lima-city/sincer/html/intern/online.php:7) in /home/webpages/lima-city/sincer/html/intern/online.php on line 9

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/webpages/lima-city/sincer/html/intern/online.php:7) in /home/webpages/lima-city/sincer/html/intern/online.php on line 9
in zeile 9 steht: session_start();

:(
Sincer

Verfasst: 04.01.2008 18:07
von Boecki91

Verfasst: 04.01.2008 18:21
von Sincer
...?!?...
*blind bin*
die bsp's dort dangen doch auch mit session_start(); an, so wie mein script...
wo ist dann der unterschied?
warum funktioniert meines nicht?

Sincer checkt das mal wieder nicht :(
Sincer