Ergebnis 1 bis 20 von 288

Thema: Allgemeiner Fragenthread II

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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.

  2. #2
    Huhu.
    Nun, ich habe eine einfache Frage zu einem Query, es geht um folgenden :

    PHP-Code:
    $sql "INSERT INTO `spieler` SET `y` = '".$_SESSION['y']."' WHERE `id` = '".$_SESSION['spieler_id']."'"
    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

    Geändert von Tessio (17.09.2008 um 12:09 Uhr)

  3. #3
    Zudem niemals Variablen (Vorallem Request-Variablen) ungeparsed an n' Query anhängen.
    Desweiteren sind die ' bei numerischen Werten unnötig .

  4. #4
    Zitat Zitat von Xardas der Dunkle Beitrag anzeigen
    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:
    PHP-Code:
    $sql sprintf("UPDATE `spieler` SET `y` = '%s' WHERE `id` = %d"mysql_real_escape_string($_SESSION['y']), $_SESSION['spieler_id']); 
    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.

  5. #5
    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

  6. #6
    Zitat Zitat von dead_orc Beitrag anzeigen
    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.
    Da sollte man sich nicht vertun. Ich hatte schon mal Probleme, weil ich die Request URI in der Datenbank speichern wollte, und die halt ein ' enthielt. Lieber absichern, als nachher Lücken offen haben

  7. #7
    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.

  8. #8
    Code:
    #navi a:link {
        color:....;
    }
    
    #navi a:visited {
        ....
    }
    
    [...]
    
    #main a:link {
        ....
    }
    
    [...]
    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)

  9. #9
    Zitat Zitat von Wetako Beitrag anzeigen
    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.
    a:hover meint Xardas 1mal noch.

    Edit: sorry, steht ja #main.

    Geändert von Drakes (27.09.2008 um 11:37 Uhr)

  10. #10
    Zitat Zitat von Drakes Beitrag anzeigen
    a:hover meint Xardas 1mal noch.
    Ich editier das mal schnell rein...

  11. #11
    *verwirrt bin*
    Zitat Zitat
    Die in #navi sollen andere Farben als die in #main haben.
    Fragt er, wieso ändert ihr dann das #main a:link auf #main a:hover o_Ô?
    Das war doch nur ein Beispiel.

    Wenn ihr es so genau haben wollt:
    Code:
    #navi a:link {
        ...
    }
    
    #navi a:active {
       ...
    }
    
    #navi a:visited {
       ...
    }
    
    #navi a:hover {
       ...
    }
    
    #main a:link {
        ...
    }
    
    #main a:active {
       ...
    }
    
    #main a:visited {
       ...
    }
    
    #main a:hover {
       ...
    }

  12. #12
    Sorry, ich schätze, wir haben uns beide verlesen

  13. #13

  14. #14
    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.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •