1. Wie wird Text beziehungsweise HTML-Code aus einem CGI-Skript an den Webserver weitergegeben, der die Inhalte wiederum an den anfragenden Browser übergibt? |
|
Ausgabe in stdout (Standardausgabe) |
|
Ausgabe in den speziellen I/O-Kanal HTTP_SERVER |
|
Ausgabe über die Methode out() des Server-Objekts |
|
Text außerhalb von CGI-Befehlsblöcken wird automatisch an den Webserver weitergereicht |
2. Was ist kein besonderer Vorteil der Sprache Perl, sondern gilt für alle CGI-Skripte? |
|
Es gibt besonders praktische Funktionen zur Textmanipulation |
|
Das besonders praktische Modul CGI steht zur Verfügung |
|
Das Skript kann Formulardaten entgegennehmen, die der Benutzer eingegeben hat |
|
Die Verfügbarkeit regulärer Ausdrücke ist für die CGI-Programmierung sehr praktisch |
3. Wie wird in Perl auf die CGI-Umgebungsvariable DOCUMENT_ROOT zugegriffen? |
|
$DOCUMENT_ROOT |
|
$ENV [DOCUMENT_ROOT] |
|
$ENV {'DOCUMENT_ROOT'} |
|
getenv ("DOCUMENT_ROOT") |
4. Was enthält die CGI-Umgebungsvariable HTTP_REFERER? |
|
Die Adresse des entfernten Clients |
|
Die URL des Dokuments, das auf das aktuelle angefragte Skript verwies |
|
Die Cookies, die mit der aktuellen Anfrage gesendet wurden |
|
Die Browserversion, die der entfernte Client verwendet |
5. Welche CGI-Umgebungsvariable gibt die MIME-Types an, die der entfernte Client zulässt? |
|
CONTENT_TYPE |
|
QUERY_STRING |
|
SERVER_SOFTWARE |
|
HTTP_ACCEPT |
6. Wann befinden sich gesendete Formulardaten in der CGI-Umgebungsvariable QUERY_STRING? |
|
Nie |
|
Immer |
|
Bei GET-Anfragen |
|
Bei POST-Anfragen |
7. Wie muss das Modul CGI.pm in Perl importiert werden, damit es imperativ verwendet werden kann? |
|
use CGI qw/:standard/; |
|
use CGI qw/:noobjects/; |
|
use CGI; |
|
Das Modul ist und bleibt objektorientiert |
8. Wie lassen sich mittels CGI.pm Formulardaten lesen? |
|
Aus dem Hash %formdata |
|
Mit der Funktion param() |
|
Aus den Hashes %GET beziehungsweise %POST, je nach Anfragemethode |
|
Aus dem Array @params |
9. Wie lassen sich schwerwiegende Perl-Fehlermeldungen in CGI-Skripten zu Debugging-Zwecken im Browser ausgeben? |
|
use CGI::FatalsToBrowser; |
|
use Carp::CGI; |
|
use Carp qw/:browsermapping/; |
|
use CGI::Carp qw/fatalsToBrowser/; |
10. Wie lässt sich in CGI.pm-Skripten automatisch das Ende des HTML-Dokuments (</body></html>) ausgeben (beispielsweise mit dem CGI-Objekt $query)? |
|
print $query->end(); |
|
$query->end_document(); |
|
print $query->end_html; |
|
$query->endbody(); |
11. Wie lässt sich über das CGI.pm-Objekt $query korrekt die zentrierte HTML-Hauptüberschrift "Willkommen" ausgeben? |
|
$query->h1 ({align => 'center'}, "Willkommen"); |
|
print $query->h1 ("Willkommen", align => 'center'); |
|
$query->h1 ((-align => 'center'), "Willkommen"); |
|
print $query->h1 ({-align => 'center'}, "Willkommen"); |
12. Wofür steht die Abkürzung PHP? |
|
Private HomePage |
|
PHP:Hypertext Preprocessor |
|
Pine, Harris, Pennywise (die drei Entwickler der Sprache) |
|
Processing HTML Professionally |
13. Welchen Vorteil besitzt PHP unter anderem gegenüber klassischen CGI-Skripten? |
|
Nur PHP kann auf Datenbanken zugreifen |
|
PHP funktioniert mit jedem Webserver, CGI nur mit dem Apache |
|
PHP funktioniert unter vielen Betriebssystemen, CGI nur unter UNIX/Linux |
|
Gewöhnliches HTML braucht nicht umständlich in Ausgabebefehle gepackt zu werden |
14. Wie wird PHP-Code in einem PHP-Skript gekennzeichnet? |
|
Selbstverständlich gar nicht, da es eben ein PHP-Skript ist |
|
<?php ... ?> |
|
<php> ... </php> |
|
<code language="PHP"> ... </code> |
15. Welche Aussage über Variablen in PHP ist zutreffend? |
|
Je nach Variablentyp beginnen die Namen mit $, @ oder % |
|
PHP-Variablen haben feste Datentypen (typisierte Sprache) |
|
Jeder Variablenname beginnt mit einem Dollarzeichen |
|
Variablennamen dürfen keine Ziffern enthalten |
16. Wie wird in einem PHP-Skript der Inhalt eines Formularfeldes namens betrag ausgelesen, wenn die Anfrage mit POST übertragen wurde? |
|
$_POST['betrag'] |
|
$PARAM['betrag'] |
|
param ('betrag') |
|
postvars ('betrag') |
17. Was liefert eine PHP-Formulierung nach dem Schema $_SERVER[...]? |
|
Eine Fehlermeldung |
|
Die aktuelle Serverversion (z.B. "Apache 2.0.46/UNIX; mod_php") |
|
Die in den eckigen Klammern bezeichnete CGI-Umgebungsvariable |
|
Das in den eckigen Klammern bezeichnete Formularfeld |
18. Wie lässt sich in PHP die Liste "Mo", "Di", "Mi" ... "So" (Wochentage) in dem Array $wtage speichern? |
|
$wtage = ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"]; |
|
$wtage->push ("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"); |
|
Leider nur einzeln: $wtage[0] = "Mo"; $wtage[1] = "Di"; ... $wtage[6] = "So"; |
|
$wtage = array("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"); |
19. Wie wird in PHP ein Hash erzeugt? |
|
In PHP gibt es keine Hashes |
|
Nach dem Schema: $hash{'index'} = wert; |
|
Ein Hash ist in PHP ein gewöhnliches Array, außer, dass seine Indizes Strings sind |
|
Nach dem Schema: hash ('hashname', 'index') = wert; |
20. Welche PHP-Funktion zerlegt den String $text an jeder Stelle, an der der String $trenn vorkommt, in das Array $arr? |
|
$arr = explode ($text, $trenn); |
|
$arr->push ($text, each ($trenn)); |
|
split ($text, $trenn, $arr); |
|
$text->separate ($trenn, $arr); |
21. Welchen Kommentar gibt es in PHP nicht? |
|
# Kommentar |
|
/* Kommentar */ |
|
' Kommentar |
|
// Kommentar |
22. Wie wird in PHP eine Funktion namens test() deklariert, die mittels return eine ganze Zahl zurückgibt? |
|
function test() { ... } |
|
int test() { ... } |
|
sub test { ... } |
|
method test:int { ... } |
23. Wie lässt sich die Variable $var in der Parameterliste einer PHP-Funktion ein Parameter als Call by Reference definieren? |
|
\$var |
|
byref $var |
|
gar nicht |
|
&$var |
24. Welcher wesentliche Unterschied besteht zwischen der Objektorientierung in PHP und der Java-Objektorientierung? |
|
PHP kennt keine Vererbung |
|
PHP ermöglicht die Mehrfachvererbung |
|
PHP erlaubt keine Geheimhaltung von Eigenschaften und Methoden |
|
PHP kennt keine expliziten Konstruktoren |
25. Welche der folgenden Befehle erzeugen eine Instanz einer PHP-Klasse namens Info und rufen anschließend ihre Methode getState() auf? |
|
Info $info; $info.getState(); |
|
$info = new Info(); $info->getState(); |
|
$info = Info->newInstance(); $info->getState(); |
|
$info = Info.new(); $info.getState(); |
26. Wie wird die Eigenschaft $wert einer PHP-Klasse innerhalb einer Methode dieser Klasse angesprochen? |
|
this.$wert |
|
$self.wert |
|
$self->$wert |
|
$this->wert |
27. Was muss in einem HTML-Formular geschehen, damit ein PHP-Skript alle Werte eines mehwertigen Formularelements (Checkbox-Gruppe, Auswahlmenü mit der Option multiple) als Array entgegennehmen kann? |
|
Nichts Besonderes - dies geschieht automatisch |
|
Es muss per Hidden-Feld folgende Option übergeben werden: <input type="hidden" name="php_option" value="process_multival" /> |
|
Der Gruppenname des Formularelements muss mit leeren eckigen Klammern enden; z.B. test[] |
|
Das Formular muss mittels GET versandt werden und den MIME-Type multipart/form-data besitzen |
28. Was ist beim Setzen eines Cookies in einem PHP-Skript zu beachten? |
|
Cookies können nicht mittels PHP, sondern nur per JavaScript gesetzt werden |
|
Es muss geschehen, bevor auch nur ein einziges Zeichen des eigentlichen HTML-Dokuments ausgegeben wurde |
|
In der Konfigurationsdatei php.ini muss die Option set_cookies eingestellt sein |
|
Der Apache-Webserver benötigt dafür das Modul mod_cookie; andere Webserver benötigen ähnliche Hilfsmittel |
29. Wie wird in PHP das Cookie 'info' ausgelesen? |
|
cookie ('info') |
|
$_SERVER ('cookie', 'info') |
|
read_cookie ('info') |
|
$_COOKIE ['info'] |
30. Was muss am Anfang eines PHP-Skripts stehen, das auf Session-Daten zugreift? |
|
session_register(); |
|
include ("session.inc"); |
|
session_start(); |
|
Nichts Besonderes |
31. Wie werden in PHP Dateien gelesen, die mit einem HTML-Formular hochgeladen wurden? |
|
Mit der Funktion get_upload() |
|
Aus dem Array $_FILES |
|
Je nach HTTP-Methode aus einem der Arrays $_POST oder $_GET |
|
PHP kann keine Datei-Uploads verarbeiten |
32. Wie wird in PHP die Datei info.txt zum Lesen geöffnet und über die Datei-Handle-Variable $file verfügbar gemacht? |
|
open ($file, "info.txt", "r"); |
|
$file = open ("<info.txt"); |
|
$file = fopen ($file, "r"); |
|
open ("info.txt", $file, "R_O"); |
33. Welcher PHP-Befehl liest eine Zeile (oder maximal 1000 Zeichen) aus dem Datei-Handle $fh? |
|
get ($fh, 1000) |
|
fgets ($fh, 1000) |
|
$_FILES [$fh][1000] |
|
$fh->read (1000); |
34. Wie wird im Format-String des PHP-Befehls date() die zweistellige Minute angegeben? |
|
i |
|
%m |
|
mm |
|
m |
35. Welches Format besitzt die PHP-Funktion time()? |
|
"Tue Nov 11, 2003, 20:45:00 CET" |
|
Sekunden seit EPOCH |
|
"20031111204500" (für 11.11.2003, 20:45:00) |
|
Je nach Locale ein anderes |
36. Welche Einschränkung besitzt die PHP-Datei-Umbenennungsfunktion rename() unter Windows, aber nicht unter UNIX? |
|
Es lassen sich keine Gruppen von Dateien per regulärem Ausdruck umbenennen |
|
Es lässt sich als neuer Name nur eine Datei mit derselben Endung wie zuvor angeben |
|
Es lässt sich als neuer Name nur eine Datei angeben, die noch nicht existiert |
|
Es lassen sich nur Dateien umbenennen, keine Verzeichnisse |
37. Was bewirkt die PHP-Anweisung flock($file, 2); ? |
|
Die Datei, auf die $file verweist, wird für anderweitige Zugriffe gesperrt |
|
Die Datei, deren Name in $file steht, wird schreibgeschützt |
|
Die Datei, auf die $file verweist, erhält die sehr restriktiven Zugriffsrechte 0440 (r--r-----) |
|
Die Sperre der Datei, deren Name in $file steht, wird wieder aufgehoben |
38. Wie wird in PHP eine Verbindung zum MySQL-Datenbankserver auf dem lokalen Rechner mit dem Benutzernamen "dbuser" und dem Passwort "geheim" hergestellt? |
|
$connID = mysql_connect ("", "dbuser;geheim"); |
|
$connID = db_access ("mysql://127.0.0.0?dbuser:geheim"); |
|
$connID = mysql_connect ("127.0.0.1", "dbuser", "geheim"); |
|
$connID = db_access ("mysql://localhost", "dbuser"); // Passwort muss interaktiv eingegeben werden |
39. Was bewirkt die PHP-Anweisung mysql_select_db ("einkauf"); |
|
Es handelt sich um eine kompakte Schreibweise für: mysql_query ("SELECT * FROM einkauf"); |
|
Auf dem MySQL-Server, zu dem gerade eine Verbindung besteht, wird die Datenbank "einkauf" ausgewählt |
|
In der aktuellen MySQL-Datenbanktabelle wird die Spalte "einkauf" ausgewählt |
|
Die Anweisung ist fehlerhaft; statt mysql_select_db() muss es mysql_select_table() heißen |
40. Wie wird in PHP die nächste Zeile aus der aktuellen MySQL-Abfrage $query gelesen? |
|
$row = mysql_get_result($query); |
|
mysql_get_row ($query, $row); |
|
$row = mysql_fetch_row ($query); |
|
$row = $query->get_line(); |
Anzeige der korrekten Antworten bei Fehlern?
|
|
Ja, bitte. |
|
Nein, danke (ich möchte es selbst erneut versuchen). |
|
|