Einführung MySQL mit PHP Materialien zur Fortbildungsreihe C für die Informatik in SII
Einführung MySQL mit PHP Sie können bisher... Datenbanken mit SQL verwalten dynamische Web-Seiten mit PHP erstellen Sie lernen nun ... dynamische Web-Seiten mit den Daten einer Datenbank zu erstellen Datenbanken mit Hilfe von Web-Seiten zu verwalten Web server PHP Web browser HTTP HTML Parameter MySQL SQL
Grundstruktur einer SQL-Anfrage Grundprinzip: Verbindung zur Datenbank aufbauen SQL-Anfrage durchführen Ausgabe der Ergebnisse in einer Tabelle Verbindung zur Datenbank In Phase5: SQL-Anfrage Dynamische Tabelle
Verbindung zur Datenbank 1.) Verbindung zum MySQL-Server mit IP-Adresse, Username und Passwort 2.) Auswahl der Datenbank mit Name der Datenbank Bei einem Fehler: or die(mysql_error()) Abbruch des Ladens der Seite Ausgabe einer Standard-SQL-Fehlermeldung Bei Zugriffen auf $conn wird nun automatisch die richtige Datenbank benutzt.
SQL - Anfrage 1.) SQL-Anfrage in String speichern z.B. SELECT, INSERT oder UPDATE 2.) Anfrage durchführen das Ergebnis ist ein zweidimensionales Array Identifikation der Datenbank über die Verbindung ($conn). Ergebnisarray belegt evt. sehr viel Speicherplatz und muss daher mit mysql_free_result($result) wieder freigegeben werden.
Ausgabe einer dynamischen Tabelle 1.) Normaler Table-Tag 2.) Die Zeilen werden dynamisch erzeugt mysql_fetch_array liefert eine Zeile des Ergebnis-Arrays while-Schleife sorgt für wiederholte Ausführung 3. ) Mit $line[„Feldname“] Zugriff auf einzelne Felder Achtung: Groß-/Kleinschreibung entscheidend!! Übung
Insert / Update - Operationen 1.) HTML-Seite mit Formular Daten werden abgefragt 2.) PHP-Seite mit Zugriff auf die Datenbank Insert / Update-Operation wird durchgeführt Ein Datenbankzugriff kann nur beim Aufruf einer neuen Seite durchgeführt werden, da php-Skripte und Datenbankzugriffe serverseitig ausgeführt werden. Web server PHP Web browser HTTP HTML Parameter MySQL SQL
Insert / Update - Operationen
Tricks 1.) Cachen verhindern Dynamische Seiten dürfen nicht im Cache gespeichert werden => Ablaufzeit auf 0s festlegen 2.) Input-Felder vom Typ Hidden Daten können zum nächsten php-Dokument übergeben werden
Weitere Auswertungsmöglichkeiten 1.) Anzahl der Ergebniszeilen 2.) ID eines neuen Datensatzes bei automatisch nummerierten Schlüsselfeldern
Übungen 1.) Dynamische Tabelle Erstellen Sie ein php-Dokument, das alle angemeldeten Schüler mit Namen, Vornamen und Klasse anzeigt. 2.) Insert - Operation Erstellen Sie eine HTML-Seite mit Formular, in das die Daten eines neuen Schülers eingegeben werden können, und eine php-Seite, die diese Daten dann in die Datenbank aufnimmt. 3.) Bonusaufgaben - Kontrollieren Sie, ob die eingegebene Klasse existiert, bevor Sie einen Schüler aufnehmen. - Erstellen Sie ein php-Dokument, das alle verfügbaren Postkarten incl. Bild darstellt.
Mails aus php-Skripten SMTP-Server muss in php.ini eingetragen werden SMTP-Server darf keine Authentifizierung verlangen 2x ändern
Mails aus php-Skripten Verwendung von PHP-Mailer Hiermit ist eine Authentifizierung möglich Es werden einige Variablen nach Wunsch initialisiert: $mail->IsSMTP(); setzt Mailer SMTP zu verwenden $mail->Host = "smtp.mailserver.de"; spezifiziert den Server $mail->SMTPAuth = true; SMTP-Authentifizierung einschalten $mail->Username = "nutzername"; SMTP Login-Name $mail->Password = "secret"; SMTP Passwort $mail->From = "absender@netz.de"; Absender-Adresse $mail->FromName = "Absender ausführlich"; $mail->AddAddress("empfaenger@netz.de"); hinzufügen einer Empfänger-Adresse $mail->WordWrap = 50; setzt Zeilenumbruch auf 50 Zeichen $mail->IsHTML(false); setzt eMail-Format auf kein-HTML $mail->Subject = $betreff; eMail-Betreff $mail->Body = $mailtext; eMail-Text
Mails aus php-Skripten Verwendung von PHP-Mailer Der eigentliche Versand erfolgt mit der send-Methode, welche eine Überprüfung ermöglicht: if(!$mail->Send()) { echo "Message could not be sent.<br>"; echo "Mailer Error: ".$mail->ErrorInfo; exit; } echo "<i>Message has been sent.</i><br><br>";