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 Next Previous Contents _________________________________________________________________ de.comp.lang.php FAQ © Copyright 2000 Kristan Köhntopp, kris_(at)_koehntopp.de Tobias Ratschiller, tobias_(at)_dnet.it _________________________________________________________________ $Id: faq.sgml,v 1.8 2000/01/26 18:53:48 kk Exp $ $Id: about.sgml,v 1.5 2000/01/10 21:14:42 kk Exp $ $Id: about.sgml,v 1.9 2000/01/26 18:53:52 kk Exp $ $Id: arrays.sgml,v 1.4 2000/01/23 20:46:33 kk Exp $ $Id: code.sgml,v 1.1 2000/01/23 21:58:31 kk Exp $ $Id: databases.sgml,v 1.6 2000/01/26 22:32:58 kk Exp $ $Id: datetime.sgml,v 1.4 2000/01/09 17:13:51 kk Exp $ $Id: functions.sgml,v 1.4 2000/01/23 21:58:31 kk Exp $ $Id: install.sgml,v 1.8 2000/01/26 22:32:59 kk Exp $ $Id: mail.sgml,v 1.3 2000/01/09 12:54:38 tobias Exp $ $Id: objects.sgml,v 1.4 2000/01/15 07:52:06 kk Exp $ $Id: open_exec.sgml,v 1.10 2000/01/23 21:58:31 kk Exp $ $Id: phpinterpreter.sgml,v 1.12 2000/01/26 22:32:59 kk Exp $ $Id: phplib.sgml,v 1.5 2000/01/26 22:32:59 kk Exp $ $Id: phpmyadmin.sgml,v 1.4 2000/01/22 16:38:16 tobias Exp $ $Id: regexp.sgml,v 1.3 2000/01/09 17:13:51 kk Exp $ $Id: scripts.sgml,v 1.1 2000/01/26 18:53:53 kk Exp $ $Id: strings.sgml,v 1.6 2000/01/23 21:58:32 kk Exp $ $Id: webserver.sgml,v 1.3 2000/01/26 22:32:59 kk Exp $ _________________________________________________________________ 1. Über diese FAQ * 1.1 Was ist das hier? * 1.2 Wo finde ich die aktuelle Version dieser FAQ? * 1.3 Wie ist die Charta dieser Newsgroup? * 1.4 Was ist PHP? * 1.5 Wo finde ich weitere Informationen über PHP? * 1.6 Soll ich Jobangebote in de.comp.lang.php posten? 2. Installation und Inbetriebnahme * 2.1 Was bedeutet LAMP, WAMP und so weiter? * 2.2 CGI PHP oder Modul? * 2.3 PHP-Scripte von Windows nach Unix portieren? * 2.4 PHP3 oder PHP4? * 2.5 Wie installiere ich PHP auf Suse Linux? * 2.6 Wie compiliere ich ein aktuelles PHP als Modul auf Linux mit Apache Server? * 2.7 Ich habe Probleme PHP3 selbst zu compilieren. * 2.8 Wie installiere ich PHP auf Unix mit Netscape Server? * 2.9 Wie installiere ich CGI-PHP auf einem Apache-Server? * 2.10 Wie installiere ich PHP auf Windows mit Apache Server? * 2.11 Was ist PHP/FI und wo kann ich es bekommen? * 2.12 Wie kann ich eine PHP-Präsentation auf CD brennen? 3. PHP Interpreter * 3.1 Welche Editoren sind für PHP geeignet? * 3.2 Zeitgesteuerte PHP-Scripte und "Shellscripte" * 3.3 Kann ich bitte mal ein Beispielprogramm sehen? * 3.4 Wie finde ich heraus, wie mein PHP-Interpreter konfiguriert ist? * 3.5 Wie kann ich auf Umgebungsvariablen zugreifen? * 3.6 Wie kann ich auf den HTTP-Request-Header zugreifen? * 3.7 Gibt es noch mehr interessante Variablen im Environment? * 3.8 Ich verwende PHP als Apache-Modul. Wie kann ich dies konfigurieren? * 3.9 Was genau bewirkt safe_mode und ist das sicher? * 3.10 "Fatal error: Maximum execution time exceeded" * 3.11 Was ist --enable-force-cgi-redirect? Warum enthält $PHP_SELF den Pfad zum CGI-Interpreter? * 3.12 Warum funktioniert set_time_limit() nicht wie angepriesen? * 3.13 Was ist das für ein _(at)_-Zeichen vor einigen Funktionsaufrufen? 4. Typen und Funktionen * 4.1 Wie schreibe ich eine Funktion mit einer variablen Anzahl von Argumenten? * 4.2 Wie schreibe ich ein Script, das beliebige Parameter verarbeitet? * 4.3 Variable Variablen * 4.4 Was ist der Unterschied zwischen isset() und einem Vergleich auf den Leerstring? 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? 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 kann man ein <select multiple> verarbeiten? * 7.4 Wie greife ich auf ein mehrdimensionales Array zu? 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. Dateifunktionen und Programmausführung * 9.1 Wie kann ich eine Datei auslesen? * 9.2 Wie kann ich ein externes Programm von PHP aus starten? * 9.3 Wie funktioniert Datei-Upload über HTML-Formulare? * 9.4 Wie realisiere ich einen Dateidownload mit PHP? * 9.5 Wie kann ich in einer Datei eine Zeile einfügen oder löschen? * 9.6 Wie kann ich einen Datei-Upload per FTP durchführen? 10. Datums- und Kalenderprobleme * 10.1 Wie kann ich das aktuelle Datum bekommen? * 10.2 Wie kann in ein deutsches Datum in MySQL-Format umwandeln (und umgekehrt)? * 10.3 Wie kann ich die Anzahl der Tage zwischen zwei Daten bestimmen? * 10.4 Wie kann ich das Datum des Vortages bestimmen? * 10.5 Wieviel Tage hat der aktuelle Monat? 11. Mail lesen und schreiben * 11.1 Windows: Wie kann ich die Mailfunktion von PHP nutzen? * 11.2 Wie kann ich ein Attachment mit einer Mail versenden? * 11.3 Wie kann ich eine Mail effizient an sehr viele Empfänger versenden? * 11.4 Wie kann ich mit PHP Mail von einem POP3 oder IMAP-Server lesen? 12. Datenbanken * 12.1 Wie kann ich mehr über SQL lernen? * 12.2 Wieso kann ich mehrere, durch Semikolon getrennte Statements nicht ausführen? * 12.3 Ist es sinnvoll, Bilder in einer Datenbank abzulegen? * 12.4 Wie kann ich meine Datenbankperformance steigern? * 12.5 Wie kann ich bei (MySQL-)Datenbanken zwei Tabellen miteinander verknüpfen? * 12.6 Ich habe eine Tabelle mit n Einträgen und möchte auf jeder Seite m davon anzeigen. * 12.7 Was ist der Unterschied zwischen connect und pconnect? * 12.8 MySQL oder Postgres? * 12.9 Wie greife ich auf eine MySQL-Datenbank zu? * 12.10 "0 is not a MySQL result index" * 12.11 Windows: "Call to unsupported or undefined function: mysql_connect()" * 12.12 "Call to unsupported or undefined function: mysql_errno()" * 12.13 Wie kann ich eine CSV-Datei in MySQL importieren? * 12.14 Wie kann ich eine CSV-Datei aus MySQL exportieren? * 12.15 Wie kann ich die Datensätze der letzten 2 Wochen listen? * 12.16 Wie kann ich auf einen ODBC-Server (MSSQL, Access) zugreifen? 13. phpMyAdmin * 13.1 Was ist phpMyAdmin? * 13.2 Ich bin kein MySQL-Administrator. Wie kann ich phpMyAdmin nur für mich selbst installieren? * 13.3 Ich bin MySQL-Administrator und möchte ein Exemplar phpAdmin für alle meine User installieren. * 13.4 Wieso kann ich den Inhalt meiner Tabelle nicht editieren? * 13.5 Wieso werden TIMESTAMP-Felder nicht auf die aktuelle Zeit gesetzt, wenn ich eine neue Zeile einfüge? * 13.6 Wieso kann ich in phpMyAdmin mehrere durch Semikolon getrennte SQL-Statements ausführen, nicht aber mit normalen PHP-Funktionen? 14. PHPLIB * 14.1 Was ist PHPLIB? * 14.2 Wo kann ich PHPLIB bekommen? * 14.3 Mein Provider hat PHPLIB nicht installiert. * 14.4 Ich habe keinen Zugriff auf die php3.ini. * 14.5 "Oops, php3_SetCookie called after header has been sent!" * 14.6 Was schreibe ich denn nun in meine local.inc? * 14.7 ERROR 1146: Table 'xyz.active_sessions' doesn't exist! * 14.8 Internet Explorer: Meine Seiten werden nicht aktualisiert. * 14.9 Wie kann ich Reloads durch den User erkennen und verhindern? 15. Webserver und PHP * 15.1 Apache: Kann ich PHP auch auf .html-Dateien anwenden? * 15.2 Apache: Wie kann ich ein Verzeichnis mit einem Paßwort schützen? * 15.3 Apache: Wie kann ich ein Verzeichnis mit PHP mit einem Paßwort schützen? * 15.4 Kann ich mit CGI PHP ein Verzeichnis mit einem Paßwort schützen? * 15.5 Wie kann ich mit PHP die Bildschirmauflösung des Browsers herausfinden? * 15.6 Wie kann ich das Caching einer Seite verhindern? * 15.7 Wie verarbeite ich <input type=image? * 15.8 "Document contains no data" 16. Häufig nachgefragte Standardscripte * 16.1 Wie kann ich eine schummelsichere Abstimmung codieren? * 16.2 Wie kann ich einen HTTP POST-Request absenden? 17. Guter Code * 17.1 Trenne Aussehen und Inhalt. * 17.2 Vermeide globale Variablen. * 17.3 Schreibe wiederverwendbaren Code. Verwende Klassen und Objekte. * 17.4 Prüfe importierte Parameter. Traue niemandem. * 17.5 Schreibe Formularverarbeitungen in Normalform. _________________________________________________________________ Next Previous Contents #next 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? Diese 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-request_(at)_lists.netuse.de bestellen. 1.3 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.4 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.5 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 * Tutorials für PHP und MySQL * WAMP HowTo 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 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 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. 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. * FishCartSQL, ein Shopping Cart. 1.6 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ähren 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. _________________________________________________________________ Next Previous Contents
php::bar PHP Wiki - Listenarchive