AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy PHP beibringen
Thema durchsuchen
Ansicht
Themen-Optionen

Indy PHP beibringen

Ein Thema von Codewalker · begonnen am 3. Apr 2006 · letzter Beitrag vom 4. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#1

Indy PHP beibringen

  Alt 3. Apr 2006, 13:04
Hallo!

Wie kann ich mit einem TidHTTPServer PHP Seiten verarbeiten. Ich würde gerne ein WebInterface für meine Anwendung mit einem Login über PHP realisieren. Was muss ich tun, damit Indy .php-Dateien verarbeiten kann?
Thomas
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Indy PHP beibringen

  Alt 3. Apr 2006, 14:36
Für Indy gibt es IMHO keinen fertigen PHP Interpreter. Würde denk ich auch keinen Sinn machen, du kannst ja die Seiten, die zurückgegeben werden sollen via Delphi zusammenbauen.
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Indy PHP beibringen

  Alt 3. Apr 2006, 14:39
Ja schon, aber mit HTML und Sessions ist das schon ziemlich nervig. Es gibt halt schon so viele fertige PHP-Vorlagen, die würde ich ganz gerne einbauen, um ein vernünftiges, aber trotzdem dynamisches Layout zu erzeugen. Hat dass denn noch niemand versucht??
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Indy PHP beibringen

  Alt 3. Apr 2006, 14:39
Du könntes theoretisch auch einen TCPServer laufen lassen und mit einem TCPClienten von deiner Anwendung aus darauf zufreifen. Dann benötigst du gar kein PHP.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Indy PHP beibringen

  Alt 3. Apr 2006, 14:43
Ich will ja keinen TCPClient schreiben, sondern über den Browser die Anwendung steuern können. Das geht auch schon ganz gut (so ein WebInterface wie man es von Routern kennt), aber ich würde gerne einen Benutzernamen und ein Passwort abfragen können, damit nicht jeder daran rumfummeln kann. Gibt es denn dazu andere Lösungen außer PHP? (vielleicht über Sessions?)
Thomas
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Indy PHP beibringen

  Alt 3. Apr 2006, 14:52
Eine Session ist ja nichts anderes als eine Zeichenkette, die bei jedem Aufruf übergeben wird. Das sollte nicht all zu schwer sein, das nach zu programmieren.

Die Frage ist, ob du überhaupt Sessions brauchst. Bei einer Konfigurationsoberfläche sollte man auch drauf verzichten können. Sessions dienen ja dazu einen Benutzer zu identifizieren um ihm z.B. das richtige Benutzerprofil zu zeigen. Wenn alle angemeldeten Benutzer die gleichen Daten sehen brauchst du eigentlich keine Sessions.
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Indy PHP beibringen

  Alt 3. Apr 2006, 14:54
Wie bekomme ich denn dann heraus, ob der User sich bereits mit Passwort eingeloggt hat oder nicht? Es soll ja auch nicht sich einer einloggen und 10 sollen reinschauen können. Außerdem würde ich gern pro Sitzung nur einmal nach dem Paswort fragen
Thomas
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Indy PHP beibringen

  Alt 3. Apr 2006, 14:59
Ahh stimmt, mein Fehler Anmelden hatte ich gerade irgendwie verdrängt

Also wie gesagt eine Session ist nur eine möglichst zufällige Zeichenkette. Beim Aufruf der Seite ohne Session wird die generiert und im folgenden immer zur Identifizierung genutzt. Zwei Möglichkeiten
- Bei jedem Aufruf als Parameter angeben (z.B. ?Session=abcd, bzw. hidden input)
- Cookie mit begrenzter Lebenszeit setzen

Hab selber mit dem Indy HTTP Server noch nicht gearbeitet, daher kann ich zur Implementierung nichts wirklich konkretes sagen.
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Indy PHP beibringen

  Alt 3. Apr 2006, 15:27
Okay, so weit so gut. Ich werde also auf Sessions setzen, aber wie macht man das? Woher bekomme ich im OnCommandGet-Event heraus, welche Session gerade anfragt und ob diese sich schon angemeldet hat. Geht das über Indy oder muss ich mir das selbst was schreiben?
Thomas
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Indy PHP beibringen

  Alt 3. Apr 2006, 15:52
Mal kurz in die Hilfe geschaut.

Du kannst dem Indy HTTP Server sagen, er soll Sessions benutzen. Die Session von der eine Anforderung (Request) bekommst du im OnCommandGet über RequestInfo.Session. Dann musst du dir im Programm noch irgendwo merken, ob sich der Benutzer schon angemeldet hat und je nachdem entweder die Seite schicken, die er haben möchte oder deine "Bitte melden Sie sich an" Seite.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz