Jetzt lernen wir. Einführung Was ist PHP? Personal Home Page PHP Hypertext Preprocessor PHP ist...

Preview:

Citation preview

Jetzt lernen Jetzt lernen wirwir

EinführungEinführung

Was ist PHP?Was ist PHP?

• Personal Home Page

PHP Hypertext Preprocessor• PHP ist eine Open Source- und serverseitige

Scriptsprache für das Web.

Jens Schneider
Open Source bedeutet das es kostenlos ist. Aber Open Source hat noch mehr Vorteile, man kann z.B. von dem Erfahrungsschatz einer kommuikativen und engagierten Gemeinschaft zurückgreifen. Mit einer kleinen Recherche können Schwirigkeiten schnell und einfach behoben werden. Was bei kommiezellen Sprachen, z.B. die von Microsoft, nicht so einfach ist.

Was kann PHP?Was kann PHP?

• Mit können PHP dynamische Websites aufbaut werden.• PHP kann mit Datenbanken eingesetzt werden

Jens Schneider
Dynamisch bedeutet das Daten auf den Benutzer zugeschnitten werden können und somit flexibel sind.In Datenbanke kann Daten in Tabellen abspeichern. Das hat den Vorteil, das von mehrern verschiedenen Internetseiten, z.B. HTML-Dokumenten, darauf zugreifen kann und es nicht in jede Seiten hineinschreiben muss.

Wozu braucht man Wozu braucht man PHP?PHP?

• Große Datenbank gestützte Websites zu verwalten.

Jens Schneider
Früher waren große Websites mit hunderten von HMTL-Seiten geschrieben. Heute kann man das mit wenigen PHP-Seiten machen und man speichert die Daten in eine Datenabnk.

Wie entstand PHP?Wie entstand PHP?

• Rasmus Lerdorf erschuf 1994 mit eine Gruppe von Web-Publishing-Makros die erste PHP Version.

• Sollte ursprünglich eine Gruppe von Makros die pflege von privaten Homepages unterstützen.

• Späte begann sich die Entwicklergemeinde dafür zu interessieren.

• Seit 1997 arbeitet ein Programmierteam an diesem Projekt.

Jens Schneider
Mit dem Funktionsumfang von PHP wuchs auch die Popularität dieser Sprache. Im November 1999 lief PHP auf mehr als 1 Million Domains. Im August waren es bereits 6,8 Millionen! PHP ist das beliebteste Apache-Modul auf dem Amrkt, noch vor dem Mod Perl.

Wie entstand PHP?Wie entstand PHP?

• PHP 3 ist eine Gemeinschaftsarbeit.• PHP 3 wurde zur beliebtesten Server-

Programmiersprache.• Ein Grund dafür ist Unterstützung vom Webserver

Apache und MySQL.• Die neuste Version ist PHP 4.

Jens Schneider
Weil PHP Open Source kann jeder an der Sprache mitprogrammieren.

Vorteil von PHP?Vorteil von PHP?

• Entwicklungsprozess von PHP oft bedeutend schneller.• PHP kann auf alle Betriebsystemen und den meisten

Server ausgeführt werden.• Der Entwicklungsaufwand ist erheblich reduziert.• Programmierung und das Design kann effektiv und

flexibel gestaltet werden.• Open Source

Hilfe!Hilfe!

• Im Internet gibt es immer Hilfe!• Offizelle PHP-Site www.php.net und Onlinehandbuch

www.php.net/manual.• Suchfunktion der PHP-Site.• PHP-Wissensdatenbank www.faqts.com/

knowledge-base.• Mailingliste und Mailing-Archive

Jens Schneider
Man findet immer Hilfe, man muss nur wissen wo.

Unser erstes Unser erstes ScriptScript

Was brauchen wir?Was brauchen wir?

• Eine Texteditor z.B. Notepad oder VI• Einen Webserver z.B. Apache • HTML Vorkenntnisse wären gut

Die PHP-DateiDie PHP-Datei

Eine PHP-Datei wird mit den Endungen

.php

oder

.php3

abgespeichert.

PHP-ScriptPHP-Script

Ein PHP-Script sieht so aus:

<?php

print("Hallo Welt!");

?>

Ergebnis:

Hallo Welt!

PHP in HTML PHP in HTML einbetteneinbetten<html><head><titel>PHP in HTML einbetten</titel></head><body><b><?php print("Hallo Welt!");?></b></body></html>

Ergebnis:

Hallo Welt!

Jens Schneider
Man bindet PHP gewöhnlich in HMTL ein. Anders als eine HTML-Seite wird ein PHP-Script nicht direkt vom Server an den Client geschickt. Es wird zuerst vom PHP-Modul geparst, also interpretiert und ausgeführt. Die HTML Module bleiben davon unberüht.

KommentareKommentare

Kommentare sind Anmerkungen zum Script, die nicht vom Browser wiedergegeben werden.

// Dies ist ein Kommentar

# Das hier auch

/*

Es gibt auch

Mehrzellige Kommentare.

*/

Die SpracheDie Sprache

VariablenVariablenEine Variable ist ein Speicherbereich, dem sie einen bestimmten Wert zuweisen können.

$var = "Hallo Welt!";

Man kann den gespeicherten Wert auch wiedergeben:

print "$var";

Ergebnis:

Hallo Welt!

BeispielBeispiel<html><head><titel>Wie gebe ich eine Variable aus?</titel></head><body><?php $variable1 = "Hallo Welt!"; $variable2 = "Schöner Tag heute.";

print "$variable1<br>"; print "$varaible2";?></body></html>

BeispielBeispiel

Ergebnis:

Hallo Welt!Schöner Tag heute.

HTML-HTML-FormularverarbeitungFormularverarbeitung

Formularverarbeitung

FormularverarbeitunFormularverarbeitungg

<form action=“auswertung.php“ method=“POST“>

<form action=“auswertung.php“ method=“GET“>

•2 Möglichkeiten:2 Möglichkeiten:

1: <!–- formular3.php -->

2:

3: <HTML>

4: <HEAD><TITLE>Formular</TITLE></HEAD>

5: <BODY>

6: <FORM action="formular3.php" method="GET">

7: <INPUT type="text" name="benutzereingabe"></input><br>

8: <INPUT type="submit"></input>

9: </FORM>

10: </BODY>

11: </HTML>

Formulardaten Formulardaten senden senden

[Dateiname] [name]? [wert]= & ...

Formular3.php benutzereingabe? Bitte+3+Pizza+Salami= & ...

Alle nicht-alphanumerischen Zeichen (a-Z; 0-9) außer „_“ werden durch ein Prozentzeichen „%“ gefolgt von zwei Hexadezimalziffern („00“-“FF“) ersetzt. Leerzeichen werden durch ein plus („+“) ersetzt.

Beispiel:

„§“ „%A7“

Ein Beispiel: GET Methode

FormulardatenFormulardaten

auswertenauswerten I

?

Zugriff auf Zugriff auf FormulardatenFormulardaten

Formulardatei:

<INPUT type="text" name=[name]></input>

<INPUT type="text" name="benutzereingabe"></input>

Hinweis:

Anstatt jedes mal $GLOBALS einzugeben, kann man, wenn man sich auf oberster

Ebene (Hauptdatei) befindet, einfach den Namen des Eingabefeldes als

Variabelnamen nehmen:

Bsp: benutzereingabe $benutzereingabe

Zugriff im PHP-Script:

$GLOBALS[name]

$GLOBALS["benutzereingabe"]

Formulardaten Formulardaten auswerten IIauswerten IIEin Beispiel

1: <!–- formular3.php -->

2:

3: <HTML>

4: <HEAD><TITLE>Formular</TITLE></HEAD>

5: <BODY>

...

unsere Php Datei.......

Hinweis:

Das Formular verweist auf sich selbst. D.h. es schickt die Daten an

sich selbst um sie dann auszuwerten ...

9: <FORM action="formular3.php" method="GET">

10: <INPUT type="text" name="benutzereingabe"></input><br>

11: <INPUT type="submit"></input>

12: </FORM>

13: </BODY>

14: </HTML>

was ist zu tun?

if(isset($benutzereingabe)) {

...

} 6: if(isset($benutzereingabe)) {

8: }

print $benutzereingabe;

7: print $benutzereingabe;

...

...

Formulardaten Formulardaten auswerten IIIauswerten IIIEin Beispiel

...

<?php

if(isset($benutzereingabe)) {

print "Ihre Anfrage: ";

print "<b>";

print $benutzereingabe;

print "</b><br>";

print "Vielen Dank, für Ihre Anfrage. Wenn Sie wollen, können Sie noch weitere Anfragen senden:";

}

...

Globale Variablen IGlobale Variablen I

_ENV

REDIRECT_URL /winklerhof/test.php

REMOTE_ADDR 127.0.0.1

REMOTE_PORT 1487

SCRIPT_FILENAME d:/apache/apache/cgi-bin/php/php.exe

SERVER_ADDR 127.0.0.1

SERVER_ADMIN maierle86@web.de

SERVER_NAME localhot

SERVER_PORT 80

SERVER_SIGNATURE Apache/1.3.20 Server at localhot Port 80

SERVER_SOFTWARE Apache/1.3.20 (Win32)

WINDIR C:\\WINDOWS

GATEWAY_INTERFACE CGI/1.1

SERVER_PROTOCOL HTTP/1.1

REQUEST_METHOD GET

QUERY_STRING benutzereingabe=Bitte+3+Pizza+Salami

REQUEST_URI /winklerhof/test.php?benutzereingabe=Bitte+3+Pizza+Salami

SCRIPT_NAME /cgi-bin/php/php.exe

PATH_INFO /winklerhof/test.php

PATH_TRANSLATED d:\\apache\\apache\\htdocs\\winklerhof\\test.php

HTTP_POST_FILES

_FILES

_REQUEST benutzereingabe Bitte 3 Pizza Salami

PHPSESSID 3bf2891f9f4eb5ad33cf5cdd1ef32a70

GLOBALS Array

Globale Variablen IIGlobale Variablen IIVariable Inhalt Beispiel

$REMOTE_USER_AGENT Name und Versionsnummer des Clients

Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)

$REMOTE_ADDR IP-Adresse des Clients 127.0.0.1

$QUERY_STRING Anfrage Methode (GET oder POST)

GET

$REQUEST_URI Volle Adresse der Anfrage einschließlich Abfragestring

/test.php?benutzereingabe=Bitte+3+Pizza+Salami

$HTTP_REFERER Herkunftsseite http://butterbrezel/formular3.html

Hidden Inputs – Hidden Inputs – Problem Problem

!!! Problem: !!!

Daten werden nicht von 1. an 3. Formular weitergegeben

1010100101101101101010110110101101010101010110

Hidden Inputs - Hidden Inputs - LösungenLösungenLösungsvorschlag:

„Den Anwender auffordern, alles noch einmal einzugeben:“

Problem:

Zu viel und stumpfsinnige Arbeit für den Anwender

Verbesserungsvorschlag:

Computer übernimmt „abtippen“ für den Anwender

Für den Anwender verstecken Hidden Inputs

Form2.php

Form1.php

Hidden Inputs - Hidden Inputs - RealisierungRealisierung

1: <!-- form1.php -->

... // HTML Tags

2: <FORM action="form2.php„ method="GET">

3: <INPUT type="text" name="benutzereingabe_1"></INPUT>

4: <INPUT type="submit"> </FORM>

... // HTML End-Tags

1: <!–- form2.php -->

... // HTML Tags

2: <FORM action="form3.php„ method="GET">

3: <INPUT type="text" name="benutzereingabe_2"></INPUT>

5: <INPUT type="submit"> </FORM>

... // HTML End-Tags

4: <INPUT type="hidden"

name="benutzereingabe_1"

value="<?= $GLOBALS["benutzereingabe_1"] ?>" >

</INPUT>

Eingabefeld erstellen

<INPUT

... // Attribute

>

</INPUT>

Eingabefeld als „unsichtbar“ definieren

<INPUT type="hidden"

... // Attribute

>

</INPUT>

Namen des Ursprungfelds zuweisen

<INPUT type="hidden"

name="benutzereingabe_1"

>

</INPUT>

Wert des Ursprungfelds zuweisen

<INPUT type="hidden"

name="benutzereingabe_1"

value="<?=

$GLOBALS["benutzereingabe_1"] ?>"

</INPUT>

AnhangAnhang

QuellenQuellen

Jetzt lerne ich PHP 4Autor: Matt ZandstraMarkt+Technik Verlag

Viel Spass beim Viel Spass beim programmieren!programmieren!

Wünscht euch das PHP-Pinup GirlWünscht euch das PHP-Pinup Girl

Recommended