380 likes | 569 Views
Programmieren mit PHP. Mag. Andreas Starzer weloveIT – EDV Dienstleistungen. 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. HTML und HTML-Formulare.
E N D
Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
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
HTML und HTML-Formulare HTML • 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
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
HTML und HTML-Formulare Formular wird 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">
HTML und HTML-Formulare Wichtige 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
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
Das CGI Programmiersprachen • erlaubt ist alles, was am Server ausgeführt werden kann • standardmäßig verfügbar sind zumeist Perl und PHP
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
Abruf HTML-Seite Anfrage (URL) • sucht HTML-Seite • liefert Seite HTML-Seite Client Webserver
Abruf PHP-Seite Anfrage (URL) • sucht PHP-Seite • führt PHP-Code aus • liefert Ergebnis Ergebnisseite Client Webserver
PHP-Basics PHP (Hypertext Preprozessor) • ist einfach zu lernen • schnell • auf den Homepagebereich spezialisiert • Code wird in HTML-Seiten eingebettet • ist eine Interpretersprache
PHP-Basics Code wird mittels <?php … ?> in HTML-Seiten eingebettet. Dateiendung der Seiten ist .php
PHP-Beispiele Beispiele 1 – 10 betreffen nur PHP Beispiel 11 betrifft PHP und MySQL
PHP-Beispiele Das Programmieren mit PHP wird in den nun folgenden Beispielen Schritt für Schritt erklärt.
Beispiel 1 <html> <head> <title>PHP Hello world</title> </head> <body> <?php echo "Hello World"; ?> </body> </html>
Beispiel 2 $form=$_POST["txt_Name"]; echo "Ihr Name ist <b>" . $form . "</b>";
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";
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; }
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; } }
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"; }
Beispiel 7 echo "<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);
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 . "'> "; }
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";
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;
MySQL • DBMS • Administration per phpmyadminhttps://www.univie.ac.at/phpmyadmin/ • 1 Datenbank verfügbar – Name ist Username • Daten werden in Tabellen abgelegt • Daten werden durch SQL-Abfragen manipuliert
MySQL - Vorbereitungen • Einloggen • Datenbank auswählen • Tabelle neu anlegen • Felder definieren • Probedaten in Felder eintragen
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
SQL – Auswählen SELECT * FROM Tabelle WHERE Feldname=Kriterium ORDER BY Feldname
SQL – Löschen DELETE FROM Tabelle WHERE Feldname=Kriterium
SQL – Anfügen INSERT INTO Tabelle ( Feldname, Feldname, … ) VALUES ('Text', Zahl, …)
SQL – Ändern UPDATE Tabelle SET Feldname = 'Text', Feldname=Zahl WHERE Feldname=Kriterium
PHP und MySQL • Verbindung zum MySQL-Server herstellen mysql_connect("Server","User","Passwort");
PHP und MySQL • Verbindung zur Datenbank herstellen @mysql_select_db("Datenbank")
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")
PHP und MySQL • Verbindung zur Datenbank trennen mysql_close();
Das war´s • Danke für die Aufmerksamkeit • Viel Spaß mit PHP • Nicht vergessen – Das EDV-Zentrum bietet PHP-Workshops an • Schönes Wochenende