Autor Beitrag
Danny87
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: 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 user profile iconAXMD: Link entfernt
Moderiert von user profile iconAXMD: Topic aus Sonstiges (Delphi) verschoben am Do 02.03.2006 um 16:59
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: 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 :P

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 (Suche in Wikipedia COMMON GATEWAY INTERFACE) genutzt werden kann.
Alfons-G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 307

Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 307

Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
BeitragVerfasst: 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.

8)

_________________
Alfons Grünewald
Danny87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1314

Debian Squeeze, Win 7 Prof.
D7 Pers
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: Di 04.04.06 09:40 
Ich poste einfach mal den Code.

ausblenden 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
  { TODO -oUser -cConsole Main : Hier Code einfügen }
  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.

ausblenden 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-
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 177



BeitragVerfasst: 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 :wink:

Viel Spaß damit
Gruß
Sy
Danny87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: 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-
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 177



BeitragVerfasst: Di 04.04.06 15:00 
Also Zeitvertreib :wink:

Nun gut, dann wünsch ich dir noch viel erfolg.
Wenn du kein Bock mehr hast, denk an mich :)

Gruß
Danny87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: 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-
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 177



BeitragVerfasst: Di 04.04.06 15:13 
Wenn du magst kann ich dich heute abend via E-Mail anschreiben.
Bin zurzeit auf Arbeit.

Gruß
Danny87 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: 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. :zwinker:

_________________
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 688

Windows 10 Pro 64bit
Sprachen: HTML, PHP, JavaScript, Delphi || IDE: RAD Studio 10.1 Berlin Starter, WeBuilder
BeitragVerfasst: Di 04.04.06 15:34 
nur dumm für mich, dass es bei php keine visuellen komponenten wie zB TQuery gibt^^
Lossy eX
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1048
Erhaltene Danke: 4



BeitragVerfasst: 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-
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 177



BeitragVerfasst: Di 04.04.06 15:45 
Najaaaa.... du hast dir wohl nie wirklich PHP angeschaut @ Lossy eX :wink:
Sy-
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 177



BeitragVerfasst: Di 04.04.06 15:47 
bezüglich vorherigem post :wink: