PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

03-05-2010, 15:34
|
japsa
Registrierter Benutzer
|
|
Registriert seit: Mar 2006
Beiträge: 60
|
|
PHP-Fehler ist doch eindeutig ?
Hallo,
ich habe folgende PHP-Fehler:
PHP-Code:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /www/htdocs/w00c89ad/fewo-feha/belegplan.php on line 7
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /www/htdocs/w00c89ad/fewo-feha/belegplan.php on line 7
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /www/htdocs/w00c89ad/fewo-feha/belegplan.php on line 8
Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /www/htdocs/w00c89ad/fewo-feha/belegplan.php on line 10
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /www/htdocs/w00c89ad/fewo-feha/belegplan.php on line 10
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /www/htdocs/w00c89ad/fewo-feha/belegplan.php on line 11
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /www/htdocs/w00c89ad/fewo-feha/belegplan.php on line 14
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00c89ad/fewo-feha/belegplan.php:7) in /www/htdocs/w00c89ad/fewo-feha/belegplan.php on line 14
Da steht doch ein deutig, dass keine Verbindung zur Datenbank erfolgt oder ?
Allerdings in der "belegplan.php" sind keine DB-Zugangsdaten hinterlegt - hier steht folgendes:
PHP-Code:
<?php
//@rgo();
$Objekt_ID = $aURL[1];
// 3. Auslesen der Daten:
$query="SELECT * from ferienwohnung Where Status='1' OR plan='1' and Objekt_ID='$Objekt_ID'";
$result=mysql_query($query);
$ausgabe=mysql_fetch_object($result);
$query2="SELECT * from fewo_a where Objekt_ID='$Objekt_ID'";
$result2=mysql_query($query2);
$p=mysql_fetch_object($result2);
$a = "_";
if (mysql_num_rows($result) == 0) { header ("Location:$USER_url"); exit; }
// 5. Schließen der MySQL-Verbindung:
mysql_close;
?>
Bisher war es so, dass hier die Fehlermeldung nicht vorhanden waren - dies ist ersts seit dem Umzug zu all-inkl.com der Fall! Ich weis mir aber keinen Rat, denn an der Datei wurde nix geändert und vorher hat diese super funktioniert!
Die Datei "belegplan.php" in die Index.php eingebudnen und zwar so:
PHP-Code:
// Zuordnung
if ($aURL[0]=='belegplan') {
include "belegplan.php";
die(); // damit der "Rest" nicht eingebunden wird
}
damit diese ausserhalb meines Teamplasystems "Smarty" auch funktionert, was bisher auch sehr gut klappte nur jetzt nicht mehr ?
Jemand von Euch eine Lösung für mich?
Danke & Gruß Dirk
|

03-05-2010, 15:39
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
|
|
|

03-05-2010, 15:41
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
Zitat:
Da steht doch ein deutig, dass keine Verbindung zur Datenbank erfolgt oder ?
|
Nein!
Da steht nur, dass das DBMS den Usernamen 'www-data' verweigert.
Und du kein Passwort übergibst.
Das heißt: Du meldest dich nicht richtig an.
|

03-05-2010, 15:44
|
japsa
Registrierter Benutzer
|
|
Registriert seit: Mar 2006
Beiträge: 60
|
|
Ja deshalb werde ich ja nicht schalu draus
Ich bin von Hoster A mit einer 1:1 Kopie zu Hoster B gezogen. Habe die DB-Zugangsdaten genau in 2 PHP-Seiten neu angepasst (in keinen weiteren PHP-Seiten werden diese hinterlegt!) - der Rest des Scripts funktioniert super - alle Einträge sind zu sehen, Einträge können abgespeichert werden etc. nur dieser Belegungsplan funktioniert nicht mehr ?
Ich sage, es wird hier ausgegeben, dass keine Verbinung zur Datenbank erfolgt, aber wieso, wenn an den seiten deffinitiv nix geändert wurde - ging ja so vorher auch super !
Gruß Dirk
|

03-05-2010, 15:47
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Hallo,
wie das bei deinem alten Hoster lief, weiß ich nicht, aber normalerweise ist es überall so, dass du bei jedem Aufbau der MySQL-Verbindung die Zugangsdaten angeben musst.
Wenn du keinen Verbindungsaufbau machst, wird bei der ersten Abfrage automatisch eine Verbindung mit einem Standardzugang aufgebaut, der in der php.ini festgelegt ist, aber meist absichtlich so, dass er kein Passwort hat und damit scheitert.
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-05-2010, 15:51
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
Zitat:
Ich sage, es wird hier ausgegeben, dass keine Verbinung zur Datenbank erfolgt,
|
Doch die Verbindung funktioniert!!
Sonst könnte die DB doch keine solchen Fehlermeldungen liefern.
Nur deine Authentifizierung klappt nicht.
Und warum?
KA!
Denn du hältst den relevanten Code geheim!
Ich würde mal auf einen "anderen" include_path tippen.
Oder auf die Verwendung von short_open_tag
|

03-05-2010, 15:54
|
japsa
Registrierter Benutzer
|
|
Registriert seit: Mar 2006
Beiträge: 60
|
|
Was soll ich den noch für einen Code posten - bin gerne hier behilflich & möchte nix geheim halten :) ?
Eventuell die "index.php" komplett, wo die meine "config.php" (hier sind die DB-daten hinterlegt) und wo die ."belegplan.php" eingebudnen wird ?
Würde das helfen umd eine Lösung zu finden ?
Danke & Gruß Dirk
|

03-05-2010, 15:56
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.611
|
|
Zitat:
Zitat von japsa
Was soll ich den noch für einen Code posten - bin gerne hier behilflich & möchte nix geheim halten  ?
Eventuell die "index.php" komplett, wo die meine "config.php" (hier sind die DB-daten hinterlegt) und wo die ."belegplan.php" eingebudnen wird ?
|
Ein Anfang wäre die Stelle, wo du das mysql_connect() machst und die zugehörigen Variablen/Konstanten.
|

03-05-2010, 15:57
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Ja, könnte helfen, das Kennwort kannst du ja anonymisieren.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-05-2010, 16:08
|
japsa
Registrierter Benutzer
|
|
Registriert seit: Mar 2006
Beiträge: 60
|
|
Ich habs hier mal abgelegt:
http://www.oppel.eu/problem.txt
Passte hier leider nicht alles rein :)
bei "// Zuordnung" wir die "belegplan.php" eingebudnen
fast am Anfang die "config.php"
Hoffe es geht so ?
Gruß Dirk
|

03-05-2010, 16:14
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
Heieieiei....
Zitat:
//error_reporting(E_ALL);
|
Warum schaltest du das errorreporting ab?
Und nun zeige doch mal bitte bitte bitte bitte das wichtigste:
Die config.php !!
|

03-05-2010, 16:18
|
japsa
Registrierter Benutzer
|
|
Registriert seit: Mar 2006
Beiträge: 60
|
|
Zitat:
Zitat von combie
Heieieiei....
Warum schaltest du das errorreporting ab?
Und nun zeige doch mal bitte bitte bitte bitte das wichtigste:
Die config.php !!
|
Weil dann noch andere Dinge auf der Page zu sehen sind :)
Die .config.php steht zwar in der problem.txt aber vielleicht nicht deutlcih genug - hier nochmals die config.php:
PHP-Code:
<?php
// php.net
function strip_slashes ($value)
{
$value = is_array($value) ?
array_map('strip_slashes', $value) :
stripslashes($value);
return $value;
}
if (get_magic_quotes_gpc())
{ if (count($_REQUEST)) $_REQUEST = strip_slashes($_REQUEST);
if (count($_POST)) $_POST = strip_slashes($_POST);
if (count($_GET)) $_GET = strip_slashes($_GET);
if (count($_COOKIE)) $_COOKIE = strip_slashes($_COOKIE);
if (count($_SERVER)) $_SERVER = strip_slashes($_SERVER);
}
@set_magic_quotes_runtime(0);
@ini_set('magic_quotes_sybase', '0');
$_POST = make_valid_data($_POST);
$_GET = make_valid_data($_GET);
$_REQUEST = make_valid_data($_REQUEST);
// hier wird ein array oder string für eine Speicherung zum beispiel in einer SQL datenbank aufbereitet
function add_slashes($my_keys)
{ global $db;
$tmp=array();
if(is_array($my_keys))
{ while (list($key, $value) = each($my_keys))
{ $tmp[$key] = mysql_escape_string($value);
}
}
else $tmp = mysql_escape_string($my_keys);
return($tmp);
}
function make_valid_data($my_keys,$trim=0)
{ $tmp=array();
if(is_array($my_keys))
{ while (list($key, $value) = each($my_keys))
{ if(is_array($value))
{ $tmp[$key]=make_valid_data($value,$trim);
}
else
{ if($trim)
$tmp[$key] = trim(htmlspecialchars($value,ENT_QUOTES));
else $tmp[$key] = htmlspecialchars($value,ENT_QUOTES);
}
}
}
else
{ if($trim) $tmp = trim(htmlspecialchars($my_keys,ENT_QUOTES));
else $tmp = htmlspecialchars($my_keys,ENT_QUOTES);
}
return($tmp);
}
//Bitte Firmenbezeichnung eintragen (OHNE "http://www.")
$USER_pn = 'XXXXXX.com';
//Bitte Domain eintragen (MIT "http://www.")
$USER_url = 'http://www.XXXXX.com';
$config = array(
'dbhost' => 'localhost',
'dbuser' => 'XXXXXX',
'dbpass' => 'XXXXXX',
'dbdata' => 'XXXXX',
'email' =>'infos@XXXXXXX.com',
'domain' => 'http://www.XXXXXX.com',
);
?>
Gruß Dirk
Nachtrag:
Hab die "problem.php" hjetzt mal ohne dem Code der config.php (steht ja hier oen) so sollte es deutlicher sein :)
Geändert von japsa (03-05-2010 um 16:22 Uhr)
|

03-05-2010, 16:22
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Da ist nirgends ein mysql_connect zu finden. Da liegt auch der Fehler, wie ich dir bereits erklärt hatte.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

03-05-2010, 16:24
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 3.296
|
|
Zitat:
Weil dann noch andere Dinge auf der Page zu sehen sind
|
Du willst die Fehler gar nicht sehen... !!
Wie soll man dir denn da helfen können.....
Frei übersetzt:
Zitat:
Hey, ich unterdrücke alle Fehler, und jetzt sehe ich die Fehler nicht mehr, aber das Script tuts trotzdem nicht!
Hilfe, was mache ich falsch???
Helft mir..
Helft mir..
|
Meine Glaskugel sagt ganz deutlich:
Und nein!
Das ist wieder nicht die config.php.
Zumindest nicht die Orginale.
Die, welche du uns zeigst, fängt mit <?php an.
Die wirkliche und echte, originale nur mit <?
Zitat:
Da ist nirgends ein mysql_connect zu finden. Da liegt auch der Fehler, wie ich dir bereits erklärt hatte.
|
Das dürfte hinter dem:
PHP-Code:
$sql = new SQL;
$sql->connect($config['dbhost'], $config['dbuser'], $config['dbpass'], $config['dbdata']);
versteckt liegen
|

03-05-2010, 16:27
|
japsa
Registrierter Benutzer
|
|
Registriert seit: Mar 2006
Beiträge: 60
|
|
Zitat:
Zitat von AmicaNoctis
Da ist nirgends ein mysql_connect zu finden. Da liegt auch der Fehler, wie ich dir bereits erklärt hatte.
|
Doch der ist doch da:
PHP-Code:
// instance the classes
$sql = new SQL;
$sql->connect($config['dbhost'], $config['dbuser'], $config['dbpass'], $config['dbdata']);
Schau:
http://www.oppel.eu/problem.txt
ziemlich am Anfang und ein paar zeieln weiter drüber wird auch die .config.php mit den DB-Daten eingebunden - wenn es hier keine DB-Connect gäbe, würde der Rest meiner Webseite doch auhc nichtt funktionieren.
So wie es jetzt ist, hat es beim alten Hoster super funktioniert!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|