§ Rechtliches
Pornografische, rechtlich fragwürdige, sexistische oder sonstwie beleidigende Postings fliegen raus. (Das steht bereits in den
Forumsregeln).
Beiträge mit Rechtsfragen werden nicht erörtert (
→ Anmerkungen zu Rechtsfragen).
Respektiere die Forenmitglieder:- Sei höflich, selbst wenn es andere nicht sind
Es gibt auch im Internet allgemeingültige Umgangsformen, zu denen auch die richtige Art zu fragen und die Form zählt. [1]
- Toleriere Fehler anderer
- Sei geduldig, wir alle haben keine Zeit
Wenn Du es eilig hast, hast Du zu spät gepostet.
- Sieh es nicht als selbstverständlich an, dass Dir jemand hilft und uneigennützig sein Wissen mit Dir teilt.
- Verschwende nicht die Zeit anderer (→ Form & Inhalt, → Hilfe zur Selbsthilfe)
Eine verbreitete Form sind sogenannte Cross/Multi-Postings. Ohne Nennung eines guten Grundes wirst Du Dir damit den Unmut anderer Forenbenutzer aufladen und die Frage wandert in den Trash. Ein Link auf den Parallelthread ist das Mindeste (→ Anmerkungen zu Multipostings).
|Problem| → Problem analysieren → Informieren/Recherchieren
(wenn möglich)
→ Umsetzen/Problem fixen → |Lösung|
(sonst)
→ Posten
2.2 Die richtige Reihenfolge II
Posten → Abwarten → |Antwort| → Vollständig lesen, Verstehen
(nötigenfalls wiederholt)
→ Nachfragen → |Antwort| → Vollständig lesen, Verstehen
(sonst)
→ Umsetzen → |Lösung| → Rückmeldung
2.3 Problemanalyse: Fehlermeldungen
Viele Anfänger sehen in Fehlermeldungen ein Ärgernis und nicht eine Hilfestellung für den Programmierer. Du solltest es versuchen.
- Setze error_reporting auf E_ALL | E_STRICT [2]
- Vermeide den @-Operator
Es gibt kaum sinnvolle Gründe, einen Fehler zu unterdrücken.
- Versuche Fehlermeldungen zu verstehen
Lies den Text und bringe die Meldung in einen kontextuellen Zusammenhang zu Deinem Quellcode
- Suche die Fehlerstellen
Fehlermeldungen enthalten Angaben zu Script und Zeilennummer, in dem sie aufgetreten sind.
Parse Errors beziehen sich oft auf frühere Zeilen, da sie üblicherweise von Fehlenden Zeichen verursacht werden, die Anweisungen (Semikolons, <?php oder ?>) oder andere Syntaxbestandteile (Klammern, Stringbegrenzer) abschließen.
2.4 Problemanalyse: Debugging
Viele Anfänger übersehen das Debugging als eine der einfachsten Problemlösungsstrategien. Gerade wenn trotz Fehlfunktion keine Fehler auftreten, gibt es einfache Analyse-Ansätze. Noch relevanter wird Debugging, wenn logische Fehler beseitigt werden müssen.
(
→ grundlegende Debuggingtechniken)
- Stelle fest, an welcher Stelle das Programm anfängt, unerwartete Ergebnisse zu produzieren
- Gib an diesen Schlüsselstellen gezielt Daten aus:
- Meldungen, um bspw. das Durchlaufen eines bedingten Bereichs zu überprüfen
- Variablen. Hier leisten print_r() und var_dump() gute Dienste
- Professionelles Debugging
Fortgeschrittene Nutzer stellen sich bestimmte Analysefunktionen als Klasse oder Funktionssammlung zusammen. Damit lassen sich Meldungen und Dumps leichter optisch aufarbeiten und mit sinnvollen Angaben wie Zeilennummer und Backtrace ergänzten. [3]
Andere nutzen spezielle Optionen ihres PHP Editors.
- Bestimmte Operationen wie Datenbank-Zugriffe produzieren eigene Fehlermeldungen
Das übliche Vorgehen für einen fehlerhaften Datenbankzugriff kann deshalb bspw. so aussehen:- Ausgabe des Abfrage Ergebnisses
- Abfrage einer evtl. SQL Fehlermeldung
- Ausgabe und Analyse der DB Verbindungskennung und des SQL Statements
2.5 Recherche
Vor dem Posten solltest Du versuchen, möglichst viele Informationen zur Problemstellung zu erlangen und wenn möglich eine eigene Lösung (oder einen Ansatz dazu) zu finden.
- Google und Co
Suchmaschinen geben auf die meisten Fehlermeldungen bereitwillig Antworten
- Nutze das PHP Manual, um Hilfe zu Grundlagen und konkreten Funktionen zu erfahren
Beachte die User-Kommentare. Sie liefern wertvolle Tipps zu den Untiefen der jeweiligen PHP Funktionen.
Entsprechende Referenzen gibt es auch für andere Programmier- und Scriptsprachen. [4]
- Nutze die Forensuche
Die Suchfunktion dieses Forums kann für viele Probleme bereits einen alten Thread zu Tage fördern. Wenn die sich mal über „zu allgemeine Begriffe“ beschwert, hilft auch ein "Begiff Begriff site:php.de" bei Google oder Ixquick einzugeben.
- Fasse das Forum nicht als Volkshochschule auf!
Vom Tutorials-Forum abgesehen kann und will die PHP.de-Community keine Grundlagen vermitteln, sondern bei konkreten Fragen Hilfestellung geben. Als blutiger Anfänger nutze bitte eines der zahlreichen Tutorials in den Weiten des Netzes. [5]
- Kein Support!
Wir sind alle freiwillig hier. Niemand bekommt eine Vergütung für die Zeit, die er hier investiert. Hast Du Probleme mit einer Software, wende Dich an deren Support. Hast Du eine Aufgabe, dann löse sie. Mit uns. Kannst Du nicht programmieren, bleibt Dir nur, Dein Problem als Jobangebot oder Scriptgesuch zu formulieren. Wir sind keine Dienstleister, also behandle uns auch nicht so.
- Poste im richtigen Forum!
Du solltest bereits ansatzweise herausgefunden haben, ob es sich um ein PHP-, HTML- oder Datenbankproblem handelt. Die Einteilung in Anfänger, Fortgeschritten und Profi spiegelt Anspruch der Frage und Deinen eigenen Wissensstand wider. Anfängerfragen im Profi-Forum zu posten, verschafft Dir keine besseren Antworten aber u.U. böse Kommentare der Gemeinschaft.
Die Fragen sollten konkret sein und eigene Lösungsansätze beinhalten.
Postings der Art „Wer kann mir dieses Script ändern/machen“ gehören ausschließlich ins Forum Scriptbörse und stellen kein PHP-Problem dar!
- Wähle einen aussagekräftigen Titel!
Der Threadtitel stellt einen wichtigen Teil deines Postings dar und somit sollte der Wahl eines sinnvollen Titels einige Aufmerksamkeit geschenkt werden, um Nutzern der Suchfunktion später eine Chance zu geben.
Dass man ein irgendwie geartetes Problem hat, liegt allgemein im Wesen des Menschen und gehört nicht in den Threadtitel. Das gilt vor allem für „Wer kann mir helfen?“-, „Hab'n Problem“- und „Biiiiiiitte SOS!!!!!“-Threads.
Die Moderatoren behalten sich vor, nichtssagende Threadtitel ohne Ankündigung zu ändern.
- Sei prägnant in Deiner Frage, aber geize nicht mit Informationen!
Niemand außer Dir kennt Dein Projekt. Es ist nicht selbsterklärend, nur weil Du Dich damit schon lange beschäftigst.
Kommt Dir der Gedanke „Das wird man schon verstehen“ ergänze besser gleich Deine Ausführungen.
„…geht nicht“-Threads haben gute Chancen, sofort im Trash zu landen.
- Achte auf deine Rechtschreibung!
Eine ordentliche Rechtschreibung erhöht die Lesbarkeit und damit auch die Wahrscheinlichkeit, bereitwillige Hilfe zu erfahren. Satzzeichen und Absätze sollten selbstverständlich sein.
- Schreibe ganze Sätze statt Telegrammstil!
Im Satzgefüge werden Zusammenhänge deutlicher.
Fachbegriffe und verbreitete Ausdrücke können Dinge konkret beschreiben. Nutze sie wenn Du weißt, wovon Du sprichst.
- Verzichte weitgehend auf Ironie und übertrieben lockere Kommentare!
Erstere ist schwer zu erkennen, letztere füllt den Thread mit Worten, die besser sachdienlichen Hinweisen zu Gute kommen. Auch 10 Smileys erzeugen nicht zwingend gute Laune beim Leser.
- Verzichte auf Selbsterniedrigung!
Die Gemeinschaft wird dadurch nicht hilfsbereiter.
Wir sehen auch, ob Du Programmieranfänger bist (ohne „bin Vollnoob“) und dass Du neu im Forum bist (ohne „bin neu hier“). Spar Dir und uns diese Zeit oder schreibe eine sinnvolle Begrüßung.
- Analysiere und reduziere das Problem! (siehe oben).
Gib präzise Dein Ziel (bzw. die Aufgabenstellung), Dein Problem und/oder eine Fehlermeldung an. Beschreibe, was Du schon probiert oder herausgefunden hast.
- Niemand anderes als du selbst macht deine Fehler!
In einem Promille-Anteil von Threads ergibt sich das Problem aus einem Bug in PHP oder anderen Komponente. Suche zuerst gründlich in Deinem Code, bevor Du Bugs unterstellst. Zend Technologies (PHP), Apache Group etc. führen öffentliche Listen bekannter Fehler im Internet. [6]
- Poste Codebestandteile!
Achte auf relevante Stellen, z.B. Zeilennummern die von einer Fehlermeldung angegeben werden (kennzeichne bei Bedarf diese Zeilen mit einem Kommentar).
- Nutze die Möglichkeiten des Boards!
Benutze [php]-Tags für Code, um ihn im Syntaxhighlighting lesbarer zu gestalten. Weiterhin empfiehlt sich [code] für das Posten von Array-Dumps, Fehlermeldungen und dergl. einzusetzen.
Markiere einen Beitrag als [Erledigt] (Link oben links über dem Beitrag) wenn Dein Problem gelöst wurde.
- Achte auf eine saubere Formatierung des Quellcodes!
(allgemeine Regel fürs Programmieren). Darunter fallen: Texteinrückung, Kommentare, sprechende Variablennamen etc. Standards [7] einzuhalten ist empfehlenswert, eine einmal begonnene Formatierung beizubehalten ist wichtiger!
- Poste wenn möglich realen Code!
Niemand guckt Dir hier etwas ab! Für das Forum angepaßte Bsp. bergen dagegen die Gefahr, den Ursprungsfehler zu verbergen, oder neue Fehler zu machen.
Für wirklichen hochwertigen Code empfiehlt sich eine Ergänzung von Lizenzangaben.
Fußnoten
- Fehlerbehandlung
- Coding-Standards
Anmerkungen
Ein Multi-/Crossposting im weiteren Sinne
[1], ist ein Thread, der in verschiedenen Boards mit dem selben Wortlaut, im Regelfall sogar einfach via Copy&Paste veröffentlicht wird.
Das Fatale und für die Community ärgerliche ist, dass ein Problem ohne Wissen des Anderen zeitgleich diskutiert, bearbeitet und/oder gelöst wird. Und damit Zeit der Antwortenden verschwendet.
Nicht immer, aber meistens, sind Multi/Crosspostings zu verurteilen. Es kann
gute Gründe geben, einen Thread in einem anderen Forum zu eröffnen:
- Die User des ersten Forums konnten nicht weiterhelfen, weil das Problem ihr Wissen überstieg
- Der Threadersteller (TE) wurde darauf hingewiesen, dass seine Frage ein Forum-fremdes Fachgebiet betrifft und nicht hinreichend geklärt werden kann
usw.
Es gibt auch sehr
schlechte Gründe:
- Die User des ersten Forums haben dem TE nicht schnell genug geantwortet
- Der TE glaubt, durch häufiges Posten höher qualifizierte Antworten zu erhalten
- Der TE hat die Antworten nicht verstanden oder konnte Lösungen nicht umsetzen (ganz schlechter Stil ist es, das Ausgangsproblem mit fremden Lösungsansätzen in einem neuen Board zu posten)
- Der TE wurde durch User des ersten Forums ermahnt, weil er bspw. Forumsregeln verletzt hat, und möchte sich nicht weiter mit diesen Menschen auseinandersetzen.
usw.
Aus oben genannten Gründen sind Mehrfachpostings unfair. Da viele User forenübergreifend organisiert sind, werden entsprechende Beiträge sehr oft als Multipostings erkannt und markiert.
Nicht vom TE gekennzeichnete Multipostings
werden im Allgemeinen geschlossen. Um dem vorzubeugen, sollte der TE seinen Beitrag mit einem
Link auf den Ursprungsthread und einer kurzen Begründung als Multiposting kennzeichnen. Noch besser ist es, das Problem mit der nötigen Geduld im Ursprungsforum zu klären.
- Begriffsabgrenzung und Herkunft
Alle Fragen, die im weiteren Sinne Rechtsfragen betreffen, kann und (vor allem) darf dieses Board nicht beantworten. Grund ist die gesetzliche Regelung
[1], die es juristisch nicht ausgebildeten Personen verbietet, öffentlich konkrete Rechtsfragen zu erörtern.
Leider ist die Abgrenzung sehr schwierig, wann ein Beitrag bereits juristische Bereiche betrifft, genau genommen ist diese Abgrenzung selbst schon eine rechtliche Frage.
Da auch juristische Grenzbereiche für einen Boardbetreiber erhebliche Folgen
[2] haben können, wird erbeten, weder entsprechende Themengebiete selbst, noch die Frage, ob dies ein rechtlich gelagerter Fall ist, hier zu erörtern.
Eine Schließung eines solchen Threads mit Hinweis auf die vorliegende Information ist wahrscheinlich.
- rechtliche Grundlage
- vgl. Heise-Urteil und diverse andere Entscheidungen des Hamburger Landgerichts.
Bei PHP.de handelt es sich um eine private gemeinnützige Plattform. Es besteht kein Recht seitens der Benutzer auf Dienstleistung oder Veröffentlichung von Beiträgen. Die Moderation liegt vollkommen im Ermessen des Betreibers und der Moderatoren.