Mailinglisten-Archive |
Die FAQ zu dieser Newsgroup findet sich unter der URL
http://www.koehntopp.de/php/
Sie enthaelt die nachstehend aufgefuehrten Fragen und deren
Antworten.
de.comp.lang.php FAQ
Ansprechpartner für diese FAQ ist die Mailingliste
german-faq_(at)_lists.netuse.de
_________________________________________________________________
Build Date: Mon M䲠12 21:30:48 CET 2001
$Id: faq.xml,v 1.3 2001/01/11 22:47:20 kk Exp $
$Id: about.xml,v 1.22 2001/02/08 18:38:47 mjansen Exp $
$Id: arrays.xml,v 1.8 2001/03/03 11:04:23 mjansen Exp $
$Id: cms.xml,v 1.5 2001/02/12 18:56:58 j-f Exp $
$Id: code.xml,v 1.9 2001/02/10 17:39:06 j-f Exp $
$Id: database_mysql.xml,v 1.12 2001/02/08 10:08:34 wuerfl Exp $
$Id: database_oracle.xml,v 1.10 2001/02/15 15:52:34 wuerfl Exp $
$Id: databases.xml,v 1.9 2001/02/06 00:45:10 j-f Exp $
$Id: datetime.xml,v 1.7 2001/03/02 20:29:47 mjansen Exp $
$Id: functions.xml,v 1.11 2001/01/14 23:00:20 j-f Exp $
$Id: install.xml,v 1.11 2001/02/07 19:45:20 sbergmann Exp $
$Id: mail.xml,v 1.9 2001/02/21 11:12:26 guido Exp $
$Id: objects.xml,v 1.6 2001/02/03 11:15:06 j-f Exp $
$Id: open_exec.xml,v 1.14 2001/03/12 15:46:05 mjansen Exp $
$Id: openpub.xml,v 1.3 2000/12/29 22:15:32 kk Exp $
$Id: phpinterpreter.xml,v 1.8 2001/02/24 15:25:39 j-f Exp $
$Id: phplib.xml,v 1.9 2001/02/10 00:09:50 j-f Exp $
$Id: phpmyadmin.xml,v 1.1 2000/12/29 20:40:22 kk Exp $
$Id: regexp.xml,v 1.6 2001/03/02 09:06:15 mjansen Exp $
$Id: scripts.xml,v 1.11 2001/03/03 11:11:05 mjansen Exp $
$Id: strings.xml,v 1.7 2001/02/26 07:17:48 kk Exp $
$Id: version4.xml,v 1.3 2001/01/16 20:51:03 j-f Exp $
$Id: version4_session.xml,v 1.10 2001/03/06 20:24:08 mjansen Exp $
$Id: webserver.xml,v 1.4 2001/02/06 00:44:12 j-f Exp $
$Id: webvariablen.xml,v 1.5 2001/01/13 11:14:51 kk Exp $
$Id: xml.xml,v 1.2 2001/02/24 16:39:54 kk Exp $
_________________________________________________________________
Inhaltsverzeichnis
1. Über diese FAQ
1.1. Was ist das hier?
1.2. Wie ist die Charta dieser Newsgroup?
1.3. Was ist PHP?
1.4. Welche Version von PHP ist aktuell?
1.5. Was bedeutet LAMP, WAMP und so weiter?
1.6. Wo finde ich die aktuelle Version dieser FAQ?
1.7. Kann ich eine Kopie der FAQ per Mail zugesendet bekommen?
1.8. Du hast doch für die FAQ geschrieben. Ich habe da eine Frage zu
PHP...
1.9. Das ist eine tolle FAQ! Kann ich die als Unterrichtsmaterial
verwenden? Kann ich sie drucken?
1.10. Was soll ich tun, wenn ich einen Fehler in der FAQ gefunden
habe?
1.11. Kann ich selber für diese FAQ schreiben?
1.12. Wo finde ich weitere Informationen über PHP?
1.13. Welche Bücher gibt es über PHP?
1.14. Soll ich Jobangebote in de.comp.lang.php posten?
1.15. Wer kann mir einen Provider empfehlen?
1.16. Warum bekomme ich Ermahnungsmails, wenn ich Autoren in der
Gruppe auf Netiquetteverstöße aufmerksam mache?
1.17. Warum bekomme ich Ermahnungsmails?
1.18. Warum sind Flames sinnlos?
1.19. Ich verwende Outlook Express und keiner hat mich lieb.
1.20. Was ist TOFU? Wieso finden die Anderen meine Artikel schwer zu
lesen?
1.21. Wie verweise ich auf die FAQ?
2. Installation und Inbetriebnahme
2.1. Suse Linux: Wie installiere ich PHP?
2.2. Suse Linux 6.2 und 6.3: Warum funktionieren die libgd-Funktionen
nicht korrekt?
2.3. Wie compiliere ich ein aktuelles PHP auf Linux mit Apache Server?
2.4. Ich habe Probleme PHP3 selbst zu compilieren.
2.5. Wie installiere ich PHP auf Unix mit Netscape Server?
2.6. Wie installiere ich CGI-PHP auf einem Apache-Server?
2.7. Wie installiere ich PHP auf Windows?
2.8. Was ist PHP/FI und wo kann ich es bekommen? Was ist phtml?
2.9. Linux: Meine shared libraries werden nicht gefunden.
3. Allgemeine Fragen zu PHP
3.1. Wie vergleicht sich PHP mit anderen bekannten
Webentwicklungssystemen?
3.2. Wie vergleicht sich die Performance von PHP zu Perl?
3.3. Wie kann ich mein ASP-Programm in PHP übersetzen?
3.4. CGI PHP oder Modul?
3.5. PHP-Scripte von Windows nach Unix portieren?
3.6. Welche Editoren sind für PHP geeignet?
3.7. Zeitgesteuerte PHP-Scripte und Shellscripte
3.8. Wie bette ich PHP in HTML ein? (Beispielprogramm)
3.9. Wie finde ich heraus, wie mein PHP-Interpreter konfiguriert ist?
3.10. Wo finde ich die php3.ini bzw. die php.ini?
3.11. Wie kann ich auf Umgebungsvariablen zugreifen?
3.12. Wie kann ich auf den HTTP-Request-Header zugreifen?
3.13. Gibt es noch mehr interessante Variablen im Environment?
3.14. Ich verwende PHP (Version 3) als Apache-Modul. Wie kann ich dies
konfigurieren?
3.15. Was bedeuten master value und local value in phpinfo()?
3.16. Welche Konfigurationsvariablen kann ich nicht in
.htaccess-Dateien verwenden?
3.17. Was genau bewirkt safe_mode und ist das sicher?
3.18. "Fatal error: Maximum execution time exceeded"
3.19. Was ist --enable-force-cgi-redirect? Warum enthält $PHP_SELF den
Pfad zum CGI-Interpreter?
3.20. Warum funktioniert set_time_limit() nicht wie angepriesen?
3.21. Was ist das für ein _(at)_-Zeichen vor einigen Funktionsaufrufen?
3.22. Wie kann ich auf Kommandozeilen-Argumente zugreifen?
3.23. Wie kann ich einen Parameter von einer PHP-Seite an eine andere
weitergeben?
3.24. Wie kann ich eine PHP-Präsentation auf CD brennen?
3.25. Werden meine PHP-Seiten von einer Suchmaschine indiziert?
3.26. Wie kann ein Besucher meiner Seite den PHP-Code im Browser
sehen?
3.27. Gibt es für PHP einen "Dokumentationsgenerator" ähnlich Javadoc
für Java?
3.28. Wie kann ich die Ausgabe meines Scriptes in einen anderen Frame
umlenken?
3.29. Warum ist es schlecht, mit dem Referer zu arbeiten?
4. Typen und Funktionen
4.1. Welche Variablenarten gibt es in PHP und wie greife ich auf sie
zu?
4.2. Welche Datentypen gibt es in PHP?
4.3. Wie schreibe ich eine Funktion mit einer variablen Anzahl von
Argumenten?
4.4. Wie gebe ich mehrere Werte mit einer Funktion zurück?
4.5. Wie schreibe ich ein Script, das beliebige Parameter verarbeitet?
4.6. Variable Variablen
4.7. Was ist der Unterschied zwischen isset() und einem Vergleich auf
den Leerstring?
4.8. Wie kann ich JavaScript-Funktionen aus PHP heraus aufrufen?
5. Stringfunktionen
5.1. Was ist besser, print() oder echo?
5.2. Wie zerlege ich einen String?
5.3. Wie zerlege ich eine URL?
5.4. Wie gebe ich eine Zahl formatiert aus?
5.5. Wie kann ich Zeilenumbrüche in <br> umwandeln?
5.6. Wie breche ich einen String nach x Zeichen um?
6. Reguläre Ausdrücke
6.1. Wie kann ich mehr über reguläre Ausdrücke lernen?
6.2. Soll ich ereg() oder preg() verwenden?
6.3. Wie verwende ich die preg()-Funktionen?
6.4. Was sind reguläre Ausdrücke?
6.5. Welche Bauelemente kommen in regulären Ausdrücken vor?
6.6. Wie teste ich auf die Existenz mehrerer Suchworte in einem
String/Array?
6.7. Wie isoliere ich Suchstrings aus einem größeren Text?
6.8. Wie finde ich alle Links in einer HTML-Datei?
6.9. Wie ersetze ich alle relativen Links in einer HTML-Datei?
6.10. Wie überprüfe ich einen String auf seinen Inhalt?
7. Arrays und Arrayvariablen
7.1. Wie kann ich ein Element an ein Array anfügen?
7.2. Wie kann ich ein Array aufzählen?
7.3. Wie greife ich auf ein mehrdimensionales Array zu?
7.4. Wie kann ich ein Array nach einem beliebigen Kriterium sortieren
lassen?
7.5. Wie kann ich Duplikate aus einem Array entfernen?
7.6. Wie kann ich ein Array von einer Seite auf eine andere
transportieren?
8. Klassen und Objekte
8.1. Warum Klassen und Objekte benutzen?
8.2. Wie definiere ich eine Klasse? Wie erzeuge ich ein Objekt?
8.3. Was ist $this?
8.4. Was ist extends? Was ist Vererbung?
8.5. Was ist ein Konstruktor?
8.6. Was sind polymorphe Funktionen? Kann ich sie simulieren?
8.7. Wie kann ich Metainformationen über eine Klasse bekommen?
9. Variablen und Formulare
9.1. Wie übergebe ich Variablen aus einem Formular an ein PHP-Script?
9.2. Wie kann ich ohne Formular Variablen an ein Script übergeben?
9.3. Wie viele Formularelemente kann ich auf einer Seite haben?
9.4. Sollte ich besser GET oder POST verwenden?
9.5. Wie kann man ein <select multiple> verarbeiten?
9.6. Wie kann man Checkboxen verarbeiten?
9.7. Wie funktioniert Datei-Upload über HTML-Formulare?
9.8. Wie kann ich aus einer Datenbanktabelle einen <Select> erzeugen?
9.9. Wie verarbeite ich <input type=image>?
10. Dateifunktionen und Programmausführung
10.1. Wie kann ich eine Datei auslesen?
10.2. "Warning: Supplied argument is not a valid File-Handle resource"
10.3. Wie kann ich ein externes Programm von PHP aus starten?
10.4. Wie realisiere ich einen Dateidownload mit PHP?
10.5. Wie kann ich in einer Datei eine Zeile einfügen oder löschen?
10.6. Wie kann ich einen Datei-Upload per FTP durchführen?
10.7. Unix: Welche Zugriffsrechte brauche ich, um eine Datei
anzulegen?
10.8. Wie kann ich mit PHP auf die serielle Schnittstelle zugreifen?
10.9. Warum funktioniert unlink() unter Windows nicht?
11. Datums- und Kalenderprobleme
11.1. Wie kann ich das aktuelle Datum bekommen?
11.2. Wie kann ich ein deutsches Datum in MySQL-Format umwandeln (und
umgekehrt)?
11.3. Wie kann ich die Anzahl der Tage zwischen zwei Daten bestimmen?
11.4. Wie kann ich das Datum des Vortages bestimmen?
11.5. Wieviel Tage hat der aktuelle Monat?
12. Mail lesen und schreiben
12.1. Was ist SMTP?
12.2. Was ist das Domain Name System?
12.3. Unix: Wie funktioniert der Mailversand?
12.4. Windows: Wie funktioniert der Mailversand?
12.5. Windows: Wo finde ich Mailserver, die ich bei mir installieren
kann?
12.6. Wie kann ich eine HTML-Mail versenden? Wie kann ich den Absender
meiner Mail festlegen?
12.7. Wie kann ich ein Attachment mit einer Mail versenden?
12.8. Wie kann ich eine Mail effizient an sehr viele Empfänger
versenden?
12.9. Wie kann ich die Gültigkeit einer Mailadresse testen?
12.10. Wie kann ich überprüfen, ob eine versendete Mail tatsächlich
angekommen ist?
12.11. Wie kann ich feststellen, ob eine Mailadresse äußerlich gültig
ist?
12.12. Wie versende ich SMS mit PHP?
13. Datenbanken
13.1. Wie kann ich mehr über SQL lernen?
13.2. Wieso kann ich mehrere, durch Semikolon getrennte Statements
nicht ausführen?
13.3. Ist es sinnvoll, Bilder in einer Datenbank abzulegen?
13.4. Windows: Jeder Zugriff auf meine Datenbank dauert eine halbe
Minute!
13.5. Wie kann ich meine Datenbankperformance steigern?
13.6. Wie kann ich zwei Tabellen miteinander verknüpfen?
13.7. Was ist Aggregation? Was ist GROUP BY?
13.8. Was ist der Unterschied zwischen connect und pconnect?
13.9. Wie kann ich mein Datenbankpaßwort gegen Spionage sichern?
13.10. MySQL oder PostgreSQL?
13.11. Wie komme ich bei meinem Provider an die Datenbank?
13.12. Wie kann ich auf einen ODBC-Server (MSSQL, Access) zugreifen?
14. Datenbanken: MySQL
14.1. Kommt MySQL mit mehr als x Datensätzen pro Tabelle klar? Wie
stabil ist MySQL?
14.2. Wie greife ich auf eine MySQL-Datenbank zu?
14.3. "0 is not a MySQL result index"
14.4. Mein Script verbraucht so viel Speicher beim Datenbankzugriff.
14.5. Windows: "Call to unsupported or undefined function:
mysql_connect()"
14.6. Unix: "Call to unsupported or undefined function:
mysql_connect()"
14.7. "Call to unsupported or undefined function: mysql_errno()"
14.8. "MySQL-Server has gone away"
14.9. Wie kann ich eine CSV-Datei in MySQL importieren?
14.10. Wie kann ich eine CSV-Datei aus MySQL exportieren?
14.11. Wie kann ich die Datensätze der letzten 2 Wochen listen?
14.12. Wie kann ich eine Tabelle nach IP-Nummern sortieren lassen?
14.13. Wie lösche ich alle Datensätze, die älter als n Tage sind?
14.14. Wie kann ich Bilder in einer MySQL-Datenbank speichern?
14.15. Wie kann ich einen zufälligen Eintrag aus einer MySQL-Tabelle
auswählen?
14.16. Ich habe eine Tabelle mit n Einträgen und möchte auf jeder
Seite m davon anzeigen.
14.17. Wozu ist auto_increment nützlich? Wie erfahre ich den Wert des
letzten Inkrements?
14.18. Wie lege ich den Initialwert des auto_increment fest? Läuft
dieser Wert über?
14.19. Wie realisiere ich eine Volltextsuche mit MySQL?
14.20. Meine Datenbankabfrage/Mein SQL-Statement funktioniert nicht.
15. Datenbanken: Oracle
15.1. Ora oder OCI?
15.2. Ich habe Oracle-Support mit --with-oci8 in PHP eincompiliert,
nun startet der Apache nicht mehr.
15.3. Unix: "Call to unsupported or undefined function: OCILogon()"
15.4. "Warning: ORA-12154: TNS:could not resolve service name"
15.5. Der Webserver verbraucht jetzt viel mehr Speicher als ohne
Oracle, mache ich was falsch?
15.6. Umlaute, die in die Datenbank eingetragen wurden, werden nicht
korrekt dargestellt.
15.7. "Warning: ORA-12705: invalid or unknown NLS parameter value
specified"
15.8. Gibt es auto_increment unter Oracle?
15.9. Ich verwende das obige Beispiel. Wie kann ich nun
mysql_insert_id() emulieren?
15.10. Wie selectiere ich nur bestimmte Zeilen (LIMIT unter MySQL)?
15.11. Wie speichere ich Datensätze mit mehr als 2000 Zeichen ab?
15.12. Wie bearbeite ich LOBs mit PHP?
15.13. Wie nenne ich Spalten um?
15.14. Wie kann ich SQL Skriptdateien in Oracle ausführen?
15.15. Welche freien Tools gibts für Oracle?
15.16. Ich bekomme ein Oracle Fehlernummer ORA-XXXXX, wo stehen die
Fehlercodes?
15.17. Welche Bücher zu Oracle sind empfehlenswert?
16. phpMyAdmin
16.1. Was ist phpMyAdmin?
16.2. Ich bin kein MySQL-Administrator. Wie kann ich phpMyAdmin nur
für mich selbst installieren?
16.3. Ich bin MySQL-Administrator und möchte ein Exemplar phpAdmin für
alle meine User installieren.
16.4. Wieso kann ich den Inhalt meiner Tabelle nicht editieren?
16.5. Wieso werden TIMESTAMP-Felder nicht auf die aktuelle Zeit
gesetzt, wenn ich eine neue Zeile einfüge?
16.6. Wieso kann ich in phpMyAdmin mehrere durch Semikolon getrennte
SQL-Statements ausführen, nicht aber mit normalen PHP-Funktionen?
17. PHPLIB
17.1. Was ist PHPLIB?
17.2. Wo kann ich PHPLIB bekommen?
17.3. Mein Provider hat PHPLIB nicht installiert.
17.4. Ich habe keinen Zugriff auf die php.ini.
17.5. "Oops, php3_SetCookie called after header has been sent!"
17.6. GET-Mode oder Cookie-Mode? Sind Cookies böse?
17.7. Was ist das Sevenval-Patent?
17.8. Warum verwendet PHPLIB nicht die IP-Nummer des Browsers als
Schutz gegen eine Übernahme der Session?
17.9. Warum sind die Session-IDs von PHPLIB so lang?
17.10. Was schreibe ich denn nun in meine local.inc?
17.11. ERROR 1146: Table 'xyz.active_sessions' doesn't exist!
17.12. Wie kann ich mit PHPLIB und Frames arbeiten?
17.13. Internet Explorer: Meine Seiten werden nicht aktualisiert.
17.14. Wie kann ich Reloads durch den User erkennen und verhindern?
17.15. Wie kann ich meine Variablen initialisieren und registrieren?
17.16. Wie kann ich auto_init benutzen, um Session-Statistiken zu
erfassen?
17.17. Wie kann ich eine Datei mit einem Paßwort schützen?
17.18. Wie kann ich mich gegen einen LDAP-Server authentisieren?
17.19. Wie kann ich Zugriffsrechte in PHPLIB definieren?
17.20. Wie kann ich einen Warenkorb realisieren?
17.21. Wie kann ich eine Menünavigation erzeugen?
17.22. Was sind Templates? Warum sind Templates nützlich?
18. Webserver und PHP
18.1. Apache: Kann ich PHP auch auf .html-Dateien anwenden?
18.2. Apache: Wie kann ich ein Verzeichnis mit einem Paßwort schützen?
18.3. Apache: Wie kann ich ein Verzeichnis mit PHP mit einem Paßwort
schützen?
18.4. Kann ich mit CGI PHP ein Verzeichnis mit einem Paßwort schützen?
18.5. Wie kann ich mit PHP die Bildschirmauflösung des Browsers
herausfinden?
18.6. Wie kann ich das Caching einer Seite verhindern?
18.7. "Document contains no data"
18.8. Wie erzeuge ich mit PHP einen Redirect auf eine andere Seite?
18.9. Was sind Sessions und warum sind sie nützlich?
18.10. Wie kann ich mit PHP WAP-Seiten erzeugen?
18.11. Wie bringe ich eine Suchmaschine dazu, meine Seiten zu
indizieren?
19. Content Management Systeme
19.1. Was ist ein Content Management System? Warum ist es nützlich?
19.2. Welche PHP-basierten Content Management Systeme gibt es?
20. Häufig nachgefragte Standardscripte
20.1. Wie kann ich eine schummelsichere Abstimmung codieren?
20.2. Wie kann ich einen HTTP POST-Request absenden?
20.3. Wie kann ich eine Volltextsuche realisieren?
20.4. Wie kann ich mit PHP News lesen und schreiben?
20.5. Wie kann ich einen Onlineshop mit PHP realisieren?
20.6. Wie kann ich die IP des Users erfahren?
20.7. Wie kann ich ein JPEG-Bild verkleinern?
20.8. Wie kann ich die Performance zweier Befehle vergleichen?
20.9. Wie kann ich den Inhalt eines Verzeichnisses samt dem Inhalt
aller Unterverzeichnisse ausgeben?
20.10. Wie kann ich aus einem Zahlenbereich von x bis y, zufällig n
Zahlen auswählen, so daß keine Zahl doppelt vorkommt?
20.11. Wie kann ich zählen, wie oft auf einen Link geklickt wurde?
20.12. Wie kann ich das Datum der letzten Änderung einer Datei
erfahren?
20.13. Wie kann ich ein Forum mit PHP realisieren?
20.14. Wie biete ich meine Seiten mehrsprachig an?
20.15. Wie kann ich ermitteln, wieviele Besucher gerade meine Seite
betrachten?
20.16. Wie erstelle ich eine Webmail-Oberfläche mit PHP?
21. Guter Code
21.1. Vermeide globale Variablen.
21.2. Halte Code links. Verwende Wächter statt Schachtel-if.
21.3. 'or' und 'and' sparen Klammern.
21.4. Prüfe importierte Parameter. Traue niemandem.
21.5. Von HTML zu PHP: Schreibe Formularverarbeitungen in Normalform.
21.6. Trenne Aussehen und Inhalt.
22. PHP 4
22.1. Ist PHP 4 stabil?
22.2. Wo bekomme ich PHP4?
22.3. Wie übersetze ich PHP4?
22.4. Was ist neu in PHP4?
22.5. Wie kann ich PHP4 (CGI und Apache-Modul) konfigurieren?
23. PHP4: Sessions
23.1. Wie realisiere ich Sessions mit PHP4?
23.2. Was ist eine Session-ID? Was ist PHPSESSID?
23.3. Wie stelle ich fest, ob der Client die Cookie-Annahme
verweigert?
23.4. Wie übergebe ich Session-IDs ohne Cookies an eine andere Seite?
Was ist Fallback?
23.5. Warning: Cannot send session cookie - headers already sent...
23.6. Wie kann ich den Namen der Session ändern, ohne in die php.ini
einzugreifen?
23.7. Wie schütze ich Sessiondaten zusätzlich?
23.8. Wie groß darf die Menge an Daten sein, die ich in einer Session
speichern darf?
23.9. Wie kann ich mir den Inhalt der Sessiondaten anzeigen lassen?
23.10. Wie kann ich mir den Inhalt der Cookiedaten anzeigen lassen?
23.11. Sessiondaten werden nach session_destroy() nicht gelöscht. Wie
kann ich sie trotzdem löschen?
23.12. Was geschieht im Filesystem des Servers wenn ich Sessions
benutze?
23.13. Ich mchte zum ersten mal session_*() auf Win32 nutzen und
bekomme eine Fehlermeldung. Was lft da falsch?
24. Open Publication License
24.1. Englische Version
24.2. Deutsche Version
1. Über diese FAQ
1.1. Was ist das hier?
1.2. Wie ist die Charta dieser Newsgroup?
1.3. Was ist PHP?
1.4. Welche Version von PHP ist aktuell?
1.5. Was bedeutet LAMP, WAMP und so weiter?
1.6. Wo finde ich die aktuelle Version dieser FAQ?
1.7. Kann ich eine Kopie der FAQ per Mail zugesendet bekommen?
1.8. Du hast doch für die FAQ geschrieben. Ich habe da eine Frage zu
PHP...
1.9. Das ist eine tolle FAQ! Kann ich die als Unterrichtsmaterial
verwenden? Kann ich sie drucken?
1.10. Was soll ich tun, wenn ich einen Fehler in der FAQ gefunden
habe?
1.11. Kann ich selber für diese FAQ schreiben?
1.12. Wo finde ich weitere Informationen über PHP?
1.13. Welche Bücher gibt es über PHP?
1.14. Soll ich Jobangebote in de.comp.lang.php posten?
1.15. Wer kann mir einen Provider empfehlen?
1.16. Warum bekomme ich Ermahnungsmails, wenn ich Autoren in der
Gruppe auf Netiquetteverstöße aufmerksam mache?
1.17. Warum bekomme ich Ermahnungsmails?
1.18. Warum sind Flames sinnlos?
1.19. Ich verwende Outlook Express und keiner hat mich lieb.
1.20. Was ist TOFU? Wieso finden die Anderen meine Artikel schwer zu
lesen?
1.21. Wie verweise ich auf die FAQ?
1.1 Was ist das hier?
Antwort von Kristian Köhntopp
Dies ist die FAQ (FAQ = Frequently Asked Questions) für die Newsgruppe
de.comp.lang.php. Sie erklärt den Zweck der Newsgruppe, auf welche
Weise man hier am einfachsten an sinnvolle Antworten kommt und dient
als Sammlung von Antworten auf häufig gestellte Fragen in der Gruppe.
Wenn Du Kommentare oder Vorschläge zu diesem Artikel hast oder wenn Du
selber einige Abschnitte in diesen Artikel einbringen möchtest,
wendest Du Dich am besten per Mail an die Mailingliste zur
de.comp.lang.php FAQ, <german-faq_(at)_lists.netuse.de>.
1.2 Wie ist die Charta dieser Newsgroup?
Antwort von Kristian Köhntopp
Diese Newsgruppe richtet sich an alle Benutzer und Programmierer von
PHP, einer Programmiersprache mit Schwerpunkt auf der Entwicklung von
Webanwendungen. Es können alle Themen rund um PHP besprochen werden,
seien es nun Probleme mit der Installation, der Anwendung oder
Programmierung in PHP oder der Erweiterung des PHP- Interpreters
selbst.
1.3 Was ist PHP?
Antwort von Kristian Köhntopp
Die Abkürzung PHP steht offiziell für "PHP: Hypertext Preprocessor".
Dies ist eine rekursive Abkürzung im Stile des GNU -Projektes. PHP ist
eine Scriptsprache zur dynamischen Erstellung von Webseiten. Die
Anweisungen der Sprache sind dabei in den HTML-Code einer Webseite
eingebettet, d.h. jede HTML-Seite ist auch ein gültiges PHP-Programm.
Die Syntax von PHP ist ähnlich wie die von C, Java oder JavaScript.
Die Sprache zeichnet sich vor allen Dingen durch ihre leichte
Erlernbarkeit, ihre ausgezeichneten Datenbankanbindungen und
Internet-Protokolleinbindungen und die Unterstützung zahlreicher
weiterer Funktionsbibliotheken aus. PHP stellt so für den
Web-Entwickler das ideale Werkzeug zur Erstellung von dynamischen
Inhalten dar.
PHP ist freie Software im Sinne der Debian Free Software Guidelines
(DFSG). Quelltext und Binaries des PHP-Interpreters sind frei
erhältlich und können für alle kommerziellen und nichtkommerziellen
Zwecke eingesetzt werden; jeder kann den PHP-Quelltext
weiterentwickeln und die Änderungen an das PHP-Projekt zurückfließen
lassen. Der genaue Lizenztext ist in der Datei license-php.txt
enthalten, die Bestandteil der PHP-Distribution ist.
PHP läuft auf allen gängigen Unix-Versionen und auf den verschiedenen
Windows-Versionen (Windows 95/98/ME/NT/2000). Als CGI-Programm kann
PHP mit jedem Webserver zusammenarbeiten. Für einige Webserver, allen
voran Apache, stehen auch Modulversionen zur Verfügung, die sehr viel
effizienter ausgeführt werden.
Die Homepage des PHP-Projektes ist http://www.php.net. Mirrors dieser
Site sind in vielen Ländern vorhanden, unter anderem auch in
Deutschland unter der URL http://www.php3.de oder http://de.php.net.
Von dort kann man die jeweils aktuelle Releaseversion des Interpreters
sowie Binaries für eine Reihe von Plattformen herunterladen. Ebenso
finden sich dort das Handbuch sowie Archive der englischen
Mailinglisten.
1.4 Welche Version von PHP ist aktuell?
Antwort von Kristian Köhntopp
Die aktuelle Produktionsversion von PHP ist Version 4.0.4pl1. Nur
diese Version sollte auf Produktionsmaschinen eingesetzt werden. Die
letzte Version von PHP 3 ist Version 3.0.17. PHP 3 wird nicht mehr
weiterentwickelt, es finden nur noch marginale Bugfixes statt.
Die aktuellste Version ist immer auf der offiziellen PHP Homepage
verfügbar.
1.5 Was bedeutet LAMP, WAMP und so weiter?
Antwort von Kristian Köhntopp
LAMP ist die Abkürzung für Linux, Apache, MySQL und PHP. Sie
beschreibt ein System zur Entwicklung und zum Betrieb von
Webanwendungen, bestehend aus Betriebssystem, Webserver,
Datenbankserver und Programmiersprache.
Analog steht die Abkürzung WAMP für Windows, die Windows-Version von
Apache, die Windows-Version von MySQL und die Windows-Version von PHP.
Viele PHP-Anwender entwicklen lokal auf WAMP und überspielen die
fertigen Seiten dann auf einen LAMP- oder SAMP (Solaris, Apache,
MySQL, PHP)-Server bei einem Provider.
1.6 Wo finde ich die aktuelle Version dieser FAQ?
Antwort von Kristian Köhntopp
Eine Downloadversion dieser FAQ im HTML-Format findet sich unter der
URL http://www.koehntopp.de/php/faq-html.tar.gz.
Windows-Anwender können die FAQ auch im CHM- oder HLP-Format laden,
die in der jeweils aktuellsten Version unter der Adresse
http://www.koehntopp.de/php/faq.chm oder
http://www.koehntopp.de/php/faq.hlp abgelegt ist. (Zum Ansehen von
CHM-Dateien ist eine hinreichend neue Version des Microsoft Internet
Explorer notwendig).
Die aktuelle Version dieser FAQ ist unter der URL
http://www.koehntopp.de/php zu lesen. Eine Version in einer einzigen
Datei befindet sich unter der URL
http://www.koehntopp.de/php/faq-single.html.
Die XML-Quelltexte dieser FAQ sind unter der URL
http://www.koehntopp.de/php/faq.tar.gz zu finden.
1.7 Kann ich eine Kopie der FAQ per Mail zugesendet bekommen?
Antwort von Kristian Köhntopp
Die FAQ wird nicht als Mail versendet. Die Frage Wo finde ich die
aktuelle Version dieser FAQ? beschreibt, wie und in welchen Formaten
die FAQ bezogen werden kann.
1.8 Du hast doch für die FAQ geschrieben. Ich habe da eine Frage zu PHP...
Antwort von Kristian Köhntopp
Es ist sinnlos, Fragen per Mail an einen der Autoren dieser FAQ zu
senden. Du belastest damit eine einzelne Person mit Arbeit, statt die
Arbeit auf die Newsgroup zu verteilen. Außerdem ist diese Arbeit
verschwendet, denn die Antwort wird nur von Dir und nicht von den
anderen Lesern der Newsgroup gelesen. Auch kann die Antwort nicht vom
FAQ-Team weiterverarbeitet werden.
Sende Deine Frage bitte an die Newsgroup. Keiner der Autoren der FAQ
wird Dir privaten Support per Mail leisten.
1.9 Das ist eine tolle FAQ! Kann ich die als Unterrichtsmaterial verwenden?
Kann ich sie drucken?
Antwort von Kristian Köhntopp
Dieser Text ist wie alle Werke urheberrechtlich geschützt. Er ist
jedoch unter den Bedingungen der Open Publication License, Version 0.4
oder höher verfügbar. Die genaue Lizenz findet sich in Open
Publication License.
Wenn dieser Text reproduziert oder verwendet wird, bitten die Autoren
um Meldung eines solchen Angebotes an german-faq_(at)_lists.netuse.de unter
Angabe einer Kontaktadresse. Diese Kontaktperson ist herzlich
eingeladen, sich auf der Mailingliste german-faq_(at)_lists.netuse.de
anzumelden, um über Aktualisierungen des Textes informiert zu werden.
1.10 Was soll ich tun, wenn ich einen Fehler in der FAQ gefunden habe?
Antwort von Martin Jansen
Wenn Du einen Fehler in einem der Texte in der FAQ gefunden hast, dann
bitten wir Dich, uns diesen mitzuteilen. Dazu schickst Du am besten
eine E-Mail an german-faq_(at)_lists.netuse.de. Unter dieser Adresse
erreichst Du die Mailingliste der de.comp.lang.php-FAQ, welche alle
Autoren der FAQ abonniert haben.
1.11 Kann ich selber für diese FAQ schreiben?
Antwort von Kristian Köhntopp
Ja, sofern Du die in Open Publication License beschriebene Lizenz für
Dich akzeptieren kannst. Diese Lizenz bedeutet im wesentlichen, daß Du
an Deinen eigenen Texten das volle Urheber- und Verwertungsrecht
behältst, aber jedermann das Recht einräumst, die FAQ zu nutzen und
unverändert und mit Hinweis auf die Originalquelle und die
Originalautoren zu reproduzieren.
Rein technisch benötigst Du die folgenden Utensilien:
* Einen Rechner mit Texteditor und PHP zum Testen.
* Einen CVS-Client.
* optional einen beliebigen XSLT-Prozessor (z.B. Sablotron).
Es gibt eine Mailingliste german-faq_(at)_lists.netuse.de, die Nachrichten
über Änderungen an der FAQ enthält und bei der man Hilfe für Autoren
bekommt. Man kann die Mailingliste unter der Adresse
german-faq-subscribe_(at)_lists.netuse.de bestellen.
Es existiert ein CVS-Archiv, aus dem die aktuelle Version der FAQ
bezogen werden kann. Die CVSROOT dieses Archives ist
:pserver:cvsread_(at)_phplib.netuse.de:/repository mit dem Paßwort cvsread.
Das Modul heißt german-faq. Ein CVSWEB-Zugang zu dem Archiv ist unter
http://phplib.netuse.de/cgi/cvsweb.cgi zu finden.
_________________________________________________________________
$ cvs -d :pserver:cvsread_(at)_phplib.netuse.de:/repository login
Password: cvsread
$ cvs -d :pserver:cvsread_(at)_phplib.netuse.de:/repository checkout german-faq
...
# Aktualisieren der Version mit
$ cd german-faq
$ cvs -z9 update -dAP
_________________________________________________________________
Diese Version ist immer aktueller als die auf dem Webserver
veröffentlichte Version.
1.12 Wo finde ich weitere Informationen über PHP?
Antwort von Kristian Köhntopp
Zu PHP gibt es zahlreiche Informationsquellen in deutscher und
englischer Sprache.
Deutsche Ressourcen im WWW
* Artikel von Kristian Köhntopp
* Dynamic Webpages
* Jörg Baachs LAMP-Installationsanleitung
* Martin Jansens PHP Seiten
* PHP mit dem PWS (Windows Personal Web Server)
* PHP-Center
* PHP-Homepage
* Tutorials für PHP und MySQL
* WAMP HowTo
* PHP und MySQL Tutorial
* PHP-Schulung von Ulf Wendel und Johann-Peter Hartmann
* php3 Forum
Internationale Ressourcen im WWW
* PHP Homepage
* Englische FAQ
* Zend ist die PHP4 Scriping Engine
* Annotated Online Manual
* Berber's PHP3 Example Page
* Devshed Developer Forum
* PHP Classes Repository
* PHP Knowledge Base
* PHP Manual for Homesite
* PHP3 Code Exchange
* Tutorials auf phWizard.net
* phpWizard.net
* phpbuilder.com
Fertige Anwendungen in PHP
Ein Verzeichnis von Projekten, die PHP verwenden, findet man im
Projektverzeichnis der offiziellen Homepage.
* Phorum, ein Diskussionsforum.
* phpSlash, ein Diskussionsforum.
* IMP, ein Webmail Interface.
* Bookmarker, eine Bookmark-Verwaltung.
* PHPLIB, eine objektorientierte Bibliothek zur
Anwendungsentwicklung.
* phpMyAdmin, ein Managementsystem für MySQL-Datenbanken.
* MyGuestbook, ein Gästebuch.
* phpAds, ein Verwaltungssystem für Banner Ads.
* phpHoo, eine Art Mini-Yahoo.
1.13 Welche Bücher gibt es über PHP?
Antwort von Martin Jansen
In Deutsch:
* PHP 4. Dynamische Webauftritte professionell realisieren, Egon
Schmid, Christian Cartus; unter Mitarbeit von Wolfgang Drews,
Hartmut Holzgraefe, Kristian Köhntopp, Uwe Steinmann, Christian
Wenz; Markt+Technik Verlag.
* PHP 4: Grundlagen und Profiwissen, Webserver-Programmierung unter
Windows und Linux, Jörg Krause; Carl Hanser Verlag.
* PHP kurz & gut, Rasmus Lerdorf, dt. Übersetzung Ingo Marks;
O'Reilly Verlag.
* PHP 4 Webserver-Programmierung für Um- und Einsteiger, Thomas
Theis; Galileo Press.
* Das Einsteigerseminar PHP 4.0, Dr. Susanne Wigard; BHV.
* PHP 4 + MySQL, Rolf D. Stoll, Gudrun Anna Leierer; Data Becker.
* PHP 4 - Tutorial & Referenz, Klaus Schmidt; Computer & Literatur
Verlag GmbH.
* Jetzt lerne ich PHP 4, Matt Zandstra; Markt+Technik Verlag.
* Webanwendungen mit PHP 4.0 entwickeln, Tobias Ratschiller, Till
Gerken; Addison-Wesley.
* PHP 4, Uwe Hess, Günther Karl; BHV.
In Englisch:
* PHP Pocket Reference, Rasmus Lerdorf; O'Reilly & Associates.
* Professional PHP Programming, Jesus Castagnetto, Harish Rawat,
Sascha Schumann, Chris Scollo, Deepak Veliath; Wrox Press Inc.
* Core PHP Programming, Leon Atkinson; Prentice Hall.
* PHP3: Programming Browser-Based Applications, David Medinets;
MacGraw-Hill.
* Building Database Applications on the Web Using PHP3, Craig
Hilton, Jeff Willis; Addison-Wesley.
* PHP Essentials A Better Way to Learn PHP - Includes Version 4,
Julie C. Meloni; Prima-Tech.
* PHP Fast & Easy Web Development, Julie C. Meloni; Prima-Tech.
* SAMS Teach Yourself PHP4 in 24 Hours, Matt Zandstra; Sams.
* Web Application Development with PHP 4.0, Tobias Ratschiller, Till
Gerken; New Riders Publishing.
* PHP 4 Bible, Tim Converse, Joyce Park; IDG Books Worldwide.
* PHP and MySQL Web Development, Luke Welling, Laura Thomson; Sams.
* Beginning PHP 4, Jon Blan, Wankyu Choi, Allan Kent, Ganesh Prasad,
Chris Ullmann; Wrox Press Inc.
* PHP Developer's Cookbook, Sterling Hughes, with contributions from
Andrei Zmievski; SAMS.
* PHP Developer's Dictionary, R. Allen Wyke, Michael J. Walker and
Robert Cox; Sams.
Weitere nützliche Titel:
* MySQL, Paul DuBois.
* Oracle 8i. Die umfassende Referenz. Version 8i, 8.0.x und 7.x.,
George Koch, Kevin Loney; Carl Hanser Verlag.
* Oracle8 für den DBA. Verwalten, optimieren, vernetzen, Uwe
Herrmann, Dierk Lenz, Günter Unbescheid; Addison-Wesley.
* Oracle 8. Tuning. Version 7 bis Version 8., Michael J. Corey,
Michael Abbey, Daniel J. Dechichio; Carl Hanser Verlag.
* Reguläre Ausdrücke., Jeffrey E. F. Friedl.
Ein weiteres Bücherverzeichnis findet sich auf der offiziellen
Homepage von PHP: http://www.php.net/books.php
1.14 Soll ich Jobangebote in de.comp.lang.php posten?
Antwort von Kristian Köhntopp
Eine kurze Umfrage im Januar 2000 in de.comp.lang.php hat ergeben, daß
Jobangebote in der Newsgroup toleriert werden, auch wenn sie nach
Charta streng genommen off-topic sind - solange sie folgenden
Ansprüchen an die äußere Form genügen:
* Jobangebote sollen im Betrefftext des Artikels die Kennzeichnung
[JOB] haben. Auf diese Weise sind sie leicht erkennbar und können
von den Leuten, die sie nicht sehen wollen leicht unterdrückt
werden, während Sie von den Leuten, die einen Job suchen, leicht
gefunden werden.
* Jobangebote sollten mit der Headerzeile Followup-To: poster
veröffentlicht werden. de.comp.lang.php nimmt die Veröffentlichung
von Jobangeboten hin, ist aber nicht zur Diskussion über
Jobangebote gedacht.
* Jobangebote sollten nicht übermäßig oft veröffentlicht werden:
Jeder Job sollte nur genau einmal angepriesen werden und
Arbeitgeber mit ständigen oder wiederkehrenden Jobangeboten
sollten nicht öfter als einmal im Monat veröffentlichen. Es hat
keinen Sinn sich aufzudrängen, und bei einem unbeliebten
Arbeitgeber wird in der jetzigen Arbeitsmarktsituation wohl kaum
jemand anfangen.
* Jobangebote sollten Netiquettekonform sein: Der Absendername soll
eine Person ("Paul Arbeitgeber") und keine Funktion ("Personalbüro
Arbeitgeber GmbH") sein. Die angegebene Mailadresse soll gültig
sein. In Newsartikel soll kein HTML verwendet werden und Netscape
Visitenkarten sollen nicht verwendet werden - Hochglanz-Blendwerk
ist nett für das Marketing, aber wir sind R&D.
* Jobangebote können in die formal korrekte Newsgroup
de.markt.arbeit.biete crosspostet werden. Dann ist es doppelt
wichtig, daß ein Followup-To: poster oder Followup-To:
de.markt.arbeit.d gesetzt wird. de.comp.lang.php ist nicht zur
Diskussion von Jobangeboten geeignet!
Wenn Sie als Arbeitgeber nicht in der Lage sind, im USENET
intelligent, kooperativ und regelkonform aufzutreten, sollten Sie
andere Medien für Ihre Personalaquise verwenden, die sich Ihnen
leichter erschließen. Ihre Corporate Identity wird es Ihnen danken.
1.15 Wer kann mir einen Provider empfehlen?
Antwort von Kristian Köhntopp
Eine kurze Umfrage im Februar 2000 in de.comp.lang.php hat ergeben,
daß Fragen nach Providern oder Providerspezifika in dieser Newsgroup
nicht willkommen sind. Die korrekte Newsgroup für diese Frage ist
de.comm.provider.webspace.
Ebenso unerwünscht sind providerspezifische Fragen wie Wie komme ich
bei xyz an die MySQL-Datenbank?. Der korrekte Ansprechpartner für
solche Fragen wäre der Support des betreffenden Providers bzw. dessen
FAQ. Werden derartig providerspezifische Fragen dennoch in die
Newsgroup gestellt, ist es höflich, Folloup-To: poster zu setzen und
hinterher eine Zusammenfassung der eingegangenen Mails zu posten. Eine
Zusammenfassung besteht nicht darin, die Texte der eingegangenen Mails
hintereinanderzuhängen und in die Gruppe zu werfen, sondern
idealerweise in einem Text, der vergleichsweise schmerzlos in diese
FAQ integriert werden kann.
Eine Providerdatenbank wird unter anderem bei Dynamic Web Pages und
beim PHP-Center betrieben.
1.16 Warum bekomme ich Ermahnungsmails, wenn ich Autoren in der Gruppe auf
Netiquetteverstöße aufmerksam mache?
Antwort von Kristian Köhntopp
Du hast vollkommen Recht: Manche Autoren in der Newsgroup verstoßen
gegen die Netiquette, wie sie in de.newusers.infos gepostet wird. Sie
tun dies etwa, indem sie ohne vollen Realnamen schreiben, inkorrekte
Mailadressen ("nospam", "deletethis") angeben oder Artikel mit HTML
oder Netscape-Visitenkarten versenden. Du sollst das auch nicht
hinnehmen.
In einer Newsgroup ist der Ton jedoch genauso wichtig wie der Inhalt.
Die Regulars von de.comp.lang.php sind stolz auf den freundlichen und
hilfsbereiten Ton in ihrer Newsgroup. Wenn Du also einen anderen Autor
an die Netiquette erinnern möchtest, dann tue dies bitte unbedingt per
Mail und nicht öffentlich in der Gruppe. Auch die Netiquette, auf
deren Einhaltung Du bestehst, fordert dies - Du kannst nicht auf der
einen Seite auf der Einhaltung der Netiquette bestehen und
andererseits selbst dagegen verstoßen, ohne Glaubwürdigkeit zu
verlieren.
Und bitte: Halte Deinen Ton auch in der Mail freundlich. Du wirst
leichter verstanden und erreichst das gewünschte Ziel viel eher.
Wenn Du meinst, Deinen Artikel dennoch öffentlich posten zu müssen,
etwa um einen Autoren an die korrekte Newsgroup zu verweisen, oder
weil die angegebene Mailadresse nicht erreichbar ist, oder weil sich
der Autor per Mail nicht einsichtig zeigt und sich niemand sonst
bisher darum gekümmert hat, dann halte Deinen Beitrag bitte freundlich
und konstruktiv. Das bedeutet: Beantworte die gestellte Frage oder
löse das Problem des Fragers so gut Du kannst und weise dann auf die
Netiquette hin. Wenn Du zu dem Problem des Fragers nichts beizutragen
hast, dann poste lieber gar nichts - oder schreibe eine Mail. Du bist
nicht allein in der Gruppe und Du mußt die Welt nicht selbst retten.
Ein anderer, der antworten kann, wird antworten und dabei
wahrscheinlich auch auf korrektes Verhalten hinweisen.
Regeldiskussionen gehören in die dafür vorgesehene Newsgroup,
de.soc.netzkultur.umgangsformen, oder sollen mit einem Followup-To:
poster versehen werden.
1.17 Warum bekomme ich Ermahnungsmails?
Antwort von Kristian Köhntopp
Du wirst nicht nur in de.comp.lang.php, sondern in den meisten anderen
deutschen Newsgroups auf korrektes Verhalten in den Newsgroups
hingewiesen, wenn ohne einen vollständigen Namen postest, Artikel ohne
gültige Absenderadresse schreibst, Artikel mit Werbung absetzt, HTML
oder Netscape-Visitenkarten in Deinen Artikeln versendest oder
mutwillig Artikel in die falschen Newsgroups schreibst.
Diejenigen von uns, die schon länger in den USENET News aktiv sind,
haben sich diese Regeln und Verhaltenformen nicht aus Spaß ausgedacht.
USENET existiert schon seit mehreren Jahrzehnten und die
Verhaltensnormen, auf deren Einhaltung bestanden wird, haben sich in
langen Jahren entwickelt und bewährt. Es gibt einen guten
Einführungstext aus de.newusers.infos mit dem Titel Warum soll ich
mich an die Regeln halten? der erklärt, warum die Dinge so sind, wie
sie sind.
Wenn Du von de.comp.lang.php Ergebnisse möchtest, also technische
Hilfe bei Deinen Problemen mit der Programmiersprache PHP, dann tust
Du gut daran, Deinen Texten auch eine akzeptable äußere Form zu geben.
1.18 Warum sind Flames sinnlos?
Antwort von Kristian Köhntopp
Newbies, die sich nicht an geltende Netzkulturen halten oder schlecht
formulierte Fragen stellen, kommen meist mit einem konkreten Problem
nach de.comp.lang.php. Diese Leute bekommen dann allerdings häufig
keine vernünftige Antwort, sondern werden mit Flames überhäuft. Der
Grund liegt darin, daß beide Parteien mit unterschiedlichen
Erwartungen und unterschiedlichen Kommunikationszielen in den Thread
gegangen sind, und sie nicht bereit waren, von diesen Zielen
abzuweichen. So ist keine sinnvolle Kommunikation zustande gekommen.
Eine sinnvolle Antwort auf ein schlecht formuliertes oder unhöfliches
Posting unterscheidet sich in den folgenden Punkten:
Zunächst einmal versucht sie freundlich zu bleiben, ohne in der Sache
nachzugeben.
Dann geht sie unmittelbar auf das Problem des Posters ein, d.h. sie
hilft ihm auf eine konstruktive Weise, sein unmittelbares Problem zu
lösen, um ihn wieder arbeitsfähig zu machen. Dies ist der wichtigste
Aspekt der Nachricht aus der Sicht des Newbies oder Posters: Es ist
egal, wie unsystematisch und offtopic die Nachricht von ihm oder Deine
Antwort ist - wenn Du mit ihm etwas anfangen willst, mußt Du zuerst
seinen unmittelbaren Block lösen, damit Du sinnvolle Dinge
nachschieben kannst.
Nachschieben heißt in diesem Zusammenhang, den Newbie mit
weiterführenden Informationen zu versorgen, damit er mehr lernt, als
er mit seiner Frage eigentlich bezweckt hatte. "Nachschieben" ist
wichtig, denn nur so bekommt man Newbies schrittweise zu Regulars
umgebaut.
Erst am Schluß eines Postings gibt es dann die Netiquette, quasi als
Dressing obendrauf. Mit dem ganzen Zucker, der vorab geliefert worden
ist, schmeckt das dann nicht mehr so bitter und dringt viel tiefer
ein. Immerhin ist der Newbie ernst genommen worden und hat produktive
Antworten bekommen, obwohl er sich mit seinem unerfahrenen Auftreten
in de.comp.lang.php ziemlich lächerlich gemacht hat - das ist wie in
Shorts und T-Shirt auf eine Sitzung mit lauter Anzügen und Schlipsen
zu kommen: "Selbstverständlich können wir Ihnen die 10.000 Tonnen
Schweinehälften liefern, und übrigens Herr Graczoll, fällt Ihnen was
an Ihrer Kleidung auf?"
Als Abschluß nocheinmal die Arbeitsschritte für guten technischen
Support in de.comp.lang.php als Spickzettel:
* Freundlich bleiben. Wenn Du nicht freundlich bleiben kannst, laß
jemand anders die Arbeit machen. Wir sind genug Leute hier, Du
mußt die Welt nicht alleine retten. Und wenn Du ausbrennst, ist
uns damit auch nicht geholfen.
* Den Block wegräumen. Der Neuling kommt mit einem unmittelbaren
Problem in die Gruppe. Räume dieses Problem weg. Wenn Du dieses
Problem nicht lösen kannst, laß den Neuling in Ruhe. Jemand anders
wird sich darum kümmern, Du musst die Welt nicht alleine retten.
Bevor der Neuling nicht aufgemacht ist, kann man sekundäre
Probleme nicht lösen. Auf den Neuling einzuschlagen, bevor er
aufgemacht ist, ist kontraproduktiv und macht die Arbeit für
andere nur schwieriger. Mache Deinen Kollegen die Arbeit nicht
schwierig - wenn Du nicht aufmachen kannst, laß den Fall liegen.
* Nachschieben. Ein Neuling ohne Block ist eine Gelegenheit. Nutze
sie! Rette die Welt. Drück ihm nach der unmittelbaren Antwort auf
sein konkretes Problem noch eine Winzigkeit mehr rein, damit der
arme Kerl das Licht sehen kann.
Wenn Du ihm in 2. eine Query gebaut hast, zeig ihm Zusatzinfo zu
SQL. Wenn er ein Problem mit den MySQL-Funktionen hatte, zeig ihm
die passenden (nicht irgendwelche, die passenden!) Handbuchseiten.
Wenn er ein Sicherheitsloch gebaut hatte, zeig ihm passende
Zusatzinfo.
Präsentiere diese Zusatzinfo so, daß dem Neuling der Mehrwert
Deiner Antwort deutlich wird, und daß er motiviert ist, sich diese
Information zu erarbeiten.
* Geradebiegen. Wenn die Frage des Neulings Formfehler hatte, weise
sachlich (!) und beiläufig auf diese Formfehler hin. Niemand will
auf einer Party mit dem Megaphon ausgerufen werden: "Herr XYZ wird
gebeten, den Hosenstall zu schließen." Andererseits will auch
niemand den Nudelsketch von Loriot nachdrehen.
Ergänze Deine Antwort wieder mit passenden URLs, etwa dem
Abschnitt der FAQ, oder direkt mit den Links, die in der FAQ
enthalten sind.
* Wir helfen Dir. Du mußt die Welt nicht alleine retten. Wir haben
die FAQ speziell für Dich gebaut - mit der FAQ ist es einfacher
und schneller für Dich, produktiv zu helfen, statt eine Flame zu
schreiben: 30 Sekunden für eine entspannte Nachricht mit zwei
FAQ-Zitaten statt mindestens vier Minuten Streß, um den Deppen
manuell fertig zu machen.
1.19 Ich verwende Outlook Express und keiner hat mich lieb.
Antwort von Kristian Köhntopp
Das wird daran liegen, daß Du Dein Outlook Express nicht korrekt
konfiguriert hast. Wahrscheinlich setzt Outlook Express nicht den
korrekten Absendernamen, veröffentlicht Artikel in HTML oder in HTML-
und Text-Versionen in doppelter Ausführung oder macht andere Dinge,
die außer Microsoft niemand gut findet.
Bitte lies die Outlook Express FAQ, die für Deine Version von Outlook
zutreffend ist und konfiguriere Deinen Newsreader korrekt. Auf
http://www.mayn.de/support/os/win95/outlook.htm gibt es eine
bebilderte Anleitung, wie man mit Outlook richtige Quotezeichen
einstellt und das proprietäre "AW:" in Antworten auf das richtige
"Re:" umstellt.
1.20 Was ist TOFU? Wieso finden die Anderen meine Artikel schwer zu lesen?
Antwort von Kristian Köhntopp
Text Oben, Fullquote Unten. Eine Unart, die einen nicht nur in dieser
Newsgroup, sondern im ganzen Netz unbeliebt macht. Lies
http://learn.to/quote/ von Dirk Nimmich, und speziell Abschnitt 2.3
"Warum soll ich meine Antwort nach dem Zitat plazieren?" und die
folgenden.
1.21 Wie verweise ich auf die FAQ?
Antwort von Kristian Köhntopp
Ein Hinweis auf die FAQ sollte niemals einfach nur in der Form "RTFM"
oder http://www.koehntopp.de/php erfolgen, sondern immer auf eine
konkrete Antwort zeigen. Der Leser sollte außerdem erfahren, welche
Antwort er dort findet und wieso das Bezug zu der gestellten Frage
hat. In der Newsgroup hat sich folgendes Format eingebürgert:
_________________________________________________________________
1.21 Wie verweise ich auf die FAQ?
http://www.koehntopp.de/php/faq-about.html#about-21
_________________________________________________________________
php::bar PHP Wiki - Listenarchive