kostenloser Webspace werbefrei: lima-city


MySQL Query funzt ned

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ku-shi

    ku-shi hat kostenlosen Webspace.

    Hallo, ich habe folgendes Problem:

    Ich habe diese Funktion geschrieben:

    function register($array)
    {
    $sql = "INSERT INTO user
    (user, passwort, email, visible, ".$array['system'].")
    VALUES
    ('".$array['Benutzername']."', '".md5($array['Passwort'])."', '".$array['eMail-Adresse']."',
    '".$array['visible']."', '".$array['referrer']."')";

    $result = mysql_query($sql) or die(mysql_error());
    }

    Der Query sieht so aus:

    INSERT INTO user (user, passwort, email, visible, notebook ) VALUES ('test', '098f6bcd4621d373cade4e832627b4f6', 'test', '1', 'test.htm')

    Das funktioniert nicht und es erscheint folgender Fehler:

    Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen (diese kann f?r verschiedene Server-Versionen unterschiedlich sein) bei 'document.write(win <- ab da ist es abgeschnitten

    Dieser Code ruft eine Seite auf, von der die Funktion gestartet wird:

    <form action="registrieren.php" method="post" name="reg" onSubmit="return pruefe(1)">

    <table cols="2">
    <tr>
    <td>Benutzername:</td>
    <td><input type="text" name="Benutzername" width="100px"></td>
    </tr>
    <tr>
    <td>Passwort:</td>
    <td><input type="password" name="Passwort" width="100px"></td>
    </tr>
    <tr>
    <td>eMail-Adresse:</td>
    <td><input type="text" name="eMail-Adresse" width="100px"></td>
    </tr>
    <tr>
    <td> </td>
    </tr>
    <tr>
    <td colspan="2">Soll Deine eMail-Adresse angezeigt werden?</td>
    </tr>
    <tr>
    <td colspan="2">
    <input type="radio" name="visible" checked="checked" value="1">Ja
    <input type="radio" name="visible" value="0">Nein</td>
    </td>
    </tr>
    <tr>
    <td> </td>
    </tr>
    <tr>
    <td colspan="2"><center><b>System</b></center></td>
    </tr>
    <tr>
    <td> </td>
    </tr>
    <tr>
    <td>
    <script type="text/javascript">document.write(window.name)</script>
    :</td>
    <td><input type="text" name="referrer" width="100px"></td>
    </tr>
    <tr>
    <td><input type="hidden" name="system" value="
    <script type='text/javascript'>document.write(window.name)</script>
    "</td>
    </tr>
    <tr>
    <td colspan="2"><center><input type="submit" name="submit2" value="registrieren"></center></td>
    </tr>
    </table>

    So wird die Funktion dann letztendlich gestartet:

    register($_POST);

    Hat jemand eine Idee, wo der Fehler liegt, oder wie ich etwas verbessern kann? Vielen Dank im Voraus.

    Beitrag ge?ndert am 1.05.2006 19:44 von ku-shi
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. ganz klar der fehler:

    bei <td><input type="hidden" name="system" value="
    <script type='text/javascript'>document.write(window.name)</script>

    ist das java script unter "" wodurch das javascript als text angenommen wird und nicht als javascript...die variable system enth?lt folgich nicht das ergenis der javascript funktion sondern: <script type='text/javascript'>document.write(window.name)</script>

    und das kann mysql nat?rlich nicht verarbeiten

    achja noch als edit:
    dir fehlt auch noch die abschluss > beim input tag:
    <input type="hidden" name="system" value="
    <script type='text/javascript'>document.write(window.name)</script>
    ">

    wie der richtige syntax geht wei? ich leider nicht, da ich nicht viel mit javascript arbeite...
    musst rum probieren oder warten das jemand anderer noch postet

    mfg

    Beitrag ge?ndert am 1.05.2006 19:58 von drame

    Beitrag ge?ndert am 1.05.2006 20:03 von drame
  4. t****u

    Das Problem mit der Mysql-Anfrage entsteht wahrscheinlich durch die Anf?hrungszeichen. Du solltest zus?tzlich die Funktion mysql_escape_string() verwenden.

    Hat jemand eine Idee, wo der Fehler liegt, oder wie ich etwas verbessern kann?


    Es w?re sch?ner und ?bersichtlicher, wenn du OHNE Tabelle designen w?rdest. Wof?r gibt es denn CSS ? UND: Center ist veraltet. (http://de.selfhtml.org/navigation/sidebars/html.htm)

    #### BACK TO THE ROOT(S) ####

    Wie w?re es au?erdem mit der Verwendung von <label></label> ?

    p.a.:
    <label for="yes">Ja</label><input type="radio" name="visible" id="yes">
    <label for="no">Nein</label><input type="radio" name="visible" id="no">
  5. Autor dieses Themas

    ku-shi

    ku-shi hat kostenlosen Webspace.

    Also das JavaScript funktioniert schon.
    In meinem Code ist das das 'Notebook', das dadurch ausgegeben wird.

    Es bringt aber eine Fehlermeldung, die trotzdem irgend etwas damit zu tun zu haben scheint.

    Ich verstehe nicht, dass es einerseits funktioniert, andererseits aber Fehlermeldungen verursacht.

    h?ttet Ihr sonst irgend eine Idee, wie man eine Variable aus JavaScript in eine f?r PHP geeignete umwandelt? Das w?rde mein Problem ja dann l?sen.
  6. Autor dieses Themas

    ku-shi

    ku-shi hat kostenlosen Webspace.

    Ich habe es jetzt gel?st und zwar so:

    Ich habe die Variable "system" einfach per JS an die URL angeh?ngt, mit der ich das Popup ?ffne, also

    window.open('register.php?system='+system, 'Register', parameter);

    und dann per PHP mit "$_GET['system']" ausgelesen. Jetzt funktioniert es prima, es lag also doch am JS in Anf?hrungsstricheln.
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!