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

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken 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 04.10.2006, 16:29:44
Greenleon Greenleon ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 110
Counter mit Mysql und IP Sperre

hallo...

Ich habe mal angefangen mir einen Counter zu scripten. Da mein Anbieter Datenbanken zur verfuegung stellt habe ich den Counter mit Mysql angefangen...

Der normale Counter funktioniert schon aber die IP Sperre will nicht so ganz^^

Hier mal der Quellcode

Code:
<?php

	#Auf die Datenbank zugreifen
	
	require('dblogin.inc.php');
	$db= mysql_connect(DB_HOST, DB_USER, DB_PASS);
	mysql_select_db(DB_NAME_1, $db);
	
	
	#Gesamt auslesen und updaten
	
	$gesamt_obj = mysql_fetch_object( mysql_query("SELECT gesamt FROM gs_counter WHERE id='1'",$db));

	
	$datum_heute = date("ymd");
	$user_ip = $_SERVER['REMOTE_ADDR'];
	
	
	#Felder Loeschen, welche nicht vom heutigen Tag stammen

	mysql_query("DELETE FROM gs_ips WHERE date < '".$datum_heute."'");
	
		
	#Abfragen ob die IP des aktuellen Clienten schon gespeichert ist
	
	$treffer = mysql_num_rows("SELECT * FROM counter_ip WHERE ip == $user_ip");
	
	if($treffer == 0)
		{
		mysql_query("INSERT INTO gs_ips (ip) VALUES ('$user_ip')"); #IP des aktuellen Clienten speichern
		$gesamt_neu = ++$gesamt_obj->gesamt;
		mysql_query("UPDATE gs_counter SET gesamt='$gesamt_neu' WHERE id='1'",$db);

		}else{
		$gesamt_neu = $gesamt_obj->gesamt;
		};
	


	#Verbindung trennen
	
	mysql_close($db);
?>
Mit dem Code meckert der aber immer und zwar

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...URL... .php on line 26
Mit Zitat antworten
  #2  
Alt 04.10.2006, 16:37:31
Benutzerbild von Private_pAuLa
Private_pAuLa Private_pAuLa ist offline
Anfänger
 
Registriert seit: Oct 2006
Alter: 40
Beiträge: 14
AW: Counter mit Mysql und IP Sperre

Zitat:
Zitat von Greenleon

[..]

#Abfragen ob die IP des aktuellen Clienten schon gespeichert ist

$treffer = mysql_num_rows("SELECT * FROM counter_ip WHERE ip == $user_ip");

if($treffer == 0)
{
mysql_query("INSERT INTO gs_ips (ip) VALUES ('$user_ip')");

[..]

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...URL... .php on line 26
ich mag mich irren, aber ich glaube du musst das ganze so formulieren:
PHP-Code:
$RS mysql_query("SELECT * FROM counter_ip WHERE ip == $user_ip");
$treffer mysql_num_rows($RS); 
und dann if( !$treffer ) und so weiter

also erst ne abfrage und dann schauen wieviele zeilen die abfrage gefunden hat...

wenn ich falsch liegen sollte verbessert mich bitte!!

Geändert von Private_pAuLa (04.10.2006 um 16:44:02 Uhr)
Mit Zitat antworten
  #3  
Alt 04.10.2006, 16:44:28
MatMel MatMel ist offline
Member
 
Registriert seit: Aug 2005
Beiträge: 644
MatMel eine Nachricht über ICQ schicken
AW: Counter mit Mysql und IP Sperre

Zitat:
Zitat von Private_pAuLa
und dann if( !$treffer ) und so weiter
Das mit dem == 0 kann er beibehalten, da mysql_num_rows 0 zurückgibt, wenn keine Zeile vorhanden ist.
Ansonsten stimmts was du geschreiben hast;)

Geändert von MatMel (04.10.2006 um 16:44:42 Uhr)
Mit Zitat antworten
  #4  
Alt 04.10.2006, 17:36:31
Greenleon Greenleon ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 110
AW: Counter mit Mysql und IP Sperre

hat leider nix genuetzt....
Mit Zitat antworten
  #5  
Alt 04.10.2006, 17:41:24
MatMel MatMel ist offline
Member
 
Registriert seit: Aug 2005
Beiträge: 644
MatMel eine Nachricht über ICQ schicken
AW: Counter mit Mysql und IP Sperre

Kommt noch der gleiche Fehler oder was kommt jetzt ?
Mit Zitat antworten
  #6  
Alt 04.10.2006, 17:46:02
Greenleon Greenleon ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 110
AW: Counter mit Mysql und IP Sperre

genau das^^
Mit Zitat antworten
  #7  
Alt 04.10.2006, 17:47:09
Greenleon Greenleon ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 110
AW: Counter mit Mysql und IP Sperre

achja ich hatte eben 400 mal meine ip in der datenbank..
Mit Zitat antworten
  #8  
Alt 04.10.2006, 18:05:11
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
AW: Counter mit Mysql und IP Sperre

Zitat:
PHP-Code:
$RS mysql_query("SELECT * FROM counter_ip WHERE ip == $user_ip");
$treffer mysql_num_rows($RS); 
Doppelte Gleichheitszeichen sind hier falsch.
Du musst single-quoten, da die IP kein Integer ist.
Währen der Entwicklung immer "or die mysql_error()" verwenden, das bringt wichtige Hinweise auf mögl. Fehler.
PHP-Code:
$RS mysql_query("SELECT * FROM counter_ip WHERE ip = '$user_ip'") or die(mysql_error());
$treffer mysql_num_rows($RS); 
Mit Zitat antworten
  #9  
Alt 04.10.2006, 18:36:35
Greenleon Greenleon ist offline
Anfänger
 
Registriert seit: Oct 2006
Beiträge: 110
AW: Counter mit Mysql und IP Sperre

danke fuer den tipp.... ich bemerkte naemlich gerade dass ich mich zusaetzlich noch beim tabellennamen verschrieben hab^^


so... waer cool wenn mir noch jemand helfen koennte eine, gesamt, heute und gestern funktion einzubauen!

Geändert von Greenleon (04.10.2006 um 18:53:37 Uhr)
Mit Zitat antworten
  #10  
Alt 04.10.2006, 20:36:14
MatMel MatMel ist offline
Member
 
Registriert seit: Aug 2005
Beiträge: 644
MatMel eine Nachricht über ICQ schicken
AW: Counter mit Mysql und IP Sperre

Speichere die Zeit am besten als Timestamp.
Dann kannst du mit folgenden Bedingungen arbeiten:

$gespeicherte_zeit > time() - 3600 => heute
$gespeicherte_zeit < time() - 3600 AND $gespeicherte_zeit > time() - 7200 =>gestern
keine Bediungung => gesamt
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
Ich will mir einen Counter mit php und MySQL programmieren... Chrissitopher PHP Grundlagen 5 21.02.2006 07:52:32
mysql datenbank und counter Redu MySQLi/PDO/(MySQL) 1 10.08.2004 08:11:54
php und MySQL Timestamp crowl MySQLi/PDO/(MySQL) 3 08.07.2004 00:33:33
MySQL - ORDER BY RAND() und PHP MacMarc PHP Grundlagen 15 05.12.2002 22:23:39
suche PHP Counter mit IP Sperre & OHNE MySQL, Cookies, SSI Pfanni PHP Grundlagen 4 15.03.2002 10:28:55


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:56:00 Uhr.


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


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