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. Next Previous Contents _________________________________________________________________ de.comp.lang.php FAQ german-faq_(at)_lists.netuse.de © Copyright 2000 Kristian Köhntopp, Tobias Ratschiller _________________________________________________________________ Build Date: Thu Oct 19 10:14:06 CEST 2000 $Id: faq.sgml,v 1.18 2000/10/01 20:07:31 dgorski Exp $ $Id: about.sgml,v 1.35 2000/10/18 14:54:21 guido Exp $ $Id: arrays.sgml,v 1.10 2000/06/04 16:45:35 kk Exp $ $Id: cms.sgml,v 1.3 2000/10/03 13:47:29 baerli Exp $ $Id: code.sgml,v 1.7 2000/06/04 16:45:35 kk Exp $ $Id: database_mysql.sgml,v 1.13 2000/10/09 18:27:31 dgorski Exp $ $Id: database_oracle.sgml,v 1.6 2000/10/08 20:37:35 tonyb Exp $ $Id: databases.sgml,v 1.26 2000/10/15 20:22:09 mjansen Exp $ $Id: datetime.sgml,v 1.7 2000/06/29 19:07:30 kk Exp $ $Id: functions.sgml,v 1.13 2000/06/04 16:45:36 kk Exp $ $Id: install.sgml,v 1.27 2000/10/18 15:01:38 guido Exp $ $Id: mail.sgml,v 1.17 2000/10/12 08:57:21 baerli Exp $ $Id: objects.sgml,v 1.6 2000/06/04 16:45:36 kk Exp $ $Id: open_exec.sgml,v 1.21 2000/10/15 00:51:15 dgorski Exp $ $Id: openpub.sgml,v 1.2 2000/04/23 18:55:12 kk Exp $ $Id: phpinterpreter.sgml,v 1.47 2000/10/18 17:18:00 mjansen Exp $ $Id: phplib.sgml,v 1.17 2000/09/08 19:56:58 kk Exp $ $Id: phpmyadmin.sgml,v 1.4 2000/01/22 16:38:16 tobias Exp $ $Id: regexp.sgml,v 1.18 2000/09/09 18:01:33 kk Exp $ $Id: scripts.sgml,v 1.27 2000/10/15 01:35:23 dgorski Exp $ $Id: strings.sgml,v 1.9 2000/06/04 16:45:37 kk Exp $ $Id: version4.sgml,v 1.5 2000/06/29 19:07:31 kk Exp $ $Id: version4_session.sgml,v 1.6 2000/10/10 19:23:10 dgorski Exp $ $Id: webserver.sgml,v 1.12 2000/09/09 18:01:33 kk Exp $ $Id: webvariablen.sgml,v 1.6 2000/10/15 20:38:17 mjansen Exp $ _________________________________________________________________ 1. Über diese FAQ * 1.1 Was ist das hier? * 1.2 Wo finde ich die aktuelle Version dieser FAQ? * 1.3 Kann ich eine Kopie der FAQ per Mail zugesendet bekommen? * 1.4 Du hast doch für die FAQ geschrieben. Ich habe da eine Frage zu PHP... * 1.5 Das ist eine tolle FAQ! Kann ich die als Unterrichtsmaterial verwenden? Kann ich sie drucken? * 1.6 Kann ich selber für diese FAQ schreiben? * 1.7 Wie ist die Charta dieser Newsgroup? * 1.8 Was ist PHP? * 1.9 Wo finde ich weitere Informationen über PHP? * 1.10 Soll ich Jobangebote in de.comp.lang.php posten? * 1.11 Wer kann mir einen Provider empfehlen? * 1.12 Warum bekomme ich Ermahnungsmails, wenn ich Autoren in der Gruppe auf Netiquetteverstöße aufmerksam mache? * 1.13 Warum bekomme ich Ermahnungsmails? * 1.14 Ich verwende Outlook Express und keiner hat mich lieb. * 1.15 Was ist TOFU? Wieso finden die Anderen meine Artikel schwer zu lesen? * 1.16 Welche Versionen von PHP sind aktuell? * 1.17 Was bedeutet LAMP, WAMP und so weiter? * 1.18 Was soll ich tun, wenn ich einen Fehler in der FAQ gefunden habe? 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. * 2.10 Wo finde ich PHP als Modul für Windows? 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 ein anderes Frame umlenken? 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? 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? * 6.11 Wie führe ich Ersetzungsoperationen in Strings durch? 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? 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? 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? 11. Datums- und Kalenderprobleme * 11.1 Wie kann ich das aktuelle Datum bekommen? * 11.2 Wie kann in 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? * 11.6 Wie kann ich die Laufzeit meines Codes bestimmen? Gibt es einen Benchmark? 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 Mailaddresse 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? 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 mein 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? 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: oci_logon()" * 15.4 "Warning: ORA-12154: TNS:could not resolve service name" * 15.5 Unix: Umlaute, die in die Datenbank eingetragen wurden, werden nicht korrekt dargestellt. * 15.6 "Warning: ORA-12705: invalid or unknown NLS parameter value specified" * 15.7 Gibt es auto_increment unter Oracle ? * 15.8 Ich verwende das obige Beispiel. Wie kann ich nun mysql_insert_id() emulieren? * 15.9 Wie selectiere ich nur bestimmte Zeilen ( LIMIT unter MySQL) ? * 15.10 Wie speicher ich Datensätze mit mehr als 2000 Zeichen ab ? * 15.11 Wie bearbeite ich LOBs mit PHP ? 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 php3.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 Wie verarbeite ich <input type=image>? * 18.8 "Document contains no data" * 18.9 Wie erzeuge ich mit PHP einen Redirect auf eine andere Seite? * 18.10 Was sind Sessions und warum sind sie nützlich? * 18.11 Wie kann ich mit PHP WAP-Seiten erzeugen? * 18.12 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? 21. Guter Code * 21.1 Vermeide globale Variablen. * 21.2 Halte Code links. Verwende Wächter statt Schachel-ifs. * 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. PHP4 * 22.1 Ist PHP4 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? 24. Open Publication License * 24.1 Englische Version * 24.2 Deutsche Version _________________________________________________________________ Next Previous Contents Next Previous Contents _________________________________________________________________ 1. Über diese FAQ 1.1 Was ist das hier? Dies ist der monatliche Einführungsartikel für die Newsgruppe de.comp.lang.php. Er 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 den Urheber dieses Artikels, Kristian Köhntopp < kris_(at)_koehntopp.de>. 1.2 Wo finde ich die aktuelle Version dieser FAQ? Die aktuelle Version dieser FAQ ist unter der URL http://www.koehntopp.de/php zu finden. Eine Version in einer einzigen Datei befindet sich unter der URL http://www.koehntopp.de/php/faq-single.html. Die Linuxdoc SGML-Quelltexte dieser FAQ sind unter der URL http://www.koehntopp.de/php/faq.tar.gz zu finden. 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 ______________________________________________________________ Es gibt eine Mailingliste german-faq, die Nachrichten über Änderungen an der FAQ enthält und die man bestellen sollte, wenn man an der FAQ mitarbeiten möchte. Man kann die Mailingliste unter der Adresse german-faq-subscribe_(at)_lists.netuse.de bestellen. 1.3 Kann ich eine Kopie der FAQ per Mail zugesendet bekommen? Die FAQ wird nicht als Mail versendet, sondern ist ausschließlich in den genannten Formaten und an den genannten Stellen im Web zu finden. Als Windows-Anwender kann man sich eine Kopie der FAQ mit Hilfe von Programmen wie Teleport Pro oder mit Hilfe der Offline-Funktion des Microsoft Internet Explorer 5 herunterladen. Als Linux-Anwender verwendet man dafuer das Programm wget. 1.4 Du hast doch für die FAQ geschrieben. Ich habe da eine Frage zu PHP... Fragen gehören in die Newsgroup. Es ist vollkommen sinnlos, Fragen per Mail an einen der Autoren dieser FAQ zu senden. 1.5 Das ist eine tolle FAQ! Kann ich die als Unterrichtsmaterial verwenden? Kann ich sie drucken? 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 im Anhang. 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.6 Kann ich selber für diese FAQ schreiben? Ja. Wenn Deine Texte Eingang in diese FAQ finden, erklärst Du Dich mit den folgenden Nutzungsbedingungen einverstanden: * Du mußt Deine Antworten mit Deinem vollen Namen kennzeichnen ("Von Nicholas Haflinger"). Du kannst aus Deinem Namen einen mailto: Hyperlink machen, wenn möchtest. * Du behältst das volle Urheber- und Verwertungsrecht an Deinem Text und kannst Deinen Text nach Deinem Gutdünken verwenden. * Du stellst Deinen Text für diese FAQ unter die im Anhang befindliche Open Publication License, Version 0.4 oder höher. 1.7 Wie ist die Charta dieser Newsgroup? 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.8 Was ist PHP? 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 COPYING enthalten, der Bestandteil der PHP-Distribution ist. PHP läuft auf allen gängigen Unix-Versionen und auf den verschiedenen Windows-Versionen (Win95, 98 und NT). 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 englische Handbuch sowie Archive der englischen Mailinglisten. 1.9 Wo finde ich weitere Informationen über PHP? 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 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 * phpTidBits - Tutorials * phpWizard.net * phpbuilder.com Bücher über PHP Ein Verzeichnis aller aktuellen Bücher findet man im Buchverzeichnis der englischen Website. In Deutsch: php -dynamische webauftritte professionell realisieren, Egon Schmid, Christian Cartus, Richard Blume; Markt und Technik Verlag. In Deutsch: PHP - Grundlagen und Lösungen, Webserver-Programmierung unter Windows und Linux, Jörg Krause; Carl Hanser Verlag. In Deutsch: PHP - kurz & gut, Rasmus Lerdorf, Übersetzung Ingo Marks; O'Reilly Verlag. In Englisch: Core PHP Programming, Leon Atkinson; Prentice Hall. In Englisch: PHP3: Programming Browser-Based Applications, David Medinets; McGraw-Hill. In Englisch: Professional PHP, Jesus Castagnetto, Harish Rawat, Sascha Schuhmann, Chris Scollo, Deepak Veliath; Wrox Press. In Englisch: Building Database Applications on the Web Using PHP3, Craig Hilton, Jeff Willis, Bjorn Borud; Addison-Wesley. In Englisch: Programming PHP, Rasmus Lerdorf, Randy Jay Yarger, Andi Gutmans, Zeev Zuraski. Stig Bakken, Shane Caraveo; O'Reilly. Fertige Anwendungen in PHP Ein Verzeichnis von Projekten, die PHP3 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.10 Soll ich Jobangebote in de.comp.lang.php posten? 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 Arbeitsmarksituation 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.11 Wer kann mir einen Provider empfehlen? Eine kurze Umfrage im Februar 2000 in de.comp.lang.php hat ergeben, daß Frage nach Providern oder Providerspezifika in dieser Newsgroup nicht willkommen ist. Die korrekte Newsgroup für diese Frage wäre 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.12 Warum bekomme ich Ermahnungsmails, wenn ich Autoren in der Gruppe auf Netiquetteverstöße aufmerksam mache? 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 tu dies bitte unbedingt per Mail und nicht öffentlich in der Gruppe. Auch die Netiquette, auf deren Einhaltung zu 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.13 Warum bekomme ich Ermahnungsmails? 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.14 Ich verwende Outlook Express und keiner hat mich lieb. 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.15 Was ist TOFU? Wieso finden die Anderen meine Artikel schwer zu lesen? 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.16 Welche Versionen von PHP sind aktuell? Die aktuelle Produktionsversion von PHP3 ist Version 3.0.17, die aktuelle Produktionsversion von PHP4 ist Version 4.0.3pl1. Nur diese Versionen sollten auf Produktionsmaschinen eingesetzt werden. Die Erfahrungen mit der Stabilität von PHP4 sind inzwischen Recht gut. PHP4 ist zu PHP3 weitgehend kompatibel. PHP3-Scripte werden von der PHP4-Engine ohne Änderungen ausgeführt werden (modulo einiger marginaler Einschränkungen). 1.17 Was bedeutet LAMP, WAMP und so weiter? 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.18 Was soll ich tun, wenn ich einen Fehler in der FAQ gefunden habe? 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. _________________________________________________________________ Next Previous Contents
php::bar PHP Wiki - Listenarchive