[php] ip-log, und time-log

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Warum benutzt du nicht einfach das Session-System von PHP?
KB:knigge
Benutzeravatar
Sincer
Mitglied
Beiträge: 26
Registriert: 03.01.2008 19:25

Beitrag 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
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Wenn du jetzt noch die HTML-Syntax Fehler beseitigst,

könntest du es doch einfach mal testen.
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Benutzeravatar
Sincer
Mitglied
Beiträge: 26
Registriert: 03.01.2008 19:25

Beitrag 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
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag 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
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Benutzeravatar
Sincer
Mitglied
Beiträge: 26
Registriert: 03.01.2008 19:25

Beitrag 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 :(
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag 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
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Benutzeravatar
Sincer
Mitglied
Beiträge: 26
Registriert: 03.01.2008 19:25

Beitrag 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
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Beitrag von Boecki91 »

Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Benutzeravatar
Sincer
Mitglied
Beiträge: 26
Registriert: 03.01.2008 19:25

Beitrag 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
Antworten

Zurück zu „Coding & Technik“