Geschützer bereich mit mysql
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beitrag
benutzer
benutzername
besucher
daten
eintrag
gel
hilfe
insert
nebensache
page
sache
schreibe
statistik
status
stehen
tabelle
user
verfahren
versuchen
-
Hi,
ich versuche schon seit tagen einen gesch?tzten bereich mit if schleifen zu erstellen die auf mysql abfragen funktionieren.
sobald der benutzer auf die page kommt soll seine ip in der datenbank zu geordnet werden und dabei wird ihm eine id zugewiesen mit INT und auto_inc
Die id wird dann mit in der url ?bergeben!
sache ist auchd as ich damit auch die klicks und unregestrierten wie auch regestrierte besucher damit z?hlen m?chte!
nur stimmt etwas mit bedingungen nicht und da mein wissen noch ziemlich beschr?nkt ist und ich vieles noch nicht kenne w?rde ich mich sehr ?ber hilfe freuen....
wenn mir jemand zeigen kann wie man es richtig oder besser macht bin ich sehr dankbar!
<?php
$time = time();
$stamp = $time+3600;
$sql_ipcon = "SELECT * FROM sid WHERE ip='$user_ip'";
$ergebnis_con = mysql_query($sql_ipcon);
while($row = mysql_fetch_object($ergebnis_con))
{
$ip = $row->ip;
$sid_old = $row->sid;
$tstamp = $row->tstamp;
$status = $row->status;
$klicks = $row->klicks;
$user_id = $row->user_id;
}
if ($user_ip == "$ip" && $sid == "$sid_old" && $time <= "$tstamp")
{
if ($status == "Unregestriert")
{
include ("templates/navi_unreg.php");
}
elseif ($status == "Registriert")
{
include ("templates/navi_reg.php");
}
elseif ($status == "Member")
{
include ("templates/navi_mem.php");
}
elseif ($status == "Admin")
{
include ("templates/navi_admin.php");
}
}
elseif ($user_ip == "$ip" && $sid == "$sid_old" && $time > "$tstamp")
{
$eintrag = "INSERT INTO sid
(ip, tstamp, status, klicks)
VALUES
('$user_ip', '$stamp', 'Unregestriert', '$klicks')";
$eintrag = mysql_query($eintrag);
$del = "Delete from sid where sid='$sid_old'";
mysql_query($del);
include ("templates/navi_unreg.php");
}
elseif ($user_ip == "$ip" && $sid != "$sid_old")
{
$eintrag = "INSERT INTO sid
(ip, tstamp, status, klicks)
VALUES
('$user_ip', '$stamp', 'Unregestriert', '$klicks')";
$eintrag = mysql_query($eintrag);
$del = "Delete from sid where sid='$sid_old'";
mysql_query($del);
echo $time;
include ("templates/navi_unreg.php");
}
elseif ($user_ip != "$ip")
{
$eintrag = "INSERT INTO sid
(ip, tstamp, status)
VALUES
('$user_ip', '$stamp', 'Unregestriert')";
$eintrag = mysql_query($eintrag);
include ("templates/navi_unreg.php");
}
?>
Beitrag ge?ndert am 23.04.2006 16:16 von stevestyxx -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich weiss das es nicht gut ist das ich hier jetzt nochmal schreibe aber kann mir damit keiner helfen?
-
Ganz du nochmal klar forumlieren was du erreichen m?chest..
Geht es hier um die User Statistik oder um einen interen Bereich?
Was genau soll das Script bewirken? Vll kannst du mit einer anderne Datenbank Stuktur das Ziel einfacher erreichen. -
Ich habe eine tabelle 'users' wo die daten von den regestrierten benutzern drin steht.
Ich habe eine tabelle 'sid' wo die ips eingetragen werden die heute auf der page waren oder sind.
Sobald sich ein regestrierter benutzer einloggt wird aus der tabelle 'users' der status (ob er Registriert,Member oder Admin ist) an die tabelle 'sid' ?bergeben und dort eingetragen mit dem die ip ?bereinstimmt.
Dadurch wird nur einmal das pw und benutzername ?bermittelt ausserdem kann ich dann auch die leute z?hlen die gerade online sind und ich kann dadurch das dieses script jedesmal ausgef?hrt wird auch die klicks z?hlen die ein benutzer gemacht hat.
aber das mit den klicks ist erst mal nebensache.
Ich m?chte es halt gerne so haben das ein benutzer der die selbe ip wie in der db hat aber keine id in der url hat nicht dann doppelt drin stehen da ich sonst sp?ter wenn ich besucher z?hle dieser doppelt gez?hlt wird.
also muss die informationene die die db ?ber die ip gesammelt hat neu geschreiben werden und der alte eintrag gel?scht werden,dabei wird der status den die ip enth?lt zur?ck gesetzt auf Unregestriert und erh?lt eine neue id!
Die leute deren ip in der db gefunden wurden aber eine falsche id benutzen soll genauso verfahren werden wie wie vorher.
die leute bei denen die id wie auch ip ?bereinstimmt aber der timestamp ?lter als 1std.ist soll auch genauso verfahren werden wie vorher.
Wenn einem benutzer die ip,id und timestamp nicht ?lter als 1std.ist soll der status ?berpr?ft werden den die tabelle sid enth?lt und das jeweilige navi_***.php ausgeben.
Wenn eine ip in der db nicht gefunden wurde soll er diese ip in die db 'sid' schreiben mit time()+3600;und den status auf unregestriert setzten!
Hoffe das war gut umschrieben wie das am ende ablaufen soll!
Beitrag ge?ndert am 23.04.2006 17:54 von stevestyxx -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage