+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Syntaxfehler - komm nicht drauf

  1. #1
    TP-Senior Whiteflash macht alles soweit korrekt Avatar von Whiteflash
    Registriert seit
    May 2008
    Ort
    Wangen
    Beiträge
    122

    Syntaxfehler - komm nicht drauf

    Hallo Leute!

    Mein Script (Auszug) basiert auf dem Tutorial von Rizzo http://www.traum-projekt.com/forum/7...ach-profi.html an:
    PHP-Code:
    // Wenn das Formular abgeschickt wurde 
    if (isset( $_POST[login] )) 

        
    // Maskierende Slashes aus POST Array entfernen 
        
    if (get_magic_quotes_gpc()) 
        { 
            
    $_POST array_map'stripslashes'$_POST ); 
        } 
         
        
    // Benutzereingabe umladen, von Leerzeichen befreien und  
        
    $benutzername strtolowertrim$_POST[benutzer] ) ); 
        
    $passwort     md5trim$_POST[passwort] ) ); 
        
        echo 
    $benutzername '<br>';
             
        
    // Benutzereingabe mit User in der Datenbank vergleichen 
        
    $Verbindungskennung db_connect(); 
        
    $query 'SELECT *
                FROM tb_var_user
                WHERE LOWER(benutzername) = ' 
    mysql_real_escape_string($benutzername) . '
                AND passwort = ' 
    mysql_real_escape_string$passwort ) . '
                AND status = ACTIVE '

         
        
    $ergebnis mysql_query($query$Verbindungskennung);
        echo 
    mysql_error() . '<br>';
         
        
    // Stimmen die Benutzereingaben �berein, wurde 1 Datensatz gefunden 
        
    if (mysql_num_rows($ergebnis) == 1
        { 
            
    // Abfrageergebnis fetchen 
            
    $usercookie mysql_fetch_assoc$ergebnis ); 
    und liefert leider folgendes Ergebnis:
    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 '@polizei.de AND passwort = d41d8cd98f00b204e9800998ecf8427e AND status =' at line 3

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in E:\server_root\scripted12a.php(123) : eval()'d code on line 75
    Habe jetzt schon ziemlich lange dran geknobelt, es will mir aber einfach nicht aufgehen, wo mein fehler liegt. Vielleicht kann mir von euch einer einen tipp geben - wär' nett

    Liebe Grüße,

    Basti
    live long and prosper...

  2. #2
    TP-Newbie kaffeebuddha macht alles soweit korrekt
    Registriert seit
    Jul 2008
    Beiträge
    1
    Doppelte Anführungszeichen dürften helfen:

    $query = 'SELECT *
    FROM tb_var_user
    WHERE LOWER(benutzername) = "' . mysql_real_escape_string($benutzername) . '"
    AND passwort = "' . mysql_real_escape_string( $passwort ) . '"
    AND status = "ACTIVE" ';

  3. #3
    TP-Specialist phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Strings in einem Statement müssen in Hochkomma gepackt werden.
    Code:
        $query = 'SELECT *
                FROM tb_var_user
                WHERE LOWER(benutzername) = \'' . mysql_real_escape_string($benutzername) . '\'
                AND passwort = \'' . mysql_real_escape_string( $passwort ) . '\'
                AND status = \'ACTIVE\' ';
    Falls ACTIVE eine numerische Konstante sein soll, müssen die Hochkomma natürlich weg, aber der String muß, wie bei einem Funktionsaufruf, unterbrochen werden.

    EDIT
    Ansonsten hat es schon seinen Sinn, wieso ich in Statements Doppel-Quotes benutze. So kann man dann nämlich schön übersichtlich Single-Quotes einsetzen, ohne escapen zu müssen. Falls es Probleme mit Strings und den unterschiedlichen Arten Anführungszeichen gibt, lohnt vielleicht ein Blick auf dieses Tutorial.

  4. #4
    TP-Senior Whiteflash macht alles soweit korrekt Avatar von Whiteflash
    Registriert seit
    May 2008
    Ort
    Wangen
    Beiträge
    122

    Double- und Singlequotes

    Hallo Andreas!!

    Vielen Dank für deine prompte Antwort - jetzt läuft mein script auch. Habe auch mal dein Quotes-Tut aufgemacht - sehr schön, einiges hatte ich dazu auch schon mal gehört. Aber wenn ich dich zu dem Thema trotztdem grade mal was fragen darf:

    ich teste das script gerade, in dem ich den code jeweils in eine string-variable packe, und hinterher mit eval() aufrufe [Hintergrund: ich will das script, wenn es denn fehlerfrei läuft, in eine DB packen].

    Ich frage mich eben, wie php text behandelt, den es aus der Datenbank liest. Wird der Wert (Text) der Variablen dann mit DQ's oder SQ's zugewiesen?

    Die Werte der string-variablen werden momentan im Testbetrieb mit DQ's zugewiesen - kann ich später einfach das, was zwischen den beiden DQ's steht in eine DB packen, aufrufen und in eine weiter string-variable legen? Oder müsste ich den Code vorher anders 'quoten' damit das funktionier?

    Basti
    live long and prosper...

  5. #5
    TP-Senior Whiteflash macht alles soweit korrekt Avatar von Whiteflash
    Registriert seit
    May 2008
    Ort
    Wangen
    Beiträge
    122

    Syntax- (Escape-)Problem, die nächste

    Hallo!

    Ich muss hier wieder mal was anhängen, ich seh es einfach nicht. Folgender HTML-Code ergibt das gewünschte Ergebnis, wenn ich ihn per php ausgebe
    PHP-Code:
    echo "
    <div style='width: 495px; '>
        <form method='post' style='float: left; ' action='upload.php'> 
        <table width='490' border='0'>
            <tr><label style='font-family: Calibri, Arial, Times New Roman; font-size: 9pt; color: #666666; '>die mit * gekennzeichneten Felder sind Pflichfelder</label></tr>
            <tr><td width='130'><label style='font-family: Calibri, Arial, Times New Roman; font-size: 9pt; color: #666666; '>zugriffsrecht*</label></td><td><input name='zugriffsrecht' type='text' style='margin: 6px 10px 6px 6px; height: 20px; width: 50px; top: 3px; left: 5px; position: relative; font-size: 8pt; ' size='20' /><label style='font-family: Calibri, Arial, Times New Roman; font-size: 8pt; color: #CC3333; '>es können max. zugriffrechte der eigenen stufe vergeben werden</label></td></tr>
            
            <tr><td colspan='2'> <label style='font-family: Calibri, Arial, Times New Roman; font-size: 8pt; color: #999999; '>einstellige Integer, mit den Werten 0 (admin), 1 (supervisor), 2 (member), 3 (unsigned).</label></td></tr>

    <tr><td><label style='font-family: Calibri, Arial, Times New Roman; font-size: 9pt; color: #666666; '>herstellerlink</label></td><td><input name='ext_link' type='text' style='margin: 6px 10px 6px 6px; height: 20px; width: 320px; top: 3px; left: 5px; position: relative; font-size: 8pt; ' size='20'/></td></tr>
            
            <tr><td colspan='2'> <label style='font-family: Calibri, Arial, Times New Roman; font-size: 8pt; color: #999999; '>longtext, ohne beschränkung</label></td></tr>
            
            <tr><td></td><td><input name='upload' type='submit' style='margin: 6px 10px 6px 6px; height: 20px; width: 70px; top: 3px; left: 10px; background: none; color: #CC0000; font-size: 10px; position: relative; ' value='hochladen' ></td></tr>
        </table>
        </form>
    </div>"

    hat der Submit-Button keine Zieladresse, das Formular wird nicht abgeschickt.

    In meinem Editor kann ich keine Unterbrechung des Strings entdecken, aber vielleicht sieht einer der Pro's was.

    LG Basti
    live long and prosper...

+ Antworten

Ähnliche Themen

  1. suche Logo mit 4 Punkten - ich komm nicht drauf
    Von Lucretia im Forum Einfach so ...
    Antworten: 11
    Letzter Beitrag: 13.04.2006, 21:04
  2. komm mit der navi nicht klar
    Von dallasstar im Forum HTML & CSS
    Antworten: 6
    Letzter Beitrag: 30.11.2005, 17:27
  3. Komm mit Alpha nicht klar
    Von Litefoot im Forum Flash & Multimedia
    Antworten: 5
    Letzter Beitrag: 19.01.2005, 16:00
  4. [MX04]Funktion gesucht, komm nicht drauf
    Von StephanF im Forum Flash & Multimedia
    Antworten: 5
    Letzter Beitrag: 10.01.2005, 23:15
  5. komm nicht dahinter
    Von chrisi im Forum Dreamweaver & andere Webeditoren
    Antworten: 2
    Letzter Beitrag: 31.07.2003, 23:46

Stichworte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51