Antworten auf deine Fragen:
Neues Thema erstellen

PHP - Function Rückgabe true or false Meldung?

MasterT

Nicht mehr ganz neu hier

Hallo liebe Gemeinde,
ich habe eine PHP Klasse geschrieben mit der ich Einträge vom Benutzer in die Datenbank schreibe. In diesem Fall das anlegen eines Produkts. Ich würde gerne überprüfen ob die aufgerufenen Funktionen auch ein True senden und wenn nicht eine angepasste Fehlermeldung zurückgeben. Ich bin da gerade ratlos weil ich erst seit neuestem mit Klassen arbeite.
Die Klasse und Funktionen werden in diesem Abschnitt abgerufen.

PHP:
    $f=new produkt;
    $f->anlegen();
    $f->name($produkt);
    $f->kategorie($kategorie);
    $f->unterkategorie($unterkategorie);
    $f->bild($_FILES["bild"]);
    $f->zugehörigkeit($zugehörigkeit);
    $f->absatz($absatz);
    $f->archivieren(true);
    unset($f);

Funktioniert auch alles bestens und macht was es machen soll, nur fällt mir keine Lösung ein wie ich das ganze überprüfen kann.

Hier der Code der Klasse + Funktionen
PHP:
class produkt
{
    private $id;
    private $bearbeiten = false;
    private $old;
   
    //--------------Methoden-------------
    function anlegen()
    {
        $sql = mysqli_query(db_connect(),"INSERT INTO `produkt_daten` SET `id`='' ");
        $this->id = mysqli_insert_id(db_connect());
    }
   
    function bearbeiten($id)
    {
        $this->bearbeiten = true;
        $sql = mysqli_query(db_connect(),"SELECT `bild` FROM `produkt_daten` WHERE `id`='".$id."' LIMIT 1");
        $row = mysqli_fetch_assoc($sql);
        $this->old = $row["bild"];
        $this->id = $id;
    }
   
    function löschen($id)
    {
        $sql = mysqli_query(db_connect(),"SELECT `bild` FROM `produkt_daten` WHERE `id`='".$id."' LIMIT 1");
        $row = mysqli_fetch_assoc($sql);
       
        if(!empty($row["bild"])) {
            unlink("../_data/pictures/".$row["bild"]);
        }
        mysqli_query(db_connect(),"DELETE FROM `produkt_daten` WHERE `id`='".$id."' LIMIT 1");
    }
   
    //Werte
    function name($value)
    {
        if(!empty($value))
        {
            mysqli_query(db_connect(),"UPDATE `produkt_daten` SET `produkt`='".$value."' WHERE `id`='".$this->id."' LIMIT 1");
        }
    }
   
    function kategorie($value)
    {
        if(is_numeric($value))
        {
            mysqli_query(db_connect(),"UPDATE `produkt_daten` SET `kategorie`='".$value."' WHERE `id`='".$this->id."' LIMIT 1");       
        }
    }
   
    function unterkategorie($value)
    {
        if(is_numeric($value))
        {
            mysqli_query(db_connect(),"UPDATE `produkt_daten` SET `unterkategorie`='".$value."' WHERE `id`='".$this->id."' LIMIT 1");       
        }
    }
   
    function bild($datei)
    {
        if($datei['name']  <> "")
        {
            if($this->bearbeiten == true)
            {
                if(file_exists("../_data/pictures/".$this->old)) {
                    //altes Foto löschen
                    unlink("../_data/pictures/".$this->old);
                }   
            }
            $name = md5(date("i:s").$this->id.date("H"));
            if($new = picture_upload(680,1000,$name,$datei,"../_data/pictures/"))
            {
                mysqli_query(db_connect(),"UPDATE `produkt_daten` SET `bild`='".$new."'  WHERE `id`='".$this->id."' LIMIT 1");
            }
        }
    }
   
    function zugehörigkeit($value)
    {
        if($value == "") $value = 1;
        mysqli_query(db_connect(),"UPDATE `produkt_daten` SET `zugehörigkeit`='".$value."' WHERE `id`='".$this->id."' LIMIT 1");   
    }
   
    function absatz($value)
    {
        if($value == "") $value = 1;
        mysqli_query(db_connect(),"UPDATE `produkt_daten` SET `absatz`='".$value."' WHERE `id`='".$this->id."' LIMIT 1");   
    }
   
    function archivieren($value)
    {
        if($value === true){$archiv = 1;} else {$archiv = 0;}
        mysqli_query(db_connect(),"UPDATE`produkt_daten` SET `archiv`='".$archiv."' WHERE `id`='".$this->id."' LIMIT 1");
    }
}
 

Mereel

Aktives Mitglied

Schau dir mal PHP Exceptions an: http://php.net/manual/de/language.exceptions.php

Außerdem solltest du dir mal Gedanken über das Design deiner Klasse machen: Du setzt mit jedem Methodenaufruf eine eigene Datenbankabfrage ab. Performance-technisch nicht gerade das Gelbe vom Ei...

Umlaute in Variablen- und Funktionsnamen sollten auch vermieden werden.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.619
Beiträge
1.538.363
Mitglieder
67.540
Neuestes Mitglied
Alex Weidner
Oben