Springe zum Hauptinhalt
Universitäts­rechen­zentrum
Module
Universitäts­rechen­zentrum 

Hinweise zu PHP-Modulen

Arbeit mit Datenbanken

Mit PHP sind Zugriffe auf Datenbanken einfach möglich → Datenbank-Service des URZ für MySQL- und PostgreSQL-Datenbanken.

Dokumentation

Sicherheit

Prüfen von E-Mail-Adressen

Wenn in Formularen E-Mail-Adressen abgefragt werden, müssen die vor einer Verwendung unbedingt überprüft werden. Benutzen Sie dazu die TUCAL-Funktion check_mailadr().

Prüfen von E-Mail-Adressen

Senden von E-Mail

Mit PHP können auch E-Mails versendet werden. Aber Achtung: Dies sollte keine Funktion sein, die öffentlich zugänglich ist oder sehr viele E-Mails versendet – im Zweifelsfall bitte nachfragen! Damit die Absende-Adresse richtig gesetzt und der Zeichensatz richtig bestimmt wird, gibt es eine eigene Funktion dieses Servers: tuc_mail() – Beschreibung siehe Versenden von E-Mail:

Skript zum Versenden einer E-Mail
Falls Sie die Funktion tuc_mail() nicht einsetzen können oder wollen, beachten Sie bitte unbedingt die
Hinweise in diesem Beispiel
.

Mit tuc_mail() können nur Text-Mails ohne Anhang gesendet werden. Für erweiterte Funktionen nutzen Sie auf den zentralen Servern das Modul PHPMailer:

  • Beispiel
  • Tutorial (Englisch)

Verschleiern von E-Mail-Adressen

E-Mail-Adressen dürfen nicht im Klartext auf Webseiten stehen, damit Werbe-Mail-Sender keine E-Mail-Adressen „einsammeln“ können. Zum Verschleiern von E-Mail-Adressen (und auch anderen Daten, wie z.B. Telefonnummern) kann eine PHP-Funktion benutzt werden:

<?php   require_once('php/mail.inc');
        # Erste Subdomain angezeigt, wenn innerhalb des Campusnetzes aufgerufen
        echo prot_mailadr('max.mustermann@s2006.tu-chemnitz.de');
        # nach dem @ weggeschnitten:
        echo prot_mailadr('maxi.musterfrau@s2010.tu-chemnitz.de'1);

        # geht auch für eine Tel/Fax-Nummer, wenn das 2. Argument ein Zahl: wie viel wird angezeigt
        echo prot_mailadr('0371 / 531 12345'11);

        # wenn das 2. Argument eine Zeichenkette, wird diese angezeigt
        echo prot_mailadr('0371 / 531 12345''Telefonnummer');
?>

Auf der erzeugten Webseite steht:

Bevor die Adresse bzw. die Daten angezeigt werden, muss man noch einen Code abtippen – außer als angemeldeter Nutzer.

Funktionen für VoIP-Telefonie

Die VoIP-Telefone der TU Chemnitz können via Web gesteuert werden. So kann per Klick das Wählen einer Telefonnummer an Ihrem Telefon (mit persönlicher Anmeldung) vorbereitet werden (Click2Dial). Auch dafür gibt es eine vorbereitete PHP-Funktion telnu().

<?php   require_once('php/tel.inc');
        echo "Ruf doch mal an: " telnu('123456');
?>

Abfrage von LDAP-Daten

Im zentralen LDAP-Server der TU Chemnitz stehen wesentliche Informationen zu Benutzern der TU. Diese sind auch mit PHP-Funktionen abfragbar. Zur Vereinfachung existieren einige vordefinierte Funktionen, die Sie benutzen können.

Hinweis: Hierbei handelt es sich um personenbezogene Daten. Beachten Sie unbedingt entsprechende Datenschutzbestimmungen!

Zur Verwendung muss im Seitenkopf die Datei php/ldap.inc eingeschlossen werden:

# LDAP-Funktionen einbinden
require_once('php/ldap.inc');
Siehe auch:

Daten für ein Loginkennzeichen abfragen

$info = ldap_userinfo('loginkennzeichen');

Fragt das LDAP-Verzeichnis nach Daten für den Benutzer mit 'loginkennzeichen' ab und liefert ein Feld mit entsprechenden Daten.

Rückgabewert

Ein Array $info mit Attributen und Werten:

$info['name']
Vorname Name (UTF-8)
$info['nachname']
Nachname (UTF-8)
$info['vorname']
Vorname (UTF-8)
$info['mail']
E-Mail-Adresse
$info['tel']
Telefonnummer
$info['ou']
immatr. Fakultät bzw. Struktureinheit
$info['ous']
array mit evt. mehreren Struktureinheiten der Person
$info['ounumber']
Strukturnummer
$info['ounumbers']
array mit evtl. mehreren Strukturnummern der Person
$info['login']
Loginkennzeichen
$info['adresse']
Straße, PLZ Ort
$info['raum']
Raumnummer
$info['raumlink']
Link zu Campusfinder für Raum
$info['titel']
akademischer Titel (falls erfasst)
$info['gebaeude']
veraltet: Gebäude
Abfrage von Benutzerdaten für Loginkennzeichen „otto“: Ausgabe
PHP-Anweisungen

Bitte beachten Sie: Im öffentlichen Verzeichnis sind Daten aller TU-Mitarbeiter/innen enthalten. Studierende können der Veröffentlichung der Daten widersprechen – diese Daten sind dann nicht abrufbar. Daten beurlaubter Mitarbeiter oder Externer sind ebenfalls nicht abrufbar.

Abfragen mehrerer Datensätze entsprechend einem Filter

$infos = ldap_info('filter');

Sie können Datensätze mehrerer Personen anhand eines LDAP-Filters abfragen.

Rückgabewert

Ein zweidimensionales Array $infos sortiert nach Nachnamen, je gefundenem Nutzer ein Feld mit Attributen wie bei ldap_userinfo() (s. o.):

$info[0]['name']
Vorname Name (UTF-8) zu Person 1
$info[0]['nachname']
Nachname (UTF-8) zu Person 1
$info[1]['name']
Vorname Name (UTF-8) zu Person 2
Personenliste mit E-Mail und Telefon für Strukturnummer 1342…: Ausgabe
PHP-Anweisungen

Daten für eine öffentliche LDAP-Gruppe abfragen

$members = ldap_groupinfo('grp:name');

Fragt das LDAP-Verzeichnis nach den Mitgliedern der Gruppe mit dem Namen 'grp:name' ab und liefert ein Feld mit entsprechenden Daten.

Rückgabewert

Ein Array $members mit den Loginkennzeichen der Gruppenmitglieder

Grafiken und PDF-Dokumente

Unsere PHP-Installation enthält die Erweiterung GD zum Umgang mit Grafiken. Die kommerzielle PDFlib zum Bearbeiten von PDF-Dateien ist nicht mehr verfügbar. Zum Erzeugen von PDF-Dokumenten bitte LaTeX verwenden – Kommando: pdflatex.

PHP berechnet Grafiken mit der GD-Erweiterung
Die PHP-Anweisungen:
gd.php
FunctionGraph.class.php

Social-Media-Funktionen: „Gefällt mir!“ usw.

Damit können Webautoren sehr einfach „Teilen“ und „Gefällt mir!“ von Facebook sowie Empfehlungen an Twitter und LinkedIn in eine Webseite einfügen. Umgesetzt wurde die 2-Klick-Lösung für mehr Datenschutz des Heise-Verlags. Darstellung und Funktion sehen Sie auf dieser Seite unten.

  • Vorteil: Bei Besuch unserer Webseiten werden keine Daten unserer Webbesucher an die Dienste übermittelt. Erst wenn der Benutzer klickt, werden die Funktionen eingebunden und Daten an die Anbieter der sozialen Dienste übermittelt.
  • Nachteil: Der Besucher muss zwei Mal klicken, um die Aktion wirklich auszulösen.

Zum Einbinden dieser Funktion muss die Datei php/sm.inc eingeschlossen werden:

# Nutzung von Social-Media-Funktionen
require_once('php/sm.inc');
Zur Beachtung:
  • Browser muss JavaScript unterstützen, sonst werden diese Funktionen nicht wirksam.
  • Webseite muss jQuery einbinden (ist standardmäßig der Fall).

Funktionen

string sm_share([string $orientation [, NULL, NULL, array $services]])

erzeugt HTML/Script-Code zum Einbinden von Facebook/Twitter/LinkedIn-Funktionen
Parameter
$orientation 'h' (Standard), 'v' Aussehen: horizontal (nebeneinander), vertikal (untereinander)
NULL leer lassen wird nicht benutzt,
leerer String ist auch möglich ('')
NULL leer lassen wird nicht benutzt,
leerer String ist auch möglich ('')
$services array() Welche Dienste, z. B. array('facebook', 'twitter', 'linkedin');
Werte siehe Beschreibung, Option data-services (nicht alles bei uns umgesetzt)
Rückgabewert

HTML-Text, kann mit echo ausgegeben werden.

Zeigt die Funktionen für soziale Netzwerke nebeneinander an.

<?php require_once('php/sm.inc');
      echo sm_share();
?>

Zeigt die Funktionen für soziale Netzwerke untereinander an.

<?php require_once('php/sm.inc');
      echo sm_share('v'NULLNULL, array('twitter''facebook''linkedin'));
?>