Von HTML-Formtag Klasseninstanz ansprechen[geloest]

  • Themenstarter Themenstarter sw33tlull4by
  • Beginndatum Beginndatum
S

sw33tlull4by

Guest
Hallo!
Folgendes:
Ich schreibe gerade(versuche es zumindest) eine webapplikation in PHP5.
Sie generiert HTML-seiten und bietet somit je nach benutzer ein individuelles Interface bei generischem Code,denn man kann bestimmte elemente nur benutzen wenn a)HTML-die Schaltflaeche bereitstellt und b) die Klasse diese Methode auch implementiert.
Nun bin ich aber ueber das Problem gestolpert das auch Benutzereingaben abgewickelt werden sollen,welche innerhalb einer Klasseninstanz stattfinden.
Nun erlauben die form-tags aber nur scriptnamen zu definieren,nicht aber die Instanz einer darin enthaltenen klasse.
Weiss jemand von euch abhilfe?
mfg

sw33t

p.s.:
Aus ermangelung eines Minimalbeispieles hier eine kleine Graphik:

User --ruft website auf--> Instanz von Klasse wird erstellt -----rueckgabe einer generierten Website----> User gibt daten ein ----sendung der Daten an phpskript-----> Klasseninstanz verarbeitet Daten
 
irgendwie versteh ich nicht ganz, was du vor hast?!
die Instanz an sich ist doch schon zuende, wenn das Script abgelaufen ist...

wenn du Daten über mehrere Scriptaufrufe hinweg brauchst, dann löst du das über Sessions...
 
Ich will bestimmten Nutzern weniger Moeglichkeiten geben als anderen.
Dh habe ich 3 Klassen definiert.
Abstract_user und 2 Klassen die von ihr Erben:
Normalbenutzer und Erweiterterbenutzer.
Mit Session kenne ich mich nicht so aus, aber wenn ich mich nicht irre werden die Attribute doch Im Cookie gespeichert,was einem normalen Benutzer bei manipulation erweiterte Rechte gibt.
(soweit mein Verstaendniss von Sessions)
Um das zu verhindern habe ich die Klassen definiert, und arbeite nur mit diesen Instanzen.
Die Klassen werden erstellt, an das Hauptskript uebergeben und dieses loescht sie erst wenn der User sich ausloggt.
Alle Sachen was das Interface, und dessen generierung , angeht sind in den Klassen enthalten und unterscheiden sich nur von den
Privilegien und den Implementierungen einiger weniger Methoden.
 
Original von sw33tlull4by
Mit Session kenne ich mich nicht so aus, aber wenn ich mich nicht irre werden die Attribute doch Im Cookie gespeichert,was einem normalen Benutzer bei manipulation erweiterte Rechte gibt.

Bei einer Session wird lediglich die Session-ID beim Client als Cookie gespeichert.
Sämtliche sonstige Daten liegen nur auf dem Server. Das ist ja gerade der große Vorteil von Sessions.

Wie machst du die User-Authentifizierung bisher? Alles mit Cookies?

Original von sw33tlull4by
Die Klassen werden erstellt, an das Hauptskript uebergeben und dieses loescht sie erst wenn der User sich ausloggt.

nein. bei jedem Scriptaufruf wird eine neue Instanz der Klasse gestartet.
Wenn das komplette Script einmal durchgelaufen ist und die Seite komplett dargestellt wurde, dann wurde auch schon der Destruktor aufgerufen...

btw: verschiedene Rechte für verschiedene Nutzer würde ich nicht über verschiedene Klassen realisieren, sondern über ein Rechtesystem, wo einfach abgefragt wird, ob der Nutzer für eine bestimmte Seite ein bestimmtes Recht hat...
Sowas ist dann wesentlich einfacher und flexibler zu warten und zu erweitern.
 
User-Authentifizierung mache ich mittels Vergleich mit einer Datenbank,
bin davon ausgegangen das die Instanzen etwas laenger vorhalten.
Hab halt zustands und nicht verbindungsorientiert gedacht.

Die Operationen sollen sich ebenfalls auf eine Datenbank beziehen,wo die Rechte dann eingestellt sind,
will halt nur versuchen den Benutzer nur die Optionen zu geben welche er auch wirklich ausfuehren kann.

nein. bei jedem Scriptaufruf wird eine neue Instanz der Klasse gestartet. Wenn das komplette Script einmal durchgelaufen ist und die Seite komplett dargestellt wurde, dann wurde auch schon der Destruktor aufgerufen...
Auch wenn das Skirpt nach Seitengenerierung auf Input wartet und die Methode welche die Seite generiert innerhalb der Klasse liegt und jede Methode der Klasse diese Generatorfunktion wieder aufruft,mit ausnahme der Logoutfunktion?
Gut zu wissen.

Dann versuch ich es mit Sessions.
Vielen dank.
mfg

sw33t
 
Zurück
Oben