php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.06.2004, 20:32  
Gast
 
Beiträge: n/a
Standard Reload sperre counter

hi,

habe für meinen counter eine reloadsperre geschrieben nur leider sperrt sie nicht so richtig
wäre nett wenn jemand mal schauen könnte wo der fehler liegt
Code:
<?
include("db_connect.php");
?>
<html>
<body>
<?php
$ip=getenv("REMOTE_ADDR"); //Ip adresse ermitteln
$uhr=date(U);
$anfru="SELECT Datum FROM ip";
$ergu=mysql_query($anfru);//gespeicherte uhrzeiten holen
$zuhr=mysql_fetch_row($ergu);//zeit ins array
$anfrip="SELECT ip FROM ip";
$ergip=mysql_query($anfrip);
$zip=mysql_fetch_row($ergip);//ip in array schreiben
$num_rows=mysql_num_rows($ergip);//anzahl der datensätze ermitteln
$anfrage="SELECT * FROM counter";
$ergebniss=mysql_query($anfrage);
$zeile=mysql_fetch_row($ergebniss); //ergebniss in array schreiben 
for ($a=0;$a<=$num_rows;$a++) {
	if ($ip==$zip[$a] && ($uhr+360)<$zuhr[$a])
		{$aktuell=$zeile[0];
		
	}
	else {
		$aktuell=$zeile[0]+1;
		$eintrag="INSERT INTO ip (ip, Datum) VALUES 
		('$ip', '$uhr')";
		$eintragen=mysql_query($eintrag);
	}
}
$anfrage="UPDATE counter SET zahl='";
$anfrage.=$aktuell;
$anfrage.="'"; //UPDATE Anfrage zusammensetzen
mysql_query($anfrage)or die ("Fehler bei Datenbank Update");
mysql_close($db);//Datenbank schliessen
//jetzt folgt die Anzeige des Zählerstandes
$laenge=strlen($aktuell);
for($a=0;$a<$laenge;$a++) {
	$zahl=substr($aktuell,$a,1);
	if($zahl=="0") {
		echo "[img]images/counter/00.gif[/img]";
	}
habe mal den rest am schluss weggelassen
habe gerade gesehen er speichert nur xx.xx von der ip, was für ein feld muss es in der mysql sein damit er die ip komplett speichern kann?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.06.2004, 22:02  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

nimm mal Varchar 30 für die IP

Gruss Simon
Simon9990 ist offline  
Alt 20.06.2004, 22:16  
Gast
 
Beiträge: n/a
Standard

er speichert alles wunderbar ab nur irgendiwe scheint was in meinen if net zu stimmen denn er verlässt die abfrage immer mit else.
und warum verdoppelt sich der wert $num_rows jedesmal beim neuladen? also zB. 7,15,31,63???
 
Alt 22.06.2004, 21:30  
Gast
 
Beiträge: n/a
Standard

*schieb*

wiss keiner woran es liegen könnte?
 
Alt 23.06.2004, 09:57  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Das liegt nicht an deiner if-Abfrage, sondern an deiner komischen for-Schleife. Der Array $zip hat genau ein Element: die erste ip aus der Tabelle ip. Genauso, wie der Array $zuhr nur das erste Datum aus ip und $zeile den Inhalt des ersten Satzes aus counter enthält. Also könnte höchstens der erste Durchlauf der Schleife True ergeben. Alle anderen sind immer False und werden entsprechendneu in die DB eingetragen. Deshalb die Verdoppelung von $num_rows.
Da ich aus deinem Code leider nicht erkennen kann, was du erreichen willst, kann ich dir auch nicht sagen wie du das besser lösen könntest.
__________________
Gruss
L
lazydog ist offline  
Alt 23.06.2004, 17:57  
Gast
 
Beiträge: n/a
Standard

ich versuch zu verhindern das wenn jemand innerhald von einer bestimmten zeit wieder auf die seite geht das der counter nochmal erhöht wird.
die for schleife dachte ich muss sein um alle einträge der datenbank durchzusuchen
 
Alt 23.06.2004, 19:13  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

prinzip:
Code:
$sql = "SELECT id FROM tabelle WHERE ip ='" . $_SERVER['REMOTE_ADDR']. "'";

$res = mysql_query($sql) or die (mysql_error());

if ( mysql_num_rows($res) == 0 )  
{
    # counter erhöhen
}
du kannst das auch mit ner session lösen .. einfach in der session speichern, ob mit dieser session_id schon einmal der counter erhöht wurde oder nicht ..

grüße ben ..
imported_Ben ist offline  
Alt 23.06.2004, 19:37  
Gast
 
Beiträge: n/a
Standard

danke für die antwort werde es morgen mal testen
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Counter in "selbstgestrickte" Homepage - wie? magro PHP Tipps 2008 11 30.03.2008 16:37
Reload - Sperre bei Datenübermittlung an MySQL? Stümper PHP Tipps 2006 3 12.06.2006 02:11
ein counter - und berechnungen netti PHP Tipps 2005-2 11 24.10.2005 21:03
PHP-Counter reload im bezug auf w3 netti PHP Tipps 2005 4 08.05.2005 16:18
Counter funktioniert, aber trotzdem wird Fehler gezeigt ... PHP Tipps 2005 4 07.03.2005 17:56
Counter & Realodsperre PHP Tipps 2005 3 20.02.2005 16:27
Problem mit counter HTML, Usability und Barrierefreiheit 10 12.01.2005 06:04
Counter für registrierte user PHP Tipps 2004-2 3 26.12.2004 11:32
Reload Sperre bei Rating Script! PHP Tipps 2004-2 4 15.12.2004 14:25
Counter sperre mit Session PHP Tipps 2004-2 3 05.12.2004 13:30
counter mit reload - ip zur unterscheidung nicht eindeutig PHP Tipps 2004 6 09.09.2004 20:39
counter verschwindet immer! HILFE! PHP Tipps 2004 2 30.08.2004 11:02
counter mit ip sperre PHP Tipps 2004 9 08.08.2004 15:50
counter für gallerie Sclot PHP Tipps 2004 2 05.07.2004 15:36
Problem mit einem Counter JeeZ PHP Tipps 2004 6 18.06.2004 13:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php counter mit reloadsperre, counter was ist ein reload, counter php reloadsperre, counter mit session sperre, php counter mit aktualisierung sperre, php counter reload, php counter mit session sperre, php counter sessions reloadsperre, counter php ip sperre, php reloadsperre, html counter mit reloadsperre

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.