Seite 1 von 1

Sql abfrage einbinden

Verfasst: Mi 21.Feb, 2007 13:44
von CorCor
Im Moment bin ich dabei ein altes php script von mir in ein phpbb einzubinden, leider scheitere ich schon bei der einbindung der sql abfrage da ich leider noch nicht versatnden habe wie diese bei einem phpbb funktioniert.

mein orginal code ist:

Code: Alles auswählen

<?

if(version_compare(phpversion(), "4.1.0")==1){
     if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))  $ac_ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
        else if(isset($_SERVER["HTTP_CLIENT_IP"])) $ac_ip = $_SERVER["HTTP_CLIENT_IP"];
        else                                       $ac_ip = $_SERVER["REMOTE_ADDR"];
} else {
     if (getenv('HTTP_X_FORWARDED_FOR'))   $ac_ip = getenv('HTTP_X_FORWARDED_FOR');
        else if(getenv( 'HTTP_CLIENT_IP')) $ac_ip = getenv('HTTP_CLIENT_IP');
        else                               $ac_ip = getenv('REMOTE_ADDR');
}

$ac_admin_dir = "admin/";

if(isset($HTTP_GET_VARS["ac_java"])){ $ac_java = $HTTP_GET_VARS["ac_java"]; }

if(!file_exists($ac_admin_dir."config.inc.php")) { die("<br><b><a href=\"http://www.xxx.de\" target=_blank>[AC v1.0 - ERROR]</a></b>Konfigurationsdatei konnte nicht gefunden werden.<br>"); }
include($ac_admin_dir."config.inc.php");                    


$ac_db_handel = mysql_pconnect($ac_db_server,$ac_db_user,$ac_db_pass) or die("<br><b><a href=\"http://www.xxx.de\" target=_blank>[AC v1.0 - ERROR]</a></b> Es konnte keien Verbindugn zur Datenbank aufgebaut werden!");

if(!defined(AC_FKT)){

        function ac_query($sql){
             GLOBAL $ac_db_name, $ac_db_handel;
             $sql_rs = @mysql_db_query($sc_db_name,$sql,$ac_db_handel);
             if(mysql_errno() != 0) {
                  echo("<br><br><b><a href=\"http://www.xxx.de\" target=\"_blank\">[AC v1.0 - ERROR]</a></b> Es kam zu einem Fehler bei der Ausfuehrung eines MySQL Befehles. (".mysql_errno().")<br><b>$sql</b><br><br> Sollte dieser Fehler weiterhin auftreten, wenden Sie sich bitte an den Webmaster.<br><br>");
                  return;
             } else {
                  return $sql_rs;
             }
        }

        function ac_visits($day){
             GLOBAL $ac_zeit, $ac_tbl_pre;
                 $rs  = sac_query("SELECT id FROM ".$ac_tbl_pre."counter_data WHERE date='".date("Y-m-d",$sc_zeit - ( 86400 * ( $day - 1 ) ) )."'");
                 $out = @mysql_num_rows($rs);
                 if($out<1){ $out = "-"; }
             return $out;
        }
Wie würde dieses in einem phpbb aussehen wenn man die config.php vom phpbb benutzen würde.

Verfasst: Mi 21.Feb, 2007 16:35
von oxpus
Öh, genau so...
Zumindest muss man nicht unbedingt alle phpBB-Funktionen hier verwenden.

Was soll denn das Script machen, bzw. wo stellt es denn wenn überhaupt was dar?

Verfasst: Mi 21.Feb, 2007 18:17
von CorCor
Es ist eine counter mit ip sperre , refferer , ..... würde etwas zu lange dauern um alle funktionen zu erklären. mein problem ist es im mom nur die funktionen in eine phpbb datei auszulagern da ich das connecten zu datenbank nicht hinkriege.

wenn ich diesen teil als phpbb lauffähig hätte wäre ich schon zufreiden und würde den rest alleine schaffen da ich nicht auf meine eigene config.inc datei zugreifen möchte.

$ac_db_handel = mysql_pconnect($ac_db_server,$ac_db_user,$ac_db_pass);

if(!defined(AC_FKT)){

function ac_query($sql){
GLOBAL $ac_db_name, $ac_db_handel;
$sql_rs = @mysql_db_query($sc_db_name,$sql,$ac_db_handel);
if(mysql_errno() != 0) {
return $sql_rs;
}
}

function ac_visits($day){
GLOBAL $ac_zeit, $ac_tbl_pre;
$rs = sac_query("SELECT id FROM ".$ac_tbl_pre."counter_data WHERE date='".date("Y-m-d",$sc_zeit - ( 86400 * ( $day - 1 ) ) )."'");
$out = @mysql_num_rows($rs);
if($out<1){ $out = "-"; }
return $out;
}

Verfasst: Mi 21.Feb, 2007 19:34
von oxpus
Einfach vor ?> in die includes/functions.php eingefügt und die beiden Funktionen ac_query(); und ac_visits(); stehen zur Verfügung:

Code: Alles auswählen

function ac_query($sql)
{
	global $db;
	if(!($result = $db->sql_query($sql)))
	{
		message_die(GENERAL_ERROR, '[AC v1.0 - ERROR]<br />Es kam zu einem Fehler bei der Ausfuehrung eines MySQL Befehles.', '', __LINE__, __FILE___, $sql);
	}
	else
	{
		return;
	}
}

function ac_visits($day)
{
	global $db, $table_prefix;

	$sql = "SELECT id FROM ".$table_prefix."counter_data
		WHERE date='".date("Y-m-d",time() - ( 86400 * ( $day - 1 ) ) )."'";
	if(!($result = $db->sql_query($sql)))
	{
		message_die(GENERAL_ERROR, '[AC v1.0 - ERROR]<br />Es kam zu einem Fehler bei der Ausfuehrung eines MySQL Befehles.', '', __LINE__, __FILE___, $sql);
	}

	$out = $db->sql_numrows($result);
	$db->sql_freeresult($result);

	return $out;
}

Verfasst: Do 22.Feb, 2007 04:48
von CorCor
Sorry aber ich kriege es einfach nicht hin =((

wenn du lust bzw Zeit hast könntest du mir etwas unter die Arme greifen?

Verfasst: Do 22.Feb, 2007 10:09
von oxpus
Was genau bekommst Du denn nicht hin?

Verfasst: Do 22.Feb, 2007 14:30
von CorCor
kann ich dir irgendwie die files zuschicken? da ic den gesammten Code erst nach vollendung online stellen wollte.

Verfasst: Do 22.Feb, 2007 14:41
von oxpus
Als Anhang an einen Post hier?

Verfasst: Do 22.Feb, 2007 15:01
von CorCor
so das ist meine stand alone version

Beispiel für die auswertung der stand allone version http://test.dark-muenster.de/advance_counter_stats.php

Verfasst: Do 22.Feb, 2007 15:16
von oxpus
Und was soll mir das jetzt sagen?