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 ::

Das Zend Framework

Das Zend Framework 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 13.05.2010, 12:44:06
Poison Poison ist offline
Anfänger
 
Registriert seit: May 2010
Alter: 49
Beiträge: 9
Logfile erstellen und auslesen

Hallo Zusammen,

ich habe mir hier im Forum die Beiträge zum Thema "logfile auslesen" angesehen, konnte aber daraus keine Lösung für mich ableiten, was vielleicht auch daran liegt, dass ich teilweise nur Bahnhof verstehe.
Ich bin, was PHP angeht noch eine ziemliche NULL.

Ein Script für die Registrierung und zum einloggen meiner Besucher habe ich jetzt mit viel Mühe, Unterstützung in unterschiedlichen Foren und dem Lesen der verschiedenen PHP-Handbücher hingekriegt.
Hier das Script:

PHP-Code:
<?php
session_start
();
?>

<?php
error_reporting
(E_ALL);


if(empty(
$_POST["passwort"]))
{
$error =  "Du hast vergessen Dein Passwort anzugeben. <a href=\"eintragen.html\">Zurück</a>";
}
else if(empty(
$_POST["benutzername"]))
{
$error =  "Du hast vergessen Deinen Benutzernamen einzugeben. <a href=\"eintragen.html\">Zurück</a>";
}
else
{


$verbindung mysql_connect("localhost""Vesta" "vesta");

if(!
$verbindung)
{
$error =  "Deine Anmeldung ist leider fehlgeschlagen. Sollte die Anmeldung nochmals fehlschlagen sende 
mir bitte eine E-Mail: <a href=\"mailto:mail@potionmaster.de\">mail@potionmaster.de</a>"
;
}
else
{


mysql_select_db("homepage");

if(!
mysql_select_db("homepage"))
{
$error =  "Deine Anmeldung ist leider fehlgeschlagen. Sollte die Anmeldung nochmals fehlschlagen sende 
mir bitte eine E-Mail: 
<br>
<br><a href=\"mailto:mail@potionmaster.de\">mail@potionmaster.de</a>"
;
}
else
{


$passwort md5($_POST["passwort"]);

$abfrage "SELECT benutzername, passwort, login1 FROM rustleoaks WHERE benutzername= '" mysql_real_escape_string($_POST["benutzername"]) . "' LIMIT 1";
$ergebnis mysql_query($abfrage);
$row mysql_fetch_object($ergebnis);

if(!
$_POST["benutzername"] AND !$passwort)
{
$error =  "Du musst Dich zuerst registrieren.
<br>
<br><a href=\"eintragen.html\">Zurück</a>"
;
}
else
{


if(
$row->passwort != $passwort)
{
$error "Dein Benutzername und/oder Passwort waren falsch.
<br>
<br><a href=\"login.html\">Login</a>"
;
}
else
{
$_SESSION["username"] = $_POST["benutzername"];

if(
$row->login1==0)
{
$aendern "UPDATE rustleoaks Set
login1=1 WHERE benutzername='" 
mysql_real_escape_string($_SESSION["username"]) . "'";
$update mysql_query($aendern);

$aendern "UPDATE rustleoaks Set
galleonen=galleonen+20 WHERE benutzername='" 
mysql_real_escape_string($_SESSION["username"]) . "'";
$update mysql_query($aendern);
}
else
{
mysql_close ($verbindung);
}


// schließen der noch offenen "else" Anweisungen
}
}
}
}
}

if (!empty(
$error))
{
echo 
'<div class="error"><p>'.$error.'</p></div>';

else
{
echo 
"Hallo <b>".htmlspecialchars($_SESSION['username'])."</b>, schön das Du da bist!
<br> <a href=\"geheim.php\">Geschützer Bereich</a>"
;
}
?>
Wie ihr seht, bekommt mein Besucher bei seinem allerersten Besuch auf meiner Seite den Betrag von 20 Galleonen gutgeschrieben. Damit das nur einmal passiert, wird in der Spalte "login1" aus der Null eine 1. Funktioniert auch alles prima.

Nun möchte ich aber eine weitere Besonderheit einfügen. Einmal am Tag soll der Besucher beim LogIn eine Belohnung gutgeschrieben bekommen.
Also:
xy loggt sich am 01.05.2010 um 10:00 Uhr das erste Mal am Tag ein und erhält eine Galleone und drei Punkte. Beim LogIn um 14:00 und um 18:00 Uhr soll er keine Belohnung mehr erhalten.
Am nächsten Tag (02.05.2010, 11:00, erster Login an diesem Tag) bekommt er wieder seine Belohnung usw. usw.

Ich habe mir gedacht, am besten ließe sich das wohl mit einem Logfile realisieren, in dem der Tag, Uhrzeit und der Besucher eingetragen werden. Leider hapert es am Verständnis für die Umsetzung.
Ich habe mal was zusammengeschrieben, wobei ich nicht weiß, ob das so funktionieren könnte. Als erstes die Log-Datei:

PHP-Code:
<?php
$datum
=date("d.m.Y:");
$zeit=date("H:i:s");
$user=$_POST["benutzername"];

$eintragen="$user - - [$datum$zeit]";

$datei=fopen($dateiname,"a");
fputs($datei,"$eintragen\n");
fclose($datei);
?>
Und so hatte ich das im Script angedacht:

PHP-Code:
// die Überprüfung im Log-In Script vom Benutzernamen ist durchgeführt und 
// die 20 Galleonen sind bereits gutgeschrieben


$logdatei=file("logfile.txt");

$datum=date("d.m.Y:");
$zeit=date("H:i:s");
$user=$_SESSION["benutzername"];

foreach(
$logdatei AS $ausgabe)
   {
   
$zerlegen explode("|"$ausgabe);


if(
$ausgabe->user== "" AND $ausgabe->=="")
{
$aendern "UPDATE rustleoaks Set
punkte=punkte+3 WHERE benutzername='" 
mysql_real_escape_string($_SESSION["username"]) . "'";
$update mysql_query($aendern);

$aendern "UPDATE rustleoaks Set
galleonen=galleonen+1 WHERE benutzername='" 
mysql_real_escape_string($_SESSION["username"]) . "'";
$update mysql_query($aendern);

$eintragen="$user - - [$datum$zeit]";

$datei=fopen($dateiname,"a");
fputs($datei,"$eintragen\n");
fclose($datei);

echo 
"Hallo <b>$_SESSION["username"]</b>, schön das Du da bist!
echo Du erhälst 3 Punkte und 1 Galleone.
echo <br> <a href=\"geheim.php\">Geschützer Bereich</a>"
;
}
else
{
echo 
"Hallo <b>$_SESSION["username"]</b>, schön das Du da bist!
echo <br> <a href=\"geheim.php\">Geschützer Bereich</a>"
;

Ich bin für Anregungen, TIPPS und Verbesserungsvorschläge äußerst dankbar.

Liebe Grüße
Poison
Mit Zitat antworten
  #2  
Alt 16.05.2010, 22:08:16
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Logfile erstellen und auslesen

Hi

für mich persönlich postest du zuviel code ;)
man kann auch mehrere Spalten gleichzeitig updaten
PHP-Code:
$aendern "UPDATE rustleoaks Set
punkte=punkte+3,galleonen=galleonen+1 WHERE benutzername='" 
mysql_real_escape_string($_SESSION["username"]) . "'";
$update mysql_query($aendern); 
Vielleicht solltest du anhand des Datums überprüfen wann wer was bekommt.
Bsp. Datenbankfeld beim Benutzer Lastlogin (DATE)
Dann fragst du per CURDATE() ob Lastlogin< CURDATE() ist wenn ja kannst du
sogar die Tage berechnen wie lange er nicht mehr da war und ggf.
ihm dann danach alles berechnen. Das ganze kannst du beim login des
Benutzers abfrühstücken.

mfg

Ckaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
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
PHP-Error in eigenes Logfile schreiben AlexD PHP Grundlagen 4 20.03.2009 10:00:53
Auslesen und beschreiben einer MySQL Datenbank linux23 MySQLi/PDO/(MySQL) 8 10.12.2006 16:13:22
bestimmte unterschiedliche Werte aus MySQL-DB auslesen lassen QWERTCHEN PHP für Fortgeschrittene und Experten 4 24.01.2006 22:51:40
Erstellen einer Datei durch einen Script LLlypa PHP Grundlagen 3 05.06.2004 11:26:14
Anfänger: Datei auslesen und Statistik erstellen EyeDacor PHP Grundlagen 4 18.08.2003 02:37:09


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:57:46 Uhr.


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


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