--A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Hallo
Da ich vorzugsweise mit Ajax arbeite, möchte ich den Usern selbstverständlich auch eine javascriptfreie Möglichkeit der Datenübermittlung anbieten.
So wäre es eigentlich gut gelöst. Ist JS aktiviert wird das linkziel per "return false" außer Kraft gesetzt und die JS Instruktionen werden befolgt.
Ist JS deaktiviert wird der User zum Linkziel geleitet.
Das Problem an der Sache ist nur, dass die Javascript Eventhandler, soweit ich weiß, nicht mehr mit dem aktuellen HTML konform sind.
Welche andere Lösungsmöglichket gibt es denn hier?
Btw. Wie lassen sich den generell die recht nützlichen Eventhandler ersetzen? (OnFocus, OnBlur z.B.) ?
Da liegst du falsch. Die Event-Handler sind sogar in XHTML 1.1 noch konform, wenn man sie komplett klein schreibt. Wenn der Validator also bei onClick meckert, nenn ihn onclick und alle sind glücklich.
Außerdem könnte man sie notfalls durch reines Javascript ersetzen:
document.getElementById('link').onclick = handler_function;
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 22: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 13: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.