Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Unterschied CGI & PHP?

3 views
Skip to first unread message

Marco Bohne

unread,
Aug 18, 2001, 7:32:10 PM8/18/01
to
Ich bin ein Newbie in sachen CGI und PHP.
Ich habe bis jetzt nur ein Mail Formular von
PHP und nichts von CGI bearbeitet.
Das heisst, ich hab mir das PHP3 Mail Formular
gesaugt und es an meine Sachen angepasst.

Trotzdem interessieren mich die Unterschiede
zwischen beiden Sprachen. Ich würde mich
nämlich gerne mit einer dieser beiden etwas näher
beschäftigen.

Darum brauche ich ein bisschen Entscheidungshilfe,
von Leuten die mit beiden Sprachen erfahrungen
gesammelt haben.

Nun meine Fragen:

1. Worin liegt der Hauptunterschied zwischen PHP
& CGI?

2. Was kann ich mit PHP (CGI) machen, was ich
mit dem jeweils anderen nicht kann?

3. Welche von beiden Sprachen ist für Newbies leichter zu
erlernen?

4. Welche Bücher (in Deutsch) könnt ihr einem Newbie
so empfehlen?


Vielen Dank
Marco Bohne


Johannes Froemter

unread,
Aug 18, 2001, 8:20:50 PM8/18/01
to
Marco Bohne schrieb in <news:3b7ef...@news.arcor-ip.de>:

>1. Worin liegt der Hauptunterschied zwischen PHP
> & CGI?

Falsche Frage. CGI (Common Gateway Interface) ist ein Standard für die
Interaktion von Programmen mit Webservern. Dieser Schnittstelle bedient
sich auch (CGI-)PHP.

>3. Welche von beiden Sprachen ist für Newbies leichter zu
>erlernen?

Im Vergleich mit Perl? PHP.

>4. Welche Bücher (in Deutsch) könnt ihr einem Newbie
>so empfehlen?

1.13 Welche Bücher gibt es über PHP?
http://koehntopp.de/php/faq-about.html#about-13

--
MfG
Johannes

Andreas Horvath

unread,
Aug 18, 2001, 8:56:00 PM8/18/01
to
Marco Bohne <webm...@marco-bohne.de> schrieb:

> Nun meine Fragen:
>
> 1. Worin liegt der Hauptunterschied zwischen PHP
> & CGI?

CGI heisst Common Gateway Interface und regelt nur die kommunikation
zwischen einem auf dem server ausgefuehrten programm und dem client
(browser). es ist egal in welcher programmiersprache du das cgi-programm
schreibst, solange es von stdin lesen und auf stdout schreiben kann. php und
perl sind hier lediglich zwei von vielen programmiersprachen, welche du mit
cgi verwenden kannst.

> 2. Was kann ich mit PHP (CGI) machen, was ich
> mit dem jeweils anderen nicht kann?

cgi ist keine programmiersprache, aber aus dem kontext nehm ich mal an dass
du mit CGI eigentlich Perl meinst.
fuer diskussionen ueber den unterschied zwischen perl und php kannst du
gerne einen der zahlreichen anderen threads in dieser gruppe durchlesen :)

z.b.
http://groups.google.com/groups?hl=de&safe=off&th=c24c48b78bfe2bd,27&start=0

> 3. Welche von beiden Sprachen ist für Newbies leichter zu
> erlernen?

sie sind sich beide sehr aehnlich. ich hab zuerst perl gelernt, fuer php
braucht man dann bloss noch die basic syntax zu lesen und ein paar
funktionsnamen nachzuschlagen..

> 4. Welche Bücher (in Deutsch) könnt ihr einem Newbie
> so empfehlen?

fuer php kenn ich halt keine buecher, fuer perl wuerd ich dir 'Einfuehrung
in Perl' von O'Reilly empfehlen.
http://www.ora.de/catalog/einperlger/


gruss, andy

Martin Vorlaender

unread,
Aug 18, 2001, 10:18:53 PM8/18/01
to
Andreas Horvath (ahor...@cyberjus.com) wrote:
> Marco Bohne <webm...@marco-bohne.de> schrieb:

> > 1. Worin liegt der Hauptunterschied zwischen PHP & CGI?
>
> CGI heisst Common Gateway Interface und regelt nur die kommunikation
> zwischen einem auf dem server ausgefuehrten programm und dem client
> (browser).

...zwischen einem auf dem Server ausgefuehrten Programm und dem *Webserver*.

> es ist egal in welcher programmiersprache du das cgi-programm
> schreibst, solange es von stdin lesen und auf stdout schreiben kann.

...und aus dem Environment lesen kann.

> php und
> perl sind hier lediglich zwei von vielen programmiersprachen, welche du mit
> cgi verwenden kannst.

Hmmm... gibt's inzwischen PHP auch als Stand-alone-Sprache? Ich war immer
der Meinung, dass PHP nur in HTML eingebettet funktioniert.

cu,
Martin
--
Martin Vorlaender work: m...@pdv-systeme.de
VMS & WNT Programmierer home: mar...@radiogaga.harz.de
------------------ Eine kurze Geschichte des CGI: ------------------
http://www.pdv-systeme.de/users/martinv/cgi_basics/cgi_basics.html

Andreas Horvath

unread,
Aug 19, 2001, 1:42:59 AM8/19/01
to
Martin Vorlaender <mar...@radiogaga.harz.de> schrieb:
> Andreas Horvath (ahor...@cyberjus.com) wrote:

> > php und
> > perl sind hier lediglich zwei von vielen programmiersprachen, welche du
mit
> > cgi verwenden kannst.
>
> Hmmm... gibt's inzwischen PHP auch als Stand-alone-Sprache? Ich war immer
> der Meinung, dass PHP nur in HTML eingebettet funktioniert.

erste zeile vom installtut 'Servers-CGI/Commandline' unter
http://www.php.net/manual/en/install.commandline.php

| The default is to build PHP as a CGI program. This creates
| a commandline interpreter, which can be used for CGI processing,
| or for non-web-related PHP scripting.

nichtsdestotrotz werd ich bei perl bleiben :)

gruss, andy

Stephan Schmied

unread,
Aug 19, 2001, 7:33:10 AM8/19/01
to
"Andreas Horvath" <ahor...@cyberjus.com> schrieb:

> > 4. Welche Bücher (in Deutsch) könnt ihr einem Newbie
> > so empfehlen?
>
> fuer php kenn ich halt keine buecher, fuer perl wuerd ich dir 'Einfuehrung
> in Perl' von O'Reilly empfehlen.
> http://www.ora.de/catalog/einperlger/
>
Das wollte ich nur nochmal unterstreichen. Das Buch hab ich selbst als
Einleitung verwendet, und war echt begeistert. Der Preis von 59DM is auf
alle Fälle gerechtfertigt. (Manchmal hat man Glück und kann es irgendwo
ersteigern oder gebraucht kaufen (=> ich hab meins von Justbooks.de . 27DM).

Als weiterführende Lektüre ist das Camel Book (
http://www.ora.de/catalog/pperl3ger/index.html ) unumgänglich ..

Viel Spass beim lesen ..

Stephan


Tim Bruysten

unread,
Aug 19, 2001, 8:15:15 AM8/19/01
to
> Hmmm... gibt's inzwischen PHP auch als Stand-alone-Sprache? Ich war immer
> der Meinung, dass PHP nur in HTML eingebettet funktioniert.

zunächst hat PHP nix mit HTML zu tun. man kann beide blos sehr gut
miteinander verwendet. und wenn, daß ist HTML das untergeordnete element.
;-) man kann PHP auch wunderbar für andere sachen als cgi - anwendungen
benutzen.. wobei ich perl oder python zunächst mal vorziehen würde.....

tim

Marco Bohne

unread,
Aug 19, 2001, 2:45:16 PM8/19/01
to
Also heisst das, wenn ich HTML beherrsche,
dass ich wahrscheinlicher mit PHP ein besseren
Start finde als mit sagen wir mal Perl?

Und hab ich recht verstanden, dass sich PHP
in HTML einbetten lässt wie z.b. JS und ich mit
CGI oder PHP das selbe realisieren kann?

Vielen Dank nochmal
Marco


Andreas Horvath

unread,
Aug 19, 2001, 3:09:44 PM8/19/01
to
Marco Bohne <webm...@marco-bohne.de> schrieb:

> Also heisst das, wenn ich HTML beherrsche,
> dass ich wahrscheinlicher mit PHP ein besseren
> Start finde als mit sagen wir mal Perl?

HTML ist eine grundvoraussetzung, egal fuer welche implementationssprache du
dich entscheidest.

> Und hab ich recht verstanden, dass sich PHP
> in HTML einbetten lässt wie z.b. JS

mal drei beispiele, 1. js, 2. php, 3. perl:

<html><body>
<script language="JavaScript">
document.write(var)
</script>
</body></html>

<html><body>
<?php
echo $var;
?>
</body></html>

print <<EOHT;
<html><body>
$var
</body></html>
EOHT


alle drei lassen sich ``in html einbetten'', kommt ganz auf die
flexibilitaet dieses begriffs an

> und ich mit CGI oder PHP das selbe realisieren kann?

ich nehm hier wieder an dass du mit CGI eigentlich perl meinst :)
du kannst mit beiden weitgehend dasselbe realisieren, (und auf die gefahr
hin von php'ler gekoepft zu werden) find ich laesst dir perl mehr freiheit
darueber wie du's tun willst.

gruss, andy

Philipp Hemker

unread,
Aug 19, 2001, 6:11:15 PM8/19/01
to
"Andreas Horvath" <ahor...@cyberjus.com> writes:

> HTML ist eine grundvoraussetzung, egal fuer welche implementationssprache du
> dich entscheidest.

Nein, mithilfe von CGI.pm komme ich ohne HTML-Kenntnisse aus,
andere Sprachen haben ähnliche Libraries oder Module.

> mal drei beispiele, 1. js, 2. php, 3. perl:
>
> <html><body>
> <script language="JavaScript">
> document.write(var)
> </script>
> </body></html>
>
> <html><body>
> <?php
> echo $var;
> ?>
> </body></html>
>
> print <<EOHT;
> <html><body>
> $var
> </body></html>
> EOHT

4. java, 5. nochmal perl, 6. nochmal java

<html><body>
<%= var %>
</body></html>

<html><body>
<? print $var; !>
</body></html>

w.println("<html><body>" + var + "</body></html>");


oder so ähnlich.

> alle drei lassen sich ``in html einbetten'', kommt ganz auf die
> flexibilitaet dieses begriffs an

Und alles "einbetten" ist für die Wahl der Implementationssprache
egal, man kann HTML in (fast) jeder Sprache zusammenbauen, und
(fast) jede Sprache in HTML einbetten, von wegen der Flexibilität
des Begriffs ;)


bis dann,
philipp

--

Marco Bohne

unread,
Aug 19, 2001, 6:35:37 PM8/19/01
to
Ich weiß nicht, irgendwie weiß ich mich jetzt weniger zu entscheiden als
vorher.
Es wird wohl einfacher für mich, wenn ich mir sowohl ein Buch über Perl/CGI,
als auch über PHP kaufe.
Dann werd ich sie beide lesen, und mich dann entscheiden,
was ich letzt endlich benutze.

Trotzdem vielen Dank für eure Mühe.
Marco


Philipp Hemker

unread,
Aug 19, 2001, 5:59:13 PM8/19/01
to
"Andreas Horvath" <ahor...@cyberjus.com> writes:

> HTML ist eine grundvoraussetzung, egal fuer welche implementationssprache du
> dich entscheidest.

Nein mithilfe von CGI.pm komme ich ohne HTML-Kenntnisse aus,

andere Sprachen haben ähnliche Libraries oder Module.

> mal drei beispiele, 1. js, 2. php, 3. perl:


>
> <html><body>
> <script language="JavaScript">
> document.write(var)
> </script>
> </body></html>
>
> <html><body>
> <?php
> echo $var;
> ?>
> </body></html>
>
> print <<EOHT;
> <html><body>
> $var
> </body></html>
> EOHT

4. java, 5. nochmal perl

<html><body>
<%= var %>
</body></html>

<html><body>
<? print $var; !>
</body></html>

oder so ähnlich.

> alle drei lassen sich ``in html einbetten'', kommt ganz auf die
> flexibilitaet dieses begriffs an

Und alles "einbetten" ist für die Wahl der Implementationssprache
egal, HTML kann man in (fast) jeder Sprache zusammenbauen ;)

bis dann,
philipp

--

Mark Meier

unread,
Aug 22, 2001, 8:01:24 AM8/22/01
to
PHP ist einfacher wenn du z.b. eine MySQL Datenbank verwenden willst, und
ich finde auch übersichtlicher. Mit include kann man auch schnell ganze HTML
Passagen einbetten, in perl kenn ich das nur Zeilenweise mit dem echo
Befehl.
Außerdem hab ich das Gefühl das es Sicherer ist, da es solche Exploits bzw
"Hacker-Tricks" wie irgenwelche rm* Befehle bei einer "POST-Eingabe"
(meines wissens?) nicht ausführt.
Bin mir natürlich nicht ganz Sicher, zähle mich selbst zu den Newbies :-).

MfG
Mark

"Marco Bohne" <webm...@marco-bohne.de> schrieb im Newsbeitrag
news:3b803...@news.arcor-ip.de...

Rainer Huebenthal

unread,
Aug 22, 2001, 8:05:57 AM8/22/01
to
Hi,

>ich finde auch übersichtlicher.

Da du es ja uebersichtlich magst:

1.20 Was ist TOFU? Wieso finden die Anderen meine Artikel schwer
zu lesen?
http://koehntopp.de/php/faq-about.html#about-20

>(meines wissens?) nicht ausführt.

Das ist falsch. Unsaubere Programmierung und nicht verifzierte
Eingaben koennen in PHP Scripten aehnliche Sicherheitsloecher
aufreissen wie in Perl. Das ist uebrigens von der verwendeten
Sprache unabhaengig.

Tim Bruysten

unread,
Aug 22, 2001, 10:28:23 AM8/22/01
to
Mark Meier <m...@uni.de> schrieb in im Newsbeitrag:
9m06ul$bnagp$1...@ID-20803.news.dfncis.de...

> PHP ist einfacher wenn du z.b. eine MySQL Datenbank verwenden willst, und
> ich finde auch übersichtlicher. Mit include kann man auch schnell ganze
HTML
> Passagen einbetten, in perl kenn ich das nur Zeilenweise mit dem echo
> Befehl.

das ist nicht richtig. dank der wesentlich schnelleren und auch sonst
besseren regexp - maschine von perl kannst du mit perl wesentlich effektiver
mit templates oder includes arbeiten. richtig ist, daß der umgang mit
datenbanken mit php zunächst einfacher ist... doch kann man mit perl + DBI
irgendwie mehr draus machen ;-)

> Außerdem hab ich das Gefühl das es Sicherer ist, da es solche Exploits
bzw
> "Hacker-Tricks" wie irgenwelche rm* Befehle bei einer "POST-Eingabe"
> (meines wissens?) nicht ausführt.

sowas kann man abfangen.... ;-)


grüße,

tim


Dennis Scheck

unread,
Aug 22, 2001, 10:55:06 AM8/22/01
to
Hallo Mark,

"Mark Meier" <m...@uni.de> schrieb:


> Mit include kann man auch schnell ganze HTML Passagen einbetten, in
> perl kenn ich das nur Zeilenweise mit dem echo Befehl.

huch? Schon wieder ein neues perl?

Meines kennt noch gar kein "echo". Dafuer scheinen bei Deinem (dem
neuen) HERE-Docs abgeschafft worden zu sein, und HTML::Template und was
es sonst noch alles so gibt scheint es auch nicht mehr zu geben...


> Außerdem hab ich das Gefühl das es Sicherer ist, da es
> solche Exploits bzw "Hacker-Tricks" wie irgenwelche rm* Befehle
> bei einer "POST-Eingabe" (meines wissens?) nicht ausführt.

Naja, das liegt aber nicht am Common Gateway Interface, sondern eher an
schlechtem Code. Aber da ist jeder selber schuld, der sowas
programmiert. Eine Usereingabe (egal ob ueber CGI oder allgemein auch
von der Konsole) gehoert nicht in ein system(), exec(), qx//, Backticks
und was es sonst noch so in diese Richtung gibt...

...zumindest nicht, bevor man "perlsec" gelesen und verstanden hat.


> Bin mir natürlich nicht ganz Sicher, zähle mich selbst zu den
> Newbies :-).

Jetzt wo Du es sagst...

Nix fuer ungut,
Dennis
--
Voll replyfaehige eMailadresse. Wird aber aus Spamvermeidungsgruenden
in unregelmaessigen Abstaenden verworfen. Private Adresse oder PGP-Key
auf Anfrage.

0 new messages