Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.

Post on 06-Apr-2015

106 views 1 download

Transcript of Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.

Programmieren mit PHP

Mag. Andreas Starzer

weloveIT – EDV Dienstleistungen

Folie 2

URL Uniform Resource Locator Bestandteile sind:

– Protokoll – Server (Host)– Pfad zur Ressource am Server– Parameter

Beispiel:– http://data.univie.ac.at/kurs/bin/vortrag.pl?vortrag=php1-1

Folie 3

HTML und HTML-FormulareHTML Hypertext Markup Language definiert Tags (Befehle) um Text und sonstige

Elemente in bestimmter Art darzustellen

HTML-Dateien werden vom Browser durch Angabe der URL von einem Web-Server angefordert und dargestellt

Folie 4

HTML und HTML-Formulare

HTML-Formulare bieten dem Benutzer die Möglichkeit der Eingabe können abgesendet werden verwenden die gängigen Windows-

Formularbestandteile, wie– Eingabefelder– Drop-Down und Listenfelder– Optionsgruppen und Check-Boxes– Befehlsschaltflächen

Folie 5

HTML und HTML-FormulareFormularwird mit dem Tag <form> eingeleitet und mit

</form> beendet.Folgende Attribute sind dabei wichtig:– Name="..." Name des Formulars– Action="..." URL des Scripts– Method="..." Datenversand mit get oder post

hat Standarbuttons für Absenden und Reset– <input type="submit" value="Beschriftung">– <input type="reset" value="Beschriftung">

Folie 6

HTML und HTML-FormulareWichtige Formularobjekte

Einzeiliges Textfeld <input>, Attribute:– Name="..", Size=".." , Maxlength="..", Value=".."

Mehrzeiliges Textfeld <textarea> </textarea> Abschließender Tag ist nötig, Attribute:– Name="...", Rows="...", Cols="..."

Checkbox <input type="chekbox">– Name="...", Value="...", checked

Folie 7

Das CGI

CGI (Common Gateway Interface)

erlaubt es ein Programm am Webserver zu starten

über dieses können diesem Programm auch Daten übermittelt werden

sendet dann die von dem gestarteten Programm erzeugte Ergebnisseite zurück

Folie 8

Das CGI

Programmiersprachen

erlaubt ist alles, was am Server ausgeführt werden kann

standardmäßig verfügbar sind zumeist Perl und PHP

Folie 9

Das CGI

PHP-Scripts

können dann ganz normal über die URL aufgerufen werden

werden nach Aufruf vom Server ausgeführt

erzeugen dann eine Ergebnisseite oder rufen eine andere anzuzeigende Seite auf

Folie 10

Abruf HTML-Seite

Client Webserver

Anfrage (URL)

HTML-Seite

• sucht HTML-Seite• liefert Seite

Folie 11

Abruf PHP-Seite

Client Webserver

Anfrage (URL)

Ergebnisseite

• sucht PHP-Seite• führt PHP-Code aus• liefert Ergebnis

Folie 12

PHP-BasicsPHP (Hypertext Preprozessor) ist einfach zu lernen schnell auf den Homepagebereich spezialisiert Code wird in HTML-Seiten eingebettet ist eine Interpretersprache

Folie 13

PHP-BasicsCode wird mittels

<?php … ?>

in HTML-Seiten eingebettet.

Dateiendung der Seiten ist .php

Folie 14

PHP-Beispiele

Beispiele 1 – 10

betreffen nur PHP

Beispiel 11

betrifft PHP und MySQL

Folie 15

PHP-Beispiele

Das Programmieren mit PHP wird in den nun folgenden Beispielen Schritt für Schritt erklärt.

Folie 16

Beispiel 1

<html>

<head>

<title>PHP Hello world</title>

</head>

<body>

<?php

echo "Hello World";

?>

</body>

</html>

Folie 17

Beispiel 2

$form=$_POST["txt_Name"];

echo "Ihr Name ist <b>" . $form . "</b>";

Folie 18

Beispiel 3

$form=$_POST["txt_Geburtsdatum"];

$Tag=substr($form,0,2);

$Monat=substr($form,3,2);

$Jahr=substr($form,6,4);

$Alter_sek=time() - gmmktime(0,0,0,$Monat,$Tag,$Jahr);

$Alter = $Alter_sek/60/60/24;

echo $Tag . $Monat . $Jahr;

echo "Ihr Alter: " . number_format($Alter,0,",",".") . " Tage";

Folie 19

Beispiel 4

$Zahl=$_POST["txt_Startzahl"];

echo "<tr><td>" . $Zahl;

for ($i=2; $i<=10; $i++)

{

$Zahl = $Zahl * $i;

echo "<td> * " . $i . "<tr><td>" . $Zahl;

}

for ($i=2; $i<=10; $i++)

{

$Zahl = $Zahl / $i;

echo "<td> / " . $i . "<tr><td>" . $Zahl;

}

Folie 20

Beispiel 5

$Spalten=$_POST["txt_Spalten"];

$Zeilen=$_POST["txt_Zeilen"];

for ($i=1; $i<=$Zeilen; $i++)

{

echo "<tr>";

for ($j=1; $j<=$Spalten; $j++)

{

echo "<td>Z" . $i . "S" .$j;

}

}

Folie 21

Beispiel 6$Zahl=$_POST["txt_Zahl"];$IsPrim=True;for ($i=2; $i<$Zahl; $i++)

{ if ($Zahl%$i==0)

{ $IsPrim=False;

}}

if ($IsPrim==True){

echo $Zahl . " ist eine Primzahl";}

else{

echo $Zahl . " ist keine Primzahl";}

Folie 22

Beispiel 7echo "<tr><td>1<td>2";$AnzahlPrim=1;$Zahl=3;do

{$IsPrim=True;for ($i=2; $i<$Zahl; $i++)

{if ($Zahl % $i==0)

{ $IsPrim=False;

}}

if ($IsPrim==True){

$AnzahlPrim++; echo "<tr><td>" . $AnzahlPrim . "<td>" .

$Zahl;}

$Zahl = $Zahl + 2;}

while ($AnzahlPrim<100);

Folie 23

Beispiel 8$Farbe = $_POST["cmb_Farbe"];for ($i=255; $i>=0; $i--)

{$Color = Dechex($i);if (strlen($Color)==1)

{$Color = "0" . $Color;

}switch ($Farbe)

{ Case "rot": $HTMLColor = $Color . "0000"; break; Case "gruen": $HTMLColor = "00" . $Color . "00"; break; Case "blau": $HTMLColor = "0000" . $Color; break;

}echo "<tr><td bgcolor='" . $HTMLColor . "'>&nbsp;";

}

Folie 24

Beispiel 9$Pfad="C:\\Hosting\\laufwerk.it\\php\\9counter.txt";

$Datei=file($Pfad);

$OpenFile=fopen($Pfad,"w+");

fwrite ($OpenFile,$Datei[0]+1);

fclose($OpenFile);

echo „Aufrufe bisher " . ($Datei[0]+1) . " Mal";

Folie 25

Beispiel 10$Vorname=$_POST["txtVorname"];$Nachname=$_POST["txtNachname"];$Strasse=$_POST["txtStrasse"];$PLZ=$_POST["txtPLZ"];$Ort=$_POST["txtOrt"];$Zeile = $Vorname . ";";$Zeile = $Zeile . $Nachname . ";";$Zeile = $Zeile . $Strasse . ";";$Zeile = $Zeile . $PLZ . ";";$Zeile = $Zeile . $Ort ."\r\n";$Pfad="C:\\Hosting\\laufwerk.it\\php\\10daten.txt";$OpenFile=fopen($Pfad,"a");fwrite ($OpenFile,$Zeile);fclose($OpenFile);echo "Folgender Eintrag wurde an die Datei " . $Pfad . " eingefügt:<br>";echo $Zeile;

Folie 26

MySQL

DBMS Administration per phpmyadmin

https://www.univie.ac.at/phpmyadmin/ 1 Datenbank verfügbar – Name ist

Username Daten werden in Tabellen abgelegt Daten werden durch SQL-Abfragen

manipuliert

Folie 27

MySQL - Vorbereitungen

Einloggen Datenbank auswählen Tabelle neu anlegen Felder definieren Probedaten in Felder eintragen

Folie 28

SQL Structured Query Language Datenbanksprache für relationale

Datenbanken Befehle an die Datenbank werden als

einfache Zeichenfolgen gesendet Ansi-Standard (Hersteller unabhängig) Ermöglicht die komplette Verwaltung der

Datenbank, vor allem– Daten auswählen– Daten verändert– Daten löschen– Daten hinzufügen

Folie 29

SQL – Auswählen

SELECT * FROM Tabelle

WHERE Feldname=Kriterium

ORDER BY Feldname

Folie 30

SQL – Löschen

DELETE FROM Tabelle

WHERE Feldname=Kriterium

Folie 31

SQL – Anfügen

INSERT INTO Tabelle

( Feldname, Feldname, … )

VALUES

('Text', Zahl, …)

Folie 32

SQL – Ändern

UPDATE Tabelle

SET Feldname = 'Text', Feldname=Zahl

WHERE Feldname=Kriterium

Folie 33

PHP und MySQL

Verbindung zum MySQL-Server herstellen

mysql_connect("Server","User","Passwort");

Folie 34

PHP und MySQL

Verbindung zur Datenbank herstellen

@mysql_select_db("Datenbank")

Folie 35

PHP und MySQL

SQL-Statement an Server senden

$query="SQL Statement";

$result=mysql_query($query);

Wenn SQL Statement Daten zurück liefert, können diese behandelt werden durch

mysql_result($result,Zeile,"Feldname")

Folie 36

PHP und MySQL

Verbindung zur Datenbank trennen

mysql_close();

Folie 37

Das war´s

Danke für die Aufmerksamkeit

Viel Spaß mit PHP

Nicht vergessen – Das EDV-Zentrum bietet PHP-Workshops an

Schönes Wochenende