Nabend,
Ich habe ein Anmeldescript, dass prüft den Benutzername und Email adresse, das prüfen der Mailadresse geht fehlerfrei. Aber wenn ich den Namen prüfen will kommt die Meldung:
[code]Warning: mysql_query() [function.mysql-query]: Access denied for user ‘www-data’@‘localhost’ (using password: NO) in /users/nerosmeel/www/bg/libs/class.MySQL.php on line 43
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /users/nerosmeel/www/bg/libs/class.MySQL.php on line 43
Access denied for user ‘www-data’@‘localhost’ (using password: NO)[/code]
Ich weiß das heißt das der keine Verbindung zur DB aufbauen kann, nur warum geht das bei der mail überprüfung?
die class.MySQL.php
[code]<?php
class MySQL{
private $con;
private $result;
public function __construct ($host, $user, $password, $database){
$this -> con = mysql_connect ($host,$user,$password) or die (mysql_error());
if (is_resource ($this -> con)){
mysql_select_db ($database) or die (mysql_error());
}
}
public function __destruct (){
if (is_resource ($this -> con))
{
mysql_close ($this -> con);
}
}
protected function doQuery ($query){
if ($this -> result = mysql_query ($query))
{
$aff_rows = mysql_affected_rows();
if ($aff_rows)
{
return true;
}
else
{
return false;
}
}
else
{
die (mysql_error());
}
}
protected function doSelect($query)
{
if ($this -> result = mysql_query ($query)) // Zeile 43
{
$output = array();
while ($row = mysql_fetch_assoc ($this -> result))
{
$output[] = $row;
}
if (count ($output) > 0)
{
return $output;
}
else
{
return false;
}
}
else
{
die (mysql_error());
}
}
}
?>
[/code]
die RegistCommand.php
[code]<?php
class RegistCommand implements Command {
private $reg;
public function __construct()
{
$this->reg = Registry::getInstance();
}
public function execute(Request $request, Response $response)
{
$error = null;
$smarty = $this->reg['smarty'];
if($request->issetParameter("step")){
$this->error .= $this->stepOne($request);
if($this->error != null){
$smarty->assign("errorcont",$this->error);
}
$smarty->assign("name",$request->getParameter("name"));
$smarty->assign("passworda",$request->getParameter("passworda"));
$smarty->assign("passwordb",$request->getParameter("passwordb"));
$smarty->assign("step",1);
}else{
$smarty->assign("error",0);
$smarty->assign("step",1);
}
$response->write($smarty->fetch('reg.tpl'));
}
private function stepOne(Request $request){
$name = $request->getParameter("name");
$passworda = $request->getParameter("passworda");
$passwordb = $request->getParameter("passwordb");
$emaila = $request->getParameter("emaila");
$emailb = $request->getParameter("emailb");
if( $name == ""){
$error .= "kein name<br>";
}else {
if(!is_numeric($name)){
if(strlen($name) < 4){
$error .= "Name zu kurz<br>";
}
if(strlen($name) > 30){
$error .= "Name zu lang<br>";
}else{
// Nutzer Überprüfung in Datenbank
$db = new AbstractSQL($this->reg[“config”][“DB_HOST”],$this->reg[“config”][“DB_USER”],$this->reg[“config”][“DB_PASS”],$this->reg[“config”][“DB_NAME”]);
$query = sprintf(“SELECT name FROM player WHERE name = ‘%s’”,$name);
$res = $db -> checkQuery ($query);
if($res[0]["name"] == $name){
$error .= "Name schon benutzt<br>";
}
}
}else{
$error .= "Name darf keine zahl sein<br>";
}
}
if($passworda == ""){
$error .= "kein Passwort eingeben<br>";
}
if($passwordb == ""){
$error .= "keine Passwort wiederholung eingeben<br>";
}
if($passworda != $passwordb && $passworda != "" && $passwordb != "" ){
$error .= "Die Passwörter sind nicht gleich<br>";
}else{
if(strlen($passworda) < 5 && $passworda != "" && $passwordb != ""){
$error .= "Dein Passwort ist zu kurz<br>";
}
}
if($emaila == ""){
$error .= "Keine Email angegeben<br>";
}
if($emailb == ""){
$error .= "Keine Email wiederholung eingegeben<br>";
}
if (eregi("^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,4}\$",$emaila)!=1 && $emaila != "" && $emailb != "") {
$error .= "Email adresse hat das falsche format";
}else {
// Überprüfung der Email Adresse in der Datembank
$db = new AbstractSQL($this->reg[“config”][“DB_HOST”],$this->reg[“config”][“DB_USER”],$this->reg[“config”][“DB_PASS”],$this->reg[“config”][“DB_NAME”]);
$query = sprintf(“SELECT email FROM player WHERE email = ‘%s’”,$emaila);
$res = $db -> checkQuery ($query);
if($res[0]["email"] ){
$error .= "Email adresse vergeben";
}
}
return $error;
}
private function stepTwo(){
}
private function stepThree(){
}
}
?>
[/code]
Weiß hier evt. einer Rat?
Ich weiß nich mehr weiter
Wenn ich Code vergessen habe sagt es dann poste ich denn.
gibts das Drama live…
mfg Nerosmeel