| Autor |
Beitrag |
Danny87
      
Beiträge: 688
Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
|
Verfasst: Do 02.03.06 17:52
Hi zusammen,
Da ich vorhabe auf meiner Website eine Art Mitgliederlogin oder eine Umfrage oder so zu integrieren, möchte ich gern ein eigenes CGI-Script schreiben.
Dass das mit C++ möglich ist, weiss ich, aber geht das auch mit Delphi?
Wenn ja: wie?
gruss daniel
Moderiert von AXMD: Link entferntModeriert von AXMD: Topic aus Sonstiges (Delphi) verschoben am Do 02.03.2006 um 16:59
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Do 02.03.06 17:58
Prinzipiell kannst du das mit jeder Sprache machen, sofern der Server es erlaubt/unterstützt. Auf einem Unix-Server wirst du dir mit Delphi beispielsweise schwer tun
AXMD
PS. Was jetzt nicht heißt, dass es mit Kylix nicht ginge...
//EDIT: CGI ist übrigens eine Schnittstelle, keine Skriptsprache. Perl ist beispielsweise eine Sprache, die über das CGI ( COMMON GATEWAY INTERFACE) genutzt werden kann.
|
|
Alfons-G
      
Beiträge: 307
Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
|
Verfasst: Mo 06.03.06 18:46
Bei den älteren Delphi-Versionen (bis 7) gibt es CGI-Beispiele im Demos-Verzeichnis.
Prinzipiell ist das Erstellen von CGI-Anwendungen mit Delphi sehr einfach. Man kann theoretisch CGI-Anwendungen "zu Fuß" erstellen, da das Programm den HTTP-Request über die Standardeingabe empfängt und den HTTP-Response über die Standardausgabe zurückliefert. Allerdings nehmen einem die entsprechenden Delphi-Komponenten viel Arbeit ab, da sie selbst die übergebenen Parameter auswerten und die korrekten HTTP-Header erzeugen. Es gibt dazu auch ein paar Tutorials im Web.
_________________ Alfons Grünewald
|
|
Danny87 
      
Beiträge: 688
Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
|
Verfasst: Mo 03.04.06 10:41
hmm... okay. das mit dem erstellen hab ich jetzt dank der demos hingekriegt.
allerdings weiss ich nicht wie ich die jetzt zB in <form></form> aufrufen soll.
wenn ich zB <form action="blabla.exe"> oder so ähnlich mache, dann will er die datei runterladen.
da muss man doch auch noch parameter angeben, aber wie mach ich das?
gruss daniel
|
|
Alfons-G
      
Beiträge: 307
Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
|
Verfasst: Mo 03.04.06 11:50
Hallo,
das Verzeichnis, in dem die Exe liegt, muß natürlich Ausführungsrechte besitzen. Beim IIS kannst Du das im IIS-Admin einstellen. Sonst versucht der Webserver, die Datei zum Download anzubieten.

_________________ Alfons Grünewald
|
|
Danny87 
      
Beiträge: 688
Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
|
Verfasst: Mo 03.04.06 12:06
ich hab jetzt mal die zugriffsrechte (CHMOD) alle auf 777 (voller schreib-lesezugriff) gesetzt.
wenn ich jetzt <form action="tt/ding.exe" method="post"> mache, dann erscheint
| Zitat: |
Method Not Allowed
The requested method POST is not allowed for the URL /tt/ding.exe.
Apache/1.3.33 Server at dannys-software.de Port 80
|
wenn ich allerdings <form action="tt/ding.exe" method="get"> mache, dann will er die datei runterladen.
mach ich vielleicht bei dem aufruf irgendwas falsch?
gruss daniel
|
|
Timosch
      
Beiträge: 1314
Debian Squeeze, Win 7 Prof.
D7 Pers
|
Verfasst: Mo 03.04.06 12:10
Du musst in der .profile (geht verzeichnisweit auch in der .htaccess) einstellen, dass dieses Verzeichnis als CGI-Bin genutzt wird. Keine Ahnung, wie das geht.
_________________ If liberty means anything at all, it means the right to tell people what they do not want to hear. - George Orwell
|
|
Danny87 
      
Beiträge: 688
Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
|
Verfasst: Mo 03.04.06 12:18
okay, das hab ich jetzt gemacht (hab die exe ins cgi-bin verzeichnis aufem server geschoben -.-). jetzt bekomme ich eine andere meldung:
| Zitat: |
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@dannys-software.de and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache/1.3.33 Server at dannys-software.de Port 80
|
die versteh ich jetzt nicht ganz.
|
|
Danny87 
      
Beiträge: 688
Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
|
Verfasst: Di 04.04.06 09:40
Ich poste einfach mal den Code.
Delphi-Code (ding.exe) 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| program ding;
{$APPTYPE CONSOLE}
uses SysUtils;
begin write('<HTML>'); write('<HEAD></TITLE>Site von Anwendung erzeugt</TITLE></HEAD>'); write('<BODY>'); write('<FONT COLOR="#000099">'); write('<b>Fett</b><br>'); write('<i>Kursiv</i><br>'); write('<u>Unterstrichen</u>'); write('</FONT>'); write('</BODY>'); write('</HTML>'); end. |
HTML-Code (bla.html) 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <TITLE> Ein Test ! </TITLE> </HEAD> <BODY> <FORM action="cgi-bin/ding.exe" enctype="text/html" method="GET" name="Testform"> <INPUT type="submit" value="Okay" action="submit"> </FORM> </BODY> </HTML> |
Die Dateien bla.html und ding.exe haben beide CHMOD 777. Genauso das Verzeichnis cgi-bin.
Mache ich vielleicht was generelles falsch (wie zB den Aufruf aus dem Formular heraus)?
gruss daniel
|
|
Sy-
      
Beiträge: 177
|
Verfasst: Di 04.04.06 14:25
Warum überhaupt so umständlich?
Mein Rat ist PHP, damit kannste alles und das verdammt konfortabel.
CGI ist sogesehen im Internet ausgestorben.
Holst dir einfach ein Texteditor oder Dreamweaver oä. und machst normale HTML Dateien,
mit der Endung .php und schon kannste da wo du nur möchtest PHP Skripte rein basteln.
Hilfe findest du auf
www.php.de/
www.selfphp.info/
und in Google
Viel Spaß damit
Gruß
Sy
|
|
Danny87 
      
Beiträge: 688
Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
|
Verfasst: Di 04.04.06 14:49
meine seiten sind für gewöhnlich alle mit php geschrieben^^ *lol*
der haken is nur, dass ich mich damit nicht wirklich auskenne.
nur include, echo und so.
und es geht mir ja auch ums prinzip, dass das mal so funktioniert mit dem cgi^^
gruss daniel
|
|
Sy-
      
Beiträge: 177
|
Verfasst: Di 04.04.06 15:00
Also Zeitvertreib
Nun gut, dann wünsch ich dir noch viel erfolg.
Wenn du kein Bock mehr hast, denk an mich
Gruß
|
|
Danny87 
      
Beiträge: 688
Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
|
Verfasst: Di 04.04.06 15:08
wenn du mir sagen kannst wie ich ne benutzerverwaltung (registrierung und so) mit MySQL und php machen kann,
bin ich gerne bereit dazuzulernen^^
greet'z
|
|
Sy-
      
Beiträge: 177
|
Verfasst: Di 04.04.06 15:13
Wenn du magst kann ich dich heute abend via E-Mail anschreiben.
Bin zurzeit auf Arbeit.
Gruß
|
|
Danny87 
      
Beiträge: 688
Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
|
Verfasst: Di 04.04.06 15:19
ich bin auch auf der arbeit.
ich geb dir mal meine icq: 310-973-755
meine email auch noch^^: danny@dannys-software.de
greet'z
|
|
Lossy eX
      
Beiträge: 1048
Erhaltene Danke: 4
|
Verfasst: Di 04.04.06 15:30
Na ja. Ich denke mal es sollte ausreichen, wenn du mal überlegst wie du die Benutzerverwaltung im Delphi gestalten würdest. Und zwar so, dass du irgendwo deine Benutzerdaten + Passwort (indeals MD5 Hashwert) ablegst. Genau so machst du es dann auch mit PHP. Dabei kannst du vom Prinzip auch eine einfache Textdatei benutzen. Diese liest du ein und vergleichst deine Eingabe mit dem der Textdatei. Wenn du jemanden gefunden hast dann ist er eingelockt anderenfalls nicht. Du musst dann dafür sorgen, dass die Datei nur von deinem Skript gelesen werden kann. Entweder liegt die außerhalb des WWW Roots oder ist eben nicht mit den globalen rechten versehen.
Das kannst du natürlich noch beliebig komplizierter (MySQL Datenbank) gestalten. Das war nur das einfachste Beispiel. Musst dann aber auch aufpassen, dass dein Skript sich nicht durch fehleingaben aus dem Tritt bringen lässt. Nichts anderes würdest du in Delphi auch machen. 
_________________ Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
|
|
Danny87 
      
Beiträge: 688
Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
|
Verfasst: Di 04.04.06 15:34
nur dumm für mich, dass es bei php keine visuellen komponenten wie zB TQuery gibt^^
|
|
Lossy eX
      
Beiträge: 1048
Erhaltene Danke: 4
|
Verfasst: Di 04.04.06 15:41
Tja. Es gibt halt auch ein Leben neben den visuellen Komponenten.  Zu mindest was Webentwicklung angeht. Und da ist php ziemlich das Beste was man finden kann.
_________________ Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
|
|
Sy-
      
Beiträge: 177
|
Verfasst: Di 04.04.06 15:45
Najaaaa.... du hast dir wohl nie wirklich PHP angeschaut @ Lossy eX 
|
|
Sy-
      
Beiträge: 177
|
Verfasst: Di 04.04.06 15:47
bezüglich vorherigem post 
|
|