• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

fehlermeldung

Mad Dog

Mitglied
hey leute
habe hier eine fehlermeldung doch die sagt mir (fast) gar nicht:

Code:
[B]Fatal error[/B]:  Cannot redeclare class Registration in [B]C:\Programs\xampp\htdocs\SearchingEngine\inc\classes\classRegistration.php[/B] on line [B]181[/B]

hierzu der code:
PHP:
<?php
class Registration extends MySQLi
{    

    public function __construct($Location = '', $Username = '', $Password = '', $DBname = '')
    {
      parent::__construct($Location, $Username, $Password, $DBname);
    }
        
        
    public function checkFormData($Username, $Password0, $Password1, $Email0, $Email1)
    {
        if (isset($Username) AND (!(empty($Username)))) 
        {
            if (!preg_match('/^[\w()[\]_.]+$/', $Username)) 
            {
                echo 'Username: Only a-z,A-Z,0-9, 3 - 30 letters, (), [] und .!<br>';
                $CheckUsername = FALSE;
            }
            else 
            {
                $CheckUsername = TRUE;
            }
    }
        else 
        {
        echo 'We need at least a Username!<br>';
        }

        if (isset($Password0) AND isset($Password1) AND (!(empty($Password0))) AND (!(empty($Password1)))) 
        {
        if (preg_match('/^\w{3,30}$/', $Password0) AND preg_match('/[a-zA-Z]/', $Password0) AND preg_match('/[0-9]/', $Password0)) 
        {
            if (!($Password0 === $Password1)) 
            {
                echo 'Passwords arent the same!<br>';
                $CheckPassword = FALSE;
                }
                else 
                {                    
                $CheckPassword = TRUE;
                }
            }
            else
            {
            echo 'Password: Only a-z,A-Z,0-9, min 3  max 30 letters!<br>
                  At least one letter and one number!<br>';
            }
        }
        else
        {
        echo 'We need at least the passwords!<br>';
        }


        if(isset($Email0) AND isset($Email1) AND (!(empty($Email0))) AND (!(empty($Email1))))
        {
        if(!($Email0 === $Email1))
        {
            echo 'Emails arent the same!<br>';
                $CheckEmail = FALSE;
            }
            else
            {
            $CheckEmail = TRUE;
            }
        }
        else
        {
          echo 'We need at least the Emails!<br>';
        }

    
        if ($CheckUsername === TRUE)
        {
        if ($CheckPassword === TRUE)
            {
            if ($CheckEmail === TRUE)
                {    
                return TRUE;
                }
                else
                {
                    return FALSE;
                }
            }
            else
            {
            return FALSE;
            }
        }
        else
        {
            return FALSE;
        }
        unset($CheckUsername, $CheckPassword, $CheckEmail);
    }

    public function checkSelectData($Username, $Email0)
    {
      if ($mysqli_stmt = parent::stmt_init())
        {
        $sql = 'SELECT 
                    Username
                FROM
                    user
                WHERE
                    Username = ?';
          $mysqli_stmt->prepare($sql);
            $mysqli_stmt->bind_param('s', $Username);
            $mysqli_stmt->execute();
            $mysqli_stmt->bind_result($result);
            if (!($mysqli_stmt->fetch()))
            {
          $checkit = TRUE;
            }
            else
            {
                echo 'username schon vergeben!<br>';
            $checkit = FALSE;
            }
        
        if ($checkit === TRUE)
        {
            $sql = 'SELECT 
                        Email
                    FROM
                        user
                    WHERE
                        Email = ?';
                  $mysqli_stmt->prepare($sql);
                    $mysqli_stmt->bind_param('s', $Email);
                    $mysqli_stmt->execute();
                    $mysqli_stmt->bind_result($result);
                    if (!($mysqli_stmt->fetch()))
                    {
                        return TRUE; 
                    }
                    else
                    {
                        echo 'username okay aber email schon vorhanden!<br>';
                        return FALSE;
                    } 
        }
        else
        {
            echo 'username and email schon vergeben!<br>';
            return FALSE;
        }
        $mysqli_stmt->close();
        
    }
  else
    {
        return FALSE;       
    } 
    unset($checkit, $mysqli_stmt, $sql);
    }

    public function checkInsertData($Username, $Password0, $Email0)
    {
    if ($mysqli_stmt = parent::stmt_init())
        {
        $sql = 'INSERT INTO
                    user
                SET
                    Username = ?, Password = ?, Email = ?';
        $Password0 = md5($Password0);
        $mysqli_stmt->prepare($sql);
        $mysqli_stmt->bind_param('sss', $Username, $Password0, $Email0);
        $mysqli_stmt->execute();
        $mysqli_stmt->close()
        return TRUE;
    }
    else
    {
        return FALSE; 
    }
    unset($mysqli_stmt, $sql);
    }
}
?>

und der code wo die klasse ausgefuehrt wird:

PHP:
$include = include DOCUMENT_ROOT.'/inc/classes/classRegistration.php';
if ($include == TRUE)
{
        if ('POST' == $_SERVER['REQUEST_METHOD'])
        {
              $Username = trim($_POST['username']);
                  $Password0= trim($_POST['password0']);
                 $Password1 = trim($_POST['password1']);
                 $Email0 = trim($_POST['email0']);
                 $Email1 = trim($_POST['email1']);

                 $Regi = new Registration(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);
                if ($Regi->checkFormData($Username, $Password0, $Password1, $Email0, $Email1) === TRUE)
                {
                    if($Regi->checkSelectData($Username, $Email0))
                    {
                        if($Regi->checkInsertData($Username, $Password0, $Email0))
                        {
                            echo 'Regi erfolgreich';
                        }
                    }
                }
        }
}
else
{
        echo 'there is some problem with the script!<br>';
        die;
}

ich habe angefangen verschiedene sachen zu probieren klammern etc aber ich finde nicht den fehler :-(
ich hoffe ihr koennt mir helfen!!!
 
Zuletzt bearbeitet von einem Moderator:
hab' mal [noparse]
Code:
[/noparse] der übersicht und des highlighters wegen gegen [noparse][php][/noparse] ausgetauscht.

[php]
<?php
$mysqli_stmt->close()
?>
[/php]

da fehlt doch ein semikolon...

Nils aka XraYSoLo
 
hmmm komisch muss was falsch kopiert haben bei mir im code ist da ein semikolon und ich bekomme immernoch den selben fehler!
 
habe hier eine fehlermeldung doch die sagt mir (fast) gar nicht:
Code:
[B]Fatal error[/B]:  Cannot redeclare class Registration in [B]C:\Programs\xampp\htdocs\SearchingEngine\inc\classes\classRegistration.php[/B] on line [B]181[/B]
Die Fehlermeldung bedeutet, dass er bereits eine Klasse "Registration" hat, als Du ihm in classRegistration.php auf Zeile 181 sagst, er soll noch eine Klasse mit dem selben Namen erzeugen.
 
hmm das habe ich auch gedacht.
doch in zeile 181 ist nur ein } und mehr nicht
dieses } schliesst die klasse, also ist das letzt }.
aufrufen tue ich das ganze nur 1mal...
 
Du inkludierst die Klasse sicher irgendwo. Statt include() und require(), mach einfach include_once() bzw. require_once(), so wird das Script nur einmalig inkludiert und es wird nicht versucht die Klasse erneut zu deklarieren.
 
indeed
das war das problem und ich weiss jetzt auch warum es nicht funktioniert hat :D
danke schoen problem solved!
 
Zurück
Oben