counter-tut

vinc5nt

Erfahrenes Mitglied
huhu,
ich hab folgendes Problem doch vorrerst die schaffenden Umstände ... ich hab versucht das Counter tutorial (aus tutorials.de) zu machen doch leider hat dies nicht so ganz geklappt...wo wir auch schon beim Problem wären.
Ich habe die Tabellen per script installiert

mit diesem hier (ist auf wessentliche Funktion geschnitten):
PHP:
if ($method == "install") {
		if ($pass == "$installpw") {

			$query="CREATE TABLE ip (
                zeit int(10) default NULL,
                ip varchar(15) default NULL)";

             $query1="CREATE TABLE hits (
                hits int(10) default NULL)";


			if ($result = mysql_query($query)) echo "<font size=2 face=verdana color=green>ip Table succesfully installed!</font><br><br><font size=2 face=verdana><b></b>";
				else {
					$error=mysql_error();
					echo   "ERROR WHILE QUERY: ", $error, "<br>";
			             }
            if ($result1 = mysql_query($query1)) echo "<font size=2 face=verdana color=green>hits Table succesfully installed!</font><br><br><font size=2 face=verdana><b>»</b> <a href=\"news_admin.php\">News Administration</a>";
				else {
					$error1=mysql_error();
					echo   "ERROR WHILE QUERY: ", $error1, "<br>";
			             }

			  		 }
			else echo "<font size=1 face=verdana color=red>Wrong password!</font>";
			  }

und das ist der Counter :
PHP:
<html>
<head>
       <title>&gt;&gt;&gt;&gt;&gt;&gt;Counter</title>
       <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<?php
require("counter_config.inc.php");
$verbindung=mysql_connect($sqlhost,$sqluser,$sqlpass);

     if(!$verbindung)
     {
           echo "<br><center><b> - keine verbindung zur Datenbank - </b></center>";
           exit;
 }
     mysql_select_db($database);
     $sql=mysql_query("SELECT * FROM ip WHERE ip = '$REMOTE_ADDR'");
     if(mysql_num_rows($sql) < 1) {
         $zeit=time();
         mysql_query("UPDATE hits SET hits = hits + 1");
         mysql_query("INSERT INTO ip (zeit,ip) VALUES ('$zeit','$REMOTE_ADDR')");
     }
     $del=$zeit - 86400;
     mysql_query("DELETE FROM ip WHERE zeit < $del");
     
     $sql=mysql_query("SELECT * FROM hits WHERE hits > 0");
     $row=mysql_fetch_array($sql);
     echo $row["hits"];

?>

</body>
</html>

meine Frage ist jetzt:

Was ist hier kaputt ?
ich hab schon einiges ausprobiert, doch ich kriege keine fehlermeldung und auch kein anderes anzeichen irgendwelcher aktivitäten.
und ich denke mal dass die tables auch richtig erstellt wurden da ich beide male erfolgreiche Installtions meldungen bekam !

Ich weiß nicht mehr weiter :)



Vielen Dank
 
was heisst "beide male"
wenn du die install.php 2* ausführen konntest, stimmt was nicht. da du nicht ein tabelle 2 mal mit den gleichen namen erstellen kannst.

angaben zu mysql stimmen auch alle ?
 
mit beide male meinte ich dass ich sie schon öfter gelöscht und neu installiert habe und auch in unterschiedlichen wegen.
(wenn ich es versuche die Tables nochmal zu erstellen krieg ich ne Meldung das sie schon da sind -> also gibt es sie auch :))

die mysql daten müssten auch stimmen da ich die
counter_config.inc.php
auch als Vars-Speicher (nur mit anderem Namen) bei meinem News sys verwende und da kann ich sachen eintragen ... löschen würde bestimmt auch gehen wenn ich wüsste wie man sowas programmiert aber egal :)

ich hab mir jetzt überlegt das ich mal versuche die reloadsperre zu entfernen und dann zu gucken ob es dann geht... und dann stück für stück , baue ich sie wieder ein.
 
Also ich installiere Tabellen nur noch mit phpMyAdmin, da kann man auch gleich sehen, wo die Fehler sind.

$zeit=time();
in diese Tabelle: zeit int(10) default NULL, ??????

Kann mir nicht vorstellen, das das ohne Fehler abgeht.

Es macht eher Sinn, die Tabellen auf das Script und nicht das Script auf die Tabellen anzupassen.
 
Ich hab es jetzt hinbekommen ... ich glaub mein Problem war, dass es kein Grundwert gab wie selectus glaub ich schon meinte ... ich konnte nicht mit 0 anfangen ... deshalb hab ich das

PHP:
 if($hits[hits] < 1) {
         mysql_query("INSERT INTO hits (hits) VALUES ('1')");
     }

eingefügt und danach ging es dann eigentlich ... naja ich hab das ganze ding nochmal komplett neu gemacht und modifiziert (2 Tables gemacht) aber das müsste die entscheidenen Stelle gewesen sein


So mit dieser versuchten Verdeutlichung wollte ich diesen thread schliessen :) Problem gefunden, bekämpft und besiegt -> Vielen Dank
 
Zurück