28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

22
28.04.2005 1 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele

Transcript of 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

Page 1: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 1

Webseiten mit PHP, SQL, XML und Webservices

Anhand praktischer Beispiele

Page 2: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 2

Beispiel LoginformularAblauf:

PC Server

Benutzer

1. Wählt Seite2. HTTP-Request

3. Holt HTML-Datei

4. HTTP-Response5. Stellt Seite dar

6. Gibt Daten ein

?

Page 3: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 3

HTTP-Requests

• GET– Daten werden mit URL gesendet z.B.:

http://server.com?x=a&y=b

• POST– Daten werden im Datenteil des Requests

gesendet

• PUT, HEAD, OPTIONS, TRACE, DELETE

Page 4: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 4

Verarbeitung der Daten

Server

HTTPServer

Server

CGI: Common Gateway Interface

DatenDaten

OutputOutput

Moderner: direkte Einbettung der Skripte in die zu erstellende HTML-Datei (SSI, JSP, ASP, PHP)

Page 5: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 5

Login Formular (login.html)

<html> <head><title>Login</title></head> <body> <form action="login.php"> Benutzer: <input type="text" name="user"><br> Passwort: <input type="text" name="pwd"><br> <input type="submit" value="OK"> </form> </body></html>

Page 6: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 6

Page 7: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 7

Page 8: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 8

Login Formular (login.html)

<html> <head><title>Login</title></head> <body> <form action="login.php" method="post"> Benutzer: <input type="text" name="user"><br> Passwort: <input type="text" name="pwd"><br> <input type="submit" value="OK"> </form> </body></html>

Page 9: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 9

Page 10: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 10

login.php

<?phpinfo()?>

Page 11: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 11

MySQL Datenbank

tbl_usr

name pwd

abc cde

create table tbl_usr (name char(80), pwd char(80), primary key(name));insert into tbl_usr values("abc","cde");grant all privileges on *.* to 'testuser'@'localhost' identified by 'testpass' with grant option;

Page 12: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 12

login.php<? $handle=mysql_pconnect("localhost","testuser","testpass") or die ("Connect to DB failed"); $result=mysql_db_query("test","select * from tbl_usr where name='".$_POST["user"]."'") or die ("Select failed"); if ($thisrow=mysql_fetch_row($result)) {?>Willkommen <?echo $_POST["user"]?>! Hier die Benutzerliste<br><? do { echo $thisrow[0], "&nbsp;", $thisrow[1], "<br>"; } while ($thisrow=mysql_fetch_row($result)); } else echo "Alaaaarm"; mysql_free_result($result);?>

Page 13: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 13

Page 14: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 14

Page 15: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 15

Page 16: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 16

Security

• Abgesehen davon, dass im Beispiel das Passwort nicht berücksichtigt wurde, ist immer zu berücksichtigen:

• Alle Informationen fließen im 'Klartext' über das Netz -> Verschlüsselung für sicherheitskritische Anwendungen

• Variable vor Gebrauch immer validieren

Page 17: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 17

Session

• HTTP ist stateless• Um eine kontinuierliche Benutzerführung

zu erreichen werden daher 'Sessions' verwendet.

• Realisierung meist über Cookies bzw. versteckte Formularfelder

• Entsprechende Funktionalität in PHP vorhanden

Page 18: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 18

Arbeiten mit XML

• Wie normale Textdatei bearbeiten -> mühsam

• Document Object Model

• Mittels XSLT

Page 19: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 19

DOM

<person id="123">

<vorname>hugo</vorname>

<zuname>hallo</zuname>

</person>

Person

id

Vorname

Zuname

123

hugo

halloTraversieren

mitchild()

parent()etc.

Page 20: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 20

XSLT

XMLDokument

XSLTDokument

XSLFODokument

XSLTProzessor('Parser')

ErgebnisXML, HTML,...

Page 21: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 21

WebService mittels nusoap

<?

require('inc/nusoap.php');

$s=new soapclient('http://www.xmethods.net/sd/2001/TemperatureService.wsdl','wsdl');

$zipW2E='94203:89702:84102:80203:68501:50301:62701:46201';

$arrZip=split(":",$zipW2E);

...

?>

Page 22: 28.04.20051 Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.

28.04.2005 22

WebService mittels nusoap

for ($i=0; $i<count($arrZip);$i++)

{

$v=$arrZip[$i];

$parameters=array($v);

$res=$s->call('getTemp',$parameters);

echo "<br>".$v."&nbsp;->&nbsp;".$res;

}