PHP

Schlagwort: PHP

5. März 2016 // Externe Session-Daten in Joomla

Während der Bearbeitung eines neuen Projektes ergab sich einmal mehr eine knifflige Aufgabenstellung:

  • Auf Daten eines externen PHP-Systems soll innerhalb von Joomla zugegriffen werden, abhängig vom Zustand eingeloggt ja/nein, welcher in separaten Session-Daten vorgehalten wird.
  • Da Joomla seine eigene Session-Verwaltung betreibt sind die externen Session-Daten in Joomla (wohl auch aus Sicherheitsgründen) nicht direkt erreichbar.
  • Die Umprogrammierung des externen Systems hin zur Zusammenarbeit mit Joomla scheidet leider aus.

Nach einigen Überlegungen entwickelte ich die folgende Javascript / Ajax-Lösung, welche ich heute einmal kurz vorstellen möchte:

Schritt 1

Innerhalb des Joomla wird eine Markierung gesetzt, an der später der extern generierte HTML-Code eingefügt wird:

<div id="results"></div>

Das war ja noch einfach.

Schritt 2

Aufruf der verarbeitung.php per Javascript / jQuery über Ajax: Weiterlesen

7. November 2015 // Steuerkiste – Teil 3: Bezahlsysteme

Im dritten und letzten Teil zu meinem sommerlichen Großprojekt „Steuerkiste“ geht es ums liebe Geld, speziell um die technische Einbindung verschiedener Bezahlsysteme.

Gleichwohl sicher viele auf Rechnung bestellen werden sollte es natürlich auch möglich sein, die gewünschte Kiste direkt online mit einem der gängigsten Zahlungsmethoden bezahlen zu können.

Steuerkiste Zahlungsart
In der alten Webseite stand, neben dem Kauf auf Rechnung, lediglich der relativ unbekannte Zahlungsdienst „VR-Pay“ der Volks- und Raiffeisenbanken zur Verfügung. Schon vorab war klar, dass in der neuen Fassung unbedingt auch der „Platzhirsch“ PayPal eingebunden werden musste.

Aber auch diese Alternative gefällt nicht allen, hat das US-Unternehmen doch in der Vergangenheit durch rigide Geschäftspolitik manche Kunden verärgert. Da ich persönlich bei meinen Einkäufen gute Erfahrungen mit der Sofortüberweisung gemacht hatte, gelang es mir, die Inhaber zu überzeugen, diesen Dienst ebenfalls einzubinden. Weiterlesen

17. Oktober 2015 // Steuerkiste – Teil 2: Die Technik

Im zweiten Teil der Projektbeschreibung zu meinem sommerlichen Großprojekt „Steuerkiste“ möchte ich ein paar Worte betreff der dort verwendeten Webtechniken verlieren.
Webtechniken
Die Kunst wird sein, Sie dabei nicht übermäßig zu langweilen, sind doch Begriffe wie Javascript, jQuery, MySQL, Webfont, PHP und Ajax eher etwas für „Nerds“, für die wiederum das Vorurteil gilt, dass selbige kreidebleich im Keller sitzen, Chips futtern, Cola trinken, selten das Sonnenlicht sehen und das gesellschaftliche Leben einer Feldermaus führen. Weiterlesen

12. September 2015 // Zugriff von Javascript auf PHP-Daten mittels Ajax

Das Großprojekt, welches mich den ganzen Sommer über beschäftigt hat und in Kürze fertig gestellt sein wird, stellte mich auch vor eine Reihe von neuen Problemen. Eines war die Überprüfung von Benutzereingaben mittels Tabellen.

Diese langen und komplizierten Tabellen lagen bereits in den PHP-Skripten vor, da damit abschließend auch ein Endpreis für das Produkt errechnet wird. Zusätzlich sollten aber bereits während der Parametereingabe der Benutzer durch Abfrage der Tabellen auf Fehleingaben hingewiesen werden.

Hierzu sah ich zwei Lösungswege:

■ Jascript-Lösung: Die Tabellen könnten ein zweites Mal in Javascript angelegt und in die Webseite geschrieben werden, mittels Javascript ließen sich die Benutzereingaben dann überprüfen. Vorteil: relativ einfach zu realisieren. Weiterlesen

29. August 2015 // Zugriff auf die Joomla-Datenbank

Nutzt man Joomla als Content-Management-System bietet es sich an, anstatt mühsam eine eigene MySQL-Datenbank zu verwalten seine Daten einfach in einer eigenen Tabelle der Joomla-Datenbank abzulegen. In einem aktuellen Projekt habe ich dies getan, daher hier einige vielleicht nützliche Beispiele für den Zugriff als PHP-Sourcecode.

Vorbemerkungen

Der Zugriff auf die Joomla-Datenbank ist eigentlich recht gut dokumentiert, die zuständige PHP-Klasse nennt sich „JDatabase“. Die folgenden zwei Seiten waren Grundlage für den (modifizierten) Code:

■ Lesen: https://docs.joomla.org/Selecting_data_using_JDatabase
■ Schreiben, Updaten und Löschen: https://docs.joomla.org/Inserting,_Updating_and_Removing_data_using_JDatabase

Für das Verständnis dieses Artikels wäre es weiter gut, wenn Sie in PHP fit sind und ein paar Grundkenntnisse zu MySQL mitbringen.

Definitionen

Der Übersichtlichkeit halber definiere ich vorab zentral den Namen meiner Tabelle in der Datenbank:

 define( "KARLMAY", "#__karlmay" );

Die Tabelle heißt also <irgendwas>__karlmay, das ‚#‘ respektive <irgendwas> steht für den Tabellenvorsatz, der bei der Installation von Joomla gewählt wurde

Z.B. könnte der vollständige Tabellenname später, wenn Sie per phyMyAdmin nachschauen, ‚qkw__karlmay‘ lauten. Den Tabellennamen „fest zu verdrahten“ wäre natürlich auch möglich, mit ‚#‘ als Platzhalter ist es aber einfacher und schöner. Weiterlesen

18. Juli 2015 // Sessions in Joomla

Neue Projekte, neue Herausforderungen. Für die Kostenberechnung innerhalb eines Auftritts, welche sich über mehrere Seiten erstreckt, benötigte ich die Funktion, dass gewählte Einstellungen der einzelnen Seiten zwischengespeichert werden.

Diese Daten sollen a) später bei Neuaufruf der Seiten geändert werden können und b) anschließend für die endgültige Berechnung zur Verfügung stehen.
Joomla Session Handling
Üblicherweise macht man sowas mit sogenannten „Sessions“, über PHP und eine Session-ID sind die abgespeicherten Daten dann zugänglich. Session-Programmierung in PHP ist nichts Neues und es gibt im Netz hunderttausende gute (und schlechte) Anleitungen dazu.

In meinem ersten HTML-Entwurf der Seite funktionierte auch alles soweit ganz gut, mal abgesehen davon, dass bei abgeschalteten Cookies, in denen die Sesssion-ID abgelegt wird, wie erwartet nichts mehr lief.

Kollision

Bei der Übertragung des Entwurfes hin zu Joomla stand ich jedoch vor dem Phänomen, dass die vorab programmierte Session-Verwaltung nicht arbeiten wollte, es wurden einfach keine Daten abgespeichert, egal, was ich probierte.

Wieder einmal war es eine Recherche im Netz, die mich darauf brachte, dass die nativen PHP-Sessions mit der in Joomla eingebauten Session-Verwaltung kollidieren können. Ich erfuhr weiter, dass Joomla eine eingebaute Session-Verwaltung besitzt, die sich nutzen lässt. Dieses Vorgehen hat die folgenden Vorteile: Weiterlesen

29. Januar 2013 // Die verschollenen Fotos vom Reitclub

Die neuen, von mir gestalteten Webseiten des Reitclubs St. Mauritz sind bereits seit Dezember online, allerdings fehlte bis dato das bereits in der Planungsphase vorgesehene Fotoalbum.

Der Grund dafür ist, dass ich die Komplexität der Anforderung, ein vom Kunden selber zu pflegendes Fotoalbum in das bestehende Design einzubauen, gründlich unterschätzt habe.

Manche werden jetzt vielleicht lachen, ein triviales Fotoalbum… was sich unspektakulär anhört war jedoch nicht so einfach zu erstellen, denn das geplante System zur Verwaltung und Anzeige der Fotos sollte einige spezielle Anforderungen erfüllen: Weiterlesen

15. Januar 2013 // Meine PHP-Toolboxen LT6 und LT7

Um bei der Erstellung von Webauftritten mit dynamischen Funktionen das Rad nicht jedes mal neu erfinden zu müssen benutze ich seit Jahren zwei Toolboxen, die ich hier einmal kurz vorstellen möchte.

LT6 und LT7, so der etwas kryptische Name, entstanden aus einer losen Sammlung von PHP-Funktionen, welche ich ca. 2003 erstellte und die damals den Namen LT4 trugen. Das LT bedeutet jeweils soviel wie „Library Type“, also LT6 = Library Type 6.

Im Jahre 2006 entwarf ich für den inzwischen nicht mehr im Einsatz befindlichen LT4 zwei Nachfolger, die folgende Aufgaben haben: Weiterlesen