Mag. Andreas Starzer weloveIT – EDV Dienstleistungen Programmieren mit PHP Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
URL Uniform Resource Locator Bestandteile sind: Beispiel: Protokoll Der klassische Abruf einer WWW-Seite erfolgt in diesen Schritten. Beim „Surfen“ wird die Eingabe der WWW-Adresse durch das Anklicken eines Links ersetzt. 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 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 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 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 Der klassische Abruf einer WWW-Seite erfolgt in diesen Schritten. Beim „Surfen“ wird die Eingabe der WWW-Adresse durch das Anklicken eines Links ersetzt. Anfrage (URL) sucht HTML-Seite liefert Seite HTML-Seite Client Webserver
Abruf PHP-Seite Anfrage (URL) sucht PHP-Seite führt PHP-Code aus Der klassische Abruf einer WWW-Seite erfolgt in diesen Schritten. Beim „Surfen“ wird die Eingabe der WWW-Adresse durch das Anklicken eines Links ersetzt. 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; } $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; 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"; Case "blau": $HTMLColor = "0000" . $Color; 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 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
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