Wieso sollte man in PHP array() verwenden? Sollte man es der Lesbarkeit zu liebe tun oder kann ich mir die Linien sparen? (mal ausgenommen man gibt die Variable in einer Funktion zurück und die Array könnte leer bleiben)
Wieso sollte man in PHP array() verwenden? Sollte man es der Lesbarkeit zu liebe tun oder kann ich mir die Linien sparen? (mal ausgenommen man gibt die Variable in einer Funktion zurück und die Array könnte leer bleiben)
Geändert von Drakes (12.07.2008 um 21:33 Uhr)
Ganz simpel, in erster Regel ist die "Funktion" (ist eig. keine richtige Funktion, sondern ein festes Element) dafür da um einer Variable einen Anfangswert zu geben, bzw. ein Array einer Funktion zu übergeben:
Auch wenn in PHP Variablen nicht direkt deklariert werden müssen, brauchen gerade wenn man einem Array in einer Schleife Werte hinzufügen möchte diese ein Anfangswert der PHP mitteilt das die Variable auch existiert und das es sich um ein Array handelt.
Tut es nur augenscheinlich.
Schreib mal ein error_reporting(E_ALL); an den vor die Schleife, du wirst eine "Notice"-Fehlermeldung bekommen.
Desweiteren bei dem Beispiel oben werden ja Daten aus der db eingelesen, wenn nun, aber keine gefunden werden, würde das Array $tmp gar nicht erst angelegt werden und wenn du es später dann später z.B. in einer foreach schleife abarbeiten willst, würdest du nicht nur eine E_NOTICE bekommen sondern eine E_WARNING, die besagt das foreach eben ein Array erwartet und nicht eine Variable vom Typ null.
Huhu.
Nun, ich habe eine einfache Frage zu einem Query, es geht um folgenden :
Beim Ausführen sagt der Browser mir folgendes :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `id` = '6'' at line 1
Ich frage mich, warum er das sagt.
Vielleicht bin ich gerade blind und sehe den einfachen Fehler nicht, aber meine Augen zeigen mir, dass ich nach dem Einbinden der ID in den Query ein ' stehen habe und die anderen " als Abgrenzungen zum String gebraucht werden.
Wieso kriege ich diesen Fehler?
EDIT : Jaaa. INSERT mit UPDATE vertauscht xD
--Droggelbecher.
Geändert von Tessio (17.09.2008 um 12:09 Uhr)
Zudem niemals Variablen (Vorallem Request-Variablen) ungeparsed an n' Query anhängen.
Desweiteren sind die ' bei numerischen Werten unnötig.
Request-Variablen sind (neben $_REQUEST natürlich) $_POST, $_GET, $_COOKIE und $_FILES (sowie deren $HTTP_*_VARS Pendants). $_SESSION besteht nicht aus Daten, die der User übermittelt hat, daher sollte es kein zu großes Problem sein, sie direkt zu benutzen. Natürlich wäre folgendes sauberer:
Hier wird sichergestellt, dass $_SESSION['spieler_id'] eine Zahl ist und $_SESSION['y'] wird vorher mit mysql_real_escape_string() behandelt, um ' zu escapen. Aber wenn man davon ausgeht, dass die Variablen bereits beim Setzen verifiziert wurden, ist das unnötig. Denn wenn jemand die Session-Variablen, die aufm Server gespeichert werden, verändern kann, hat man noch ganz andere Probleme.
Da man die MySQL-Api mit neueren MySQL-Versionen eh nicht mehr benutzen sollte, sondern die MySQLi API oder PDO, kann man ggf. auch auf Statemants zurück greifen und somit auf escaping verzichten:
http://de3.php.net/manual/de/mysqli.prepare.php
http://de3.php.net/manual/de/pdo.prepare.php
Wie definiere ich in meiner .css Link-Farben (Hover, Active, Visited...) für einzelne DIVs? Die in #navi sollen andere Farben als die in #main haben.
Hab mal ein bisschen rumprobiert, bin aber nicht wirklich zu einem Ergebnis gekommen.
Einfacher geht es eig. nicht^^. Nur meine ich das du bei den pseudo-classen eine feste Reihenfolge einhalten musst, wenn nicht habe ich Blödsinn gelernt xD.
/edit: *zurück edetier*![]()
Geändert von Xardas der Dunkle (27.09.2008 um 13:11 Uhr)
*verwirrt bin*
Fragt er, wieso ändert ihr dann das #main a:link auf #main a:hover o_Ô?Zitat
Das war doch nur ein Beispiel.
Wenn ihr es so genau haben wollt:
Hab da noch mal 'ne Frage, die nicht unbedingt einen eigenen Thread benötigt, imo.
Hat vllt. irgendwer 'nen Plan, warum der IE (7. 6, denke ich, dann wohl auch) diese Seite falscht anzeigt?
Also der BG wird etwas nach unten verschoben, 1, 2 Pixel.
erstmal:
Du arbeitest mit tranparenten png Dateien.
Der IE unterstützt sowas nicht.
Und wenn nur das Deisgn um 1,2 Pixel nach unten verschoben ist, solltest du dich freuen und dies so lassen.
Es ist allgemein bekannt, dass der IE bei CSS Mist baut.
Ansonsten versuch mal im Body
padding:0px;
margin:0px;
einzutragen. AFAIR benutze der IE einen Standardrahmen um die Webseite.
IE 7 unterstützt zum Glück transparente png-Bilder.
Ist meinerseits eigentlich immer empfohlen. Manche Browser setzen zudem automatisch Rahmen um <img>'s.(Das ist aber OT)
Und eigentlich ist der Allgemeine Fragethread dafür gedacht nicht extra ein Thema eröffnen zu müssen.
Edit:
probiers doch bei body mit
Edit2:
War das falsche Hintergrundbild, müsste wohl eher bei .header_left sein:
Aber ich hab nicht das Gefühl, dass das wirklich das Problem ist.
Geändert von Drakes (01.10.2008 um 12:22 Uhr)
Gibt es etwas zu beachten, damit sich dynamisch generierte div's im IE voll ausbreiten?Das obere Fenster ist statisch und wird ja eigentlich auch richtig angezeigt. Ich hab mal Rahmen rein gemacht zur Veranschauung:
http://drakes.dr.ohost.de/pz/ (man muss die Werbung wegklicken und dann neuladen -.-)
Zudem wär es toll wenn mir jemand sagen könnte was der Opera zu meckern hat, ich verstehs nicht.