tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
332
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kalito Kalito ist offline Mitglied Brokat
    Registriert seit
    Aug 2010
    Ort
    Leipzig
    Beiträge
    380
    Hallo,

    ich bastle gerade so ein bisschen mit OOP rum und hab noch eine Frage. Ab und zu habe ich gesehen, das man die html-Datei komplett vom php-Code trennt.
    Also etwa so:

    HTML-Code:
    <form mthod="post">
    Benutzername: <input type="text" name="user" />
    Passwort: <input type="password" name="passwort" />
    <input type="submit" name="login" />
    Diese wird dann nur im Fall der Notwendigkeit angezeigt.

    Was ich nur nicht verstehe, wie ich meine Klasse bauen muss, damit er das Submit bearbeiten kann. Reicht es wirklich das wenn ich die Klasse auf der Hauptseite includiere, dann ein login->show_logintemplate ausführe, bei dem das template geladen wird und im Constructor der Klasse ein isset auf die Post-Variablen mache?
    Etwa so:
    PHP-Code:
    public function __construct($sessionid){
            
    $this->dbconnection = new DB_MySQL();
            
            if (isset(
    $_POST['login'])===true && 
                isset(
    $_POST['username'])===true && 
                isset(
    $_POST['userpass'])===true){
     
                 
    $this->name $_POST['username'];
                 
    $this->passwort $_POST['userpass'];
                 
    $this->login();
                 return 
    true;
            } 
    Gruß

    Bisher hab ich nur gesehen, das ich in meiner html-Datei trotzdem immer noch die Klasse ein isset einbauen. Grob etwa so:
    PHP-Code:
     isset($_Post['login'])?login->check() : login->error(); 
     
    Ich bin keine Signatur! - Auch wenn`s so aussieht :) - Wirklich!

    Über ein Danke freut sich jeder

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Du musst auf der Heubseite eine Instanz deiner Klasse anlegen. Dann gehts da ja automatisch durch die Methode __construct. Und somit wird $_POST ausgewertet.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    bergonline bergonline ist offline Mitglied Platin
    Registriert seit
    Jul 2006
    Beiträge
    518
    Hey,

    sieh dir mal Tutorials über "MVC PHP HTML" an.
    Gibt nette HowTos, in denen dies erklärt wird.

    Bei dem Muster wird das Design/Ausgabe und die eigentliche Programmlogik getrennt.

    Z.B.
    http://tutorials.lemme.at/mvc-mit-php/

    Falls du dann noch Fragen hast, können wir sie dir beantworten

    mfg
    bo
     

  4. #4
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    MVC ist ein gutes Stichwort, aber auch nicht das Allheilmittel.

    Mal als kleine Anmerkung von mir:
    Ich habe PHP und HTML früher auch komplett getrennt und kann Dir davon nur abraten.
    Mach nicht den Fehler und nutze Smarty oder schreib einen eigen Tamplateparser mit Konstruktionen wie {PLATZHALTER} (so wie ich) oder sowas.

    Bau Dir lieber gleich ein Tamplatesystem wo Du .php Dateien includierst.
    Hat den Vorteil, Du kannst Abfragen, Schleifen und alle anderen PHP-Mittel voll ausschöpfen kannst ohne das Template nochmal parsen zu müssen.

    Das Trennen von PHP und HTML kommt ja eher daher, dass man die Präsentationsschicht und die Daten-/Businessschichten trennen sollte.

    Gruß

    //EDIT
    Grad mal angesehen:
    Zitat Zitat von bergonline Beitrag anzeigen
    So wie er mit seinen Templates arbeitet meine ich.
    Geändert von Raisch (23.01.12 um 10:07 Uhr)
     

  5. #5
    Kalito Kalito ist offline Mitglied Brokat
    Registriert seit
    Aug 2010
    Ort
    Leipzig
    Beiträge
    380
    Hallo,

    Habe mir mal das Tutorial zu Gemüte gezogen, aber bei einigen Sachen steige ich noch nicht so richtig durch.
    Mir ist ganze recht starr aufgebaut. Hatte eine Zweite Seite erstellt, die aber andere Werte enthalten soll. Doch musste ich im Model und im Controller die Werte in den Funktionen ändern. Zudem muss ich ja trotzdem bei knapp 40 Seiten alle in diese switch-case einfügen.

    Ich habe es mir so gedacht, das ich in der eigentlichen Klasse erst das Template definiere und dann über das MVC dann die Klasse anzeigen lasse.

    PHP-Code:
    protectet $strtemplate "testtemplate";
    $daten = array(irgendwelche Daten);
    $this->Template->data $daten
    Versuch noch bissel daran rumzuschrauben
     
    Ich bin keine Signatur! - Auch wenn`s so aussieht :) - Wirklich!

    Über ein Danke freut sich jeder

Ähnliche Themen

  1. Saubere Trennung von HTML und PHP
    Von PsychoSam im Forum PHP
    Antworten: 17
    Letzter Beitrag: 09.04.06, 23:25
  2. Trennung aufheben
    Von marloy87 im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 23.11.04, 22:01
  3. 24h Trennung
    Von ElFunghi im Forum Microsoft Windows
    Antworten: 3
    Letzter Beitrag: 07.03.03, 23:28