PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frametest will nicht und ich weiß nicht warum^^



VMS1
27.07.2009, 13:12
Hi zusammen,

vielleicht könnt ihr mir mal kurz helfen. Ich hab einen simplen Frametest gebastelt, der bei mir im VMS 1.1 einwandfrei mit allen Werbearten läuft. Nun hat aber jemand folgende Fehlermeldung :

Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/web39/html/lose/lib/functions.lib.php on line 54

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /var/www/web39/html/lose/lib/functions.lib.php on line 54


Das ist der Code der frametest.php :


<?php

$werbearten = Array("forcedbanner", "highforced", "paidmail", "paidlinks");

if (!isset($_GET['tan'])) $_GET['tan'] = "";
if (!isset($_GET['werbeart'])) $_GET['werbeart'] = "";

if ( strlen($_GET['tan']) > 0) {

if ( strlen($_GET['werbeart']) > 0 && in_array($_GET['werbeart'], $werbearten) ) {
require_once "../lib/functions.lib.php";
db_connect();

$vorhanden = db_query('SELECT `tan`, `ziel`, `banner`, `werbeart`, `beschreibung` FROM `'.$db_prefix.'_gebuchte_werbung` WHERE `tan` = "'.addslashes($_GET['tan']).'" AND `werbeart` = "'.$_GET['werbeart'].'" LIMIT 1');

if (mysql_num_rows($vorhanden) == 1) {
$data = mysql_fetch_assoc($vorhanden);

echo '
<html>
<head>
<title>Frametest</title>
</head>
<body>';

if ($data['werbeart'] == 'forcedbanner' || $data['werbeart'] == 'highforced') {
echo '
<center>
<b>TAN : </b>'.$data['tan'].'<br>
<img src="'.$data['banner'].'" width="468" height="60" border="0" alt="Banner fehlerhaft"><br>
<b>URL : </b><a href="'.$data['ziel'].'" target="_new">'.$data['ziel'].'</a><br>
<br>
<hr>
<br>
<iframe src="'.$data['ziel'].'" width="640" height="480"></iframe>
';

} else if ($data['werbeart'] == 'paidmail') {

echo '
<center>
<b>TAN : </b>'.$data['tan'].'<br>
<big><b>'.$data['beschreibung'].'</b></big><br>
<b>URL : </b><a href="'.$data['ziel'].'" target="_new">'.$data['ziel'].'</a><br>
<br>
<hr>
<br>
<iframe src="'.$data['ziel'].'" width="640" height="480"></iframe>
';


} else if ($data['werbeart'] == 'paidlinks') {

echo '
<center>
<b>TAN : </b>'.$data['tan'].'<br>
<big><b>'.$data['banner'].'</b></big><br>
<b>URL : </b><a href="'.$data['ziel'].'" target="_new">'.$data['ziel'].'</a><br>
<br>
<hr>
<br>
<iframe src="'.$data['ziel'].'" width="640" height="480"></iframe>
';

}

echo '
</body>
</html>
';

} else {
echo '<b>Kampagne nicht gefunden</b>';
}

} else {
echo '<b>Werbeart nicht angegeben oder fehlerhafter Wert</b>';
}

} else {
echo '<b>TAN nicht angegeben</b>';
}
?>

Die Datei wird so aufgerufen : framest.php?tan=XXXXXXX&werbeart=forcedbanner

Also wie gesagt, eigentlich eine völlig simple Sache, die meiner Meinung nach auch funktionieren müßte. Oder seh ich mal wieder den Wald vor lauter Bäumen nicht? Die Fehlermeldung besagt doch eigentlich, das keine Verbindung zur Datenbank hergestellt werden konnte, weil Zugangsdaten fehlen/unvollständig sind, oder?

Zumindest schaffe ich es bei mir nicht, den Fehler, wie oben angegeben nachzustellen. Egal welche Werbeart und welcher Banner/Mail/Link, klappt bei mir alles. Und die beiden Frametest-Dateien sind identisch.

Ich hiffe jemand hat eine Idee :rolleyes:

Gruß
Marco

Lokutos
27.07.2009, 16:18
Wo baust du den die datenbankverbindung auf ???

da du ja nicht mit ?content= arbeitest musst du eine verbindung aufbauen.

variante 1 fuctions.lib includen und db_conect();
variante 2 daten kopieren und verbindung aufbauen


@require_once ('lib/functions.lib.php');
@require_once ('lib/session.lib.php');
if ($_SESSION['login'] != 'true' || $_SESSION['uid'] <= 0){
die('Bitte einloggen!');
}
@db_connect();
@include('v_top_oben.php');(beispiel in der standart topframe z.b.



EDIT gerade entdeckt hast du drinn sry

Probier mal die 2 Punkte vor der lib/fuctions.lib weg zu machen.
MFG Lokutos

VMS1
28.07.2009, 04:59
Die 2 Punkte gehören da rein, weil die Datei im Ordner Adminforce liegt.

eRaaaa
28.07.2009, 06:14
lokutos schrieb, dass du die datei NICHT mit ?content=.... öffnest, ist das korrekt?
denn für mich siehts so aus, als ob dus tust, und dann ist die fehlermeldung auch klar, denn die adminforce headerdatei macht ja schon den db_connect... (allerdings wäre dann ja auch der require_once unnötig ;( )

ansonsten seh ich da auch nichts :) *allerdings mal auf die uhr schau ;D *

Freak4ever
28.07.2009, 10:11
lokutos schrieb, dass du die datei NICHT mit ?content=.... öffnest, ist das korrekt?


<html>
<head>
<title>Frametest</title>
</head>
<body>

...

jpwfour
28.07.2009, 12:06
Also bei dir funktioniert das so (sehe da auch keinen Fehler), und bei dem "jemand" kommt die o.a. Meldung.

Dann liegt ja nahe, dass "er/sie" entweder falsche Daten in "seiner/ihrer" functions.lib.php hat.

Oder aber bspw. diese Meldung gar nicht von der framest.php ausgelöst wird, sondern bspw. in der functions.lib.php direkt (gibt ja bspw. das Support-Ticket Addon, was einem sagt, dass man ganz unten in der functions.lib.php einen Query einfügen soll, der sorgt oft für solche Fehler.

Also müsstest du erstmal die auslösende Stelle lokalisieren, aktuell besagt die Fehlermeldung ja nicht, dass das in der framest.php ist :yes:


EDIT: um das auszuschließen, könntest du bspw. die Zeilen:


require_once "../lib/functions.lib.php";
db_connect();
Mit einem "manuellen" Connect ersetzen, also halt die funktion db_connect aus der functions.lib da reinkopieren, zugangsdaten direkt einsetzen, und dann das db_query in mysql_query ändern.