[PHP] Klasse konnte nicht instanziiert werden..

  • Guten Tag!


    Ich habe mir folgende Klasse geschrieben:

    PHP
    <?php/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. *//** * Description of Functions * * @author L3nnart */class Functions {    public function isUserCorrect($name, $pass) {        $mysql = mysql_connect("localhost", "****", "****");        mysql_real_escape_string($name);        mysql_real_escape_string($pass);        if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE name='$name' AND pass='$pass'")) == 0) {            mysql_close($mysql);            return FALSE;        } else {            mysql_close($mysql);            return true;        }    }    public function createInfoEntry($over, $text, $maker) {        mysql_real_escape_string($maker);        mysql_real_escape_string($over);        mysql_real_escape_string($text);        $mysql = mysql_connect("localhost", "****", "****");        $time = time();        if(mysql_query("INSERT INTO news (maker, text, over, time) VALUES ('$maker', '$text', '$over', $time")) {            mysql_close($mysql);            return TRUE;        } else {            mysql_close($mysql);            return FALSE;        }    }}


    Wenn ich nun mit folgendem Code darauf zugreifen möchte, bekomme ich einen Error:

    PHP
    <?php session_start();if(isset($_SESSION["user"])) {    ?> <script> window.location = "http://nova-mc.de/admin.php"; </script> <?php} else {    $class = new Functions();    if($class->isUserCorrect($_POST["login_name"], $_POST["login_pass"])) {        ?> <script> window.location = "http://nova-mc.de/admin.php"; </script> <?php    } else {        ?> <script> window.location = "http://nova-mc.de/index.php#login"; </script> <?php    }}?>


    Code
    Fatal error: Class 'Functions' not found in C:\xampp\htdocs\Novamc\login.php on line 6


    Wie kann ich das beheben?

  • 1. Dein Code wird nicht funktionieren, schreibe das mal so:



    2. Du musst die Klasse auch inkludieren. Sprich: require_once('name.class');


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Danke! Habe lange nicht mhr mit PHP gearbeitet. Ich bin so ein Horst.

    Die Klasse ist übrigens ziemlich super :b


    Wieso nicht einfach im __construct die sql verbindung aufbauen?


    mysql_real_escape_string($name);


    Wenn ich mich nicht täusche bringt das nichts du musst dann schon $name = mysql_real_escape_string($name); nutzen aber wiegesagt bin mir nicht so sicher


    Dazu ist MySQL veraltet versuchs doch mal mit mysqli ist syntaxmäßig fast ähnlich, da du Klassen benutzt müsste dir die oop Schreibweise nicht so auf die nerven gehen :)


    (Dieser Post dient lediglich als Information und soll keinerlei beledigend entgegen kommen!)


    Edit: Fehler behoben