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

Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Embed Size (px)

Citation preview

Page 1: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Programmieren mit PHP

Mag. Andreas Starzer

weloveIT – EDV Dienstleistungen

Page 2: 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

Page 3: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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

Page 4: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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

Page 5: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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">

Page 6: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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

Page 7: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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

Page 8: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 8

Das CGI

Programmiersprachen

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

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

Page 9: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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

Page 10: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 10

Abruf HTML-Seite

Client Webserver

Anfrage (URL)

HTML-Seite

• sucht HTML-Seite• liefert Seite

Page 11: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 11

Abruf PHP-Seite

Client Webserver

Anfrage (URL)

Ergebnisseite

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

Page 12: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 12

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

Page 13: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 13

PHP-BasicsCode wird mittels

<?php … ?>

in HTML-Seiten eingebettet.

Dateiendung der Seiten ist .php

Page 14: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 14

PHP-Beispiele

Beispiele 1 – 10

betreffen nur PHP

Beispiel 11

betrifft PHP und MySQL

Page 15: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 15

PHP-Beispiele

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

Page 16: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 16

Beispiel 1

<html>

<head>

<title>PHP Hello world</title>

</head>

<body>

<?php

echo "Hello World";

?>

</body>

</html>

Page 17: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 17

Beispiel 2

$form=$_POST["txt_Name"];

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

Page 18: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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";

Page 19: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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;

}

Page 20: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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;

}

}

Page 21: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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";}

Page 22: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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);

Page 23: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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;";

}

Page 24: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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";

Page 25: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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;

Page 26: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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

Page 27: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 27

MySQL - Vorbereitungen

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

Page 28: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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

Page 29: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 29

SQL – Auswählen

SELECT * FROM Tabelle

WHERE Feldname=Kriterium

ORDER BY Feldname

Page 30: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 30

SQL – Löschen

DELETE FROM Tabelle

WHERE Feldname=Kriterium

Page 31: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 31

SQL – Anfügen

INSERT INTO Tabelle

( Feldname, Feldname, … )

VALUES

('Text', Zahl, …)

Page 32: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 32

SQL – Ändern

UPDATE Tabelle

SET Feldname = 'Text', Feldname=Zahl

WHERE Feldname=Kriterium

Page 33: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 33

PHP und MySQL

Verbindung zum MySQL-Server herstellen

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

Page 34: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 34

PHP und MySQL

Verbindung zur Datenbank herstellen

@mysql_select_db("Datenbank")

Page 35: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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")

Page 36: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

Folie 36

PHP und MySQL

Verbindung zur Datenbank trennen

mysql_close();

Page 37: Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen

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