Anzeige

PHP Update funktioniert nicht

PHP Update funktioniert nicht | PSD-Tutorials.de

Erstellt von mathi77, 15.01.2010.

  1. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    PHP Update funktioniert nicht
    Hallo,

    bin gerade dabei eine Seite zu gestalten, wo der eingeloggte Benutzer seine Daten verwalten kann sprich aktualisieren!

    Erhalte folgenden Fehler:
    ERROR: 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_Benutzer= '1')' at line 7

    $_POST werden gesendet ,mit print_r($_POST) überprüft:

    Array ( [welcheID] => 1 [benutzername] => mathi77 [passwort] => mathi77 [vorname] => Mathilde [nachname] => Linsenmayer => m.linsenmayer@greif.at [aktualisieren] => aktualisieren )

    id_Benutzer=1 stimmt, aber es erfolgt kein Update!
    Seht Ihr wo hier der Fehler liegt? :(

    [php]
    <?php

    $msg="";

    echo($msg);
    print_r($_POST);

    if (isset($_POST['aktualisieren'] ))
    {

    // Maskierende Slashes aus POST entfernen
    $_POST = get_magic_quotes_gpc() ? array_map( 'addslashes', $_POST ) : $_POST;

    // Anfrage zusammenstellen der an die DB geschickt werden soll '" .mysql_real_escape_string( $vorname ). "',

    $sql = "UPDATE tbl_benutzerdaten SET
    benutzername = '".$_POST["benutzername"]."',
    passwort = '".$_POST["passwort"]."',
    vorname = '".$_POST["vorname"]."',
    nachname = '".$_POST["nachname"]."',
    email = '".$_POST["email"]."',
    WHERE (id_Benutzer= '".$_POSST["welcheID"]."')
    ";

    // Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
    $query = mysql_query( $sql ) or die("ERROR: ".mysql_error());

    // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
    if (mysql_affected_rows() == 1)
    {
    $msg = "<h3>Die Daten wurde erfolgreich gespeichert!</h3>";
    }
    else
    {
    $msg = "<h3>Die Daten konnten leider <strong>nicht</strong> gespeichert werden!</h3>
    <p>Bitte wenden Sie sich an Ihren Administrator!</p>";
    }
    }

    //if(count($_POST)==0){
    $sql = "SELECT * FROM tbl_benutzerdaten WHERE (benutzername = '".$_SESSION["user-benutzername"]."')";
    //"SELECT * FROM tbl_xxx WHERE(Benutzername='Uwe')";

    $result = mysql_query($sql) or die("ERROR: ".mysql_error());

    if($data = mysql_fetch_object($result)) {
    echo ('
    <form name ="frmNeu" id="frmNeu" method="post" action="">
    <fieldset>
    <legend><img border="0" src="images/neu.gif" alt="Einstellungen" />&nbsp;Einstellungen:</legend>
    <input type="hidden" name="welcheID" value="'.$data->id_Benutzer.'" />
    <label for="Benutzername">Benutzername</label> <input name="benutzername" id="Benutzername" value="'.$data->benutzername.'" type="text" /><br />
    <label for="Passwort">Passwort</label> <input name="passwort" id="passwort" value="'.$data->passwort.'" type="text" /><br />
    <label for="Vorname">Vorname</label> <input name="vorname" id="vorname" value="'.$data->vorname.'"type="text" /><br />
    <label for="Nachname">Nachname</label> <input name="nachname" id="nachname" value="'.$data->nachname.'"type="text" /><br />
    <label for="eMail">Email</label> <input name="email" id="email" value="'.$data->email.'" type="text" /><br />
    </fieldset>
    <input type="submit" name="aktualisieren" id="aktualisieren" value="aktualisieren" />
    </form>
    ');
    }
    ?>
    [/php] :'(

    danke & lg Mathi
     
    #1      
  2. pac_nrw

    pac_nrw Nicht mehr ganz neu hier

    Dabei seit:
    20.02.2009
    Beiträge:
    141
    Geschlecht:
    männlich
    Ort:
    Hagen
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    Lass dir dein SQL mal ausgeben (echo $sql;)

    Vielleciht kann ich dann weiterhelfen. Ansonsten schau mal nach der Schreibweise.
     
    #2      
  3. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    hi,
    folgendes kommt dabei heraus:

    UPDATE tbl_benutzerdaten SET benutzername = 'mathi77', passwort = 'mathi77', vorname = 'Mathilde', nachname = 'Test', email = 'm.test@test.at', WHERE (id_Benutzer= '1') ERROR: 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_Benutzer= '1')' at line 7

    Hilfe....
     
    #3      
  4. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    Hi,

    warum steht "id_benutzer" in einer Klammer?
     
    #4      
  5. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    hm, gute frage, ... funktioniert aber ihne auch nicht :-(

    der letzte beistrich bei der aufzählung hab ich auch weggenommen...
    jetzt hab ich einen weißen bildschirm...

    PHP:
    1.  
    2. <?php
    3.  
    4. $msg="";
    5.  echo($msg);
    6. // print_r($_POST);
    7.  
    8.  if (isset($_POST['aktualisieren'] ))
    9.     {
    10.        
    11.     // Maskierende Slashes aus POST entfernen
    12.         $_POST = get_magic_quotes_gpc() ? array_map( 'addslashes', $_POST ) : $_POST;
    13.    
    14.     // Anfrage zusammenstellen der an die DB geschickt werden soll     '" .mysql_real_escape_string( $vorname ). "',
    15.        
    16.         $sql = "UPDATE tbl_benutzerdaten SET
    17.                    benutzername = '".$_POST["benutzername"]."',
    18.                    passwort = '".$_POST["passwort"]."',
    19.                    vorname = '".$_POST["vorname"]."',
    20.                    nachname = '".$_POST["nachname"]."',
    21.                    email = '".$_POST["email"]."'
    22.                WHERE id_Benutzer= '".$_POST["welcheID"]."'            
    23.                ";
    24.         echo ($sql);
    25.     // Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle
    26.         $query = mysql_query( $sql ) or die("ERROR: ".mysql_error());
    27.  
    28.     // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
    29.         if (mysql_affected_rows() == 1)
    30.             {
    31.             $msg = "<h3>Die Daten wurde erfolgreich gespeichert!</h3>";                    
    32.             }
    33.         else
    34.             {
    35.             $msg = "<h3>Die Daten konnten leider <strong>nicht</strong> gespeichert werden!</h3>
    36.                    <p>Bitte wenden Sie sich an Ihren Administrator!</p>";
    37.             }
    38.         }
    39.  
    40.   if(count($_POST)==0){
    41.     $sql = "SELECT * FROM tbl_benutzerdaten WHERE (benutzername = '".$_SESSION["user-benutzername"]."')";
    42.     //"SELECT * FROM tbl_xxx WHERE(Benutzername='Uwe')";
    43.    
    44.     $result =  mysql_query($sql) or die("ERROR: ".mysql_error());
    45.    
    46.     if($data = mysql_fetch_object($result)) {
    47.      echo ('
    48.     <form name ="frmNeu" id="frmNeu" method="post" action="">
    49.        <fieldset>
    50.            <legend><img border="0" src="http://www.psd-tutorials.de/modules/Forum/images/neu.gif"  alt="Einstellungen" />&nbsp;Einstellungen:</legend>
    51.                <input type="hidden" name="welcheID" value="'.$data->id_Benutzer.'" />
    52.                <label for="Benutzername">Benutzername</label> <input name="benutzername" id="Benutzername" value="'.$data->benutzername.'" type="text" /><br />
    53.                <label for="Passwort">Passwort</label> <input name="passwort" id="passwort" value="'.$data->passwort.'" type="text" /><br />
    54.                <label for="Vorname">Vorname</label> <input name="vorname" id="vorname" value="'.$data->vorname.'"type="text" /><br />
    55.                <label for="Nachname">Nachname</label> <input name="nachname" id="nachname" value="'.$data->nachname.'"type="text" /><br />
    56.                <label for="eMail">Email</label> <input name="email" id="email" value="'.$data->email.'" type="text"  /><br />
    57.               </fieldset>
    58.                <input type="submit" name="aktualisieren" id="aktualisieren" value="aktualisieren" />
    59.       </form>
    60.       ');
    61.      }
    62. ?>
    63.  
    64.  
     
    Zuletzt bearbeitet: 15.01.2010
    #5      
  6. F0RC3

    F0RC3 Noch nicht viel geschrieben

    Dabei seit:
    25.06.2009
    Beiträge:
    14
    Geschlecht:
    männlich
    Ort:
    Hamburg
    Software:
    Netbeans, Photoshop etc.
    Kameratyp:
    Canon 60D
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    Hi,

    dann hast du evtl. irgendwo anderes nen Fehler reingebaut?
    bekommst du keine php Fehlermeldung?

    Das Query sollte ohne das letzte "," eigentlich passen. Hab aber nur mal kurz drüber geschaut.

    Gruß
     
    #6      
  7. pac_nrw

    pac_nrw Nicht mehr ganz neu hier

    Dabei seit:
    20.02.2009
    Beiträge:
    141
    Geschlecht:
    männlich
    Ort:
    Hagen
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    In solchen fällen ist es meist ein Schreibfehler. Gib doch mal in PHPMyAdmin
    PHP:
    1. UPDATE tbl_benutzerdaten SET benutzername = 'mathi77', passwort = 'mathi77', vorname = 'Mathilde', nachname = 'Test', email = 'm.test@test.at', WHERE (id_Benutzer= '1')
    ein. Dort kommst meistens eine bessere Fehlermeldung.
     
    #7      
  8. saila

    saila Moderatorle

    Dabei seit:
    21.06.2006
    Beiträge:
    2.239
    Geschlecht:
    männlich
    Ort:
    50°48'23.69" N 7°14'22.19" O
    Software:
    Eclipse, PHP5 OO, MySQL5, CSS(auch Barrierefrei), JS, Symfony
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    bzw. wo ist mysql_real_escape_string? Könnte ja sein, dass spezielle Zeichen enthalten sind, welche den Query abschiessen.
     
    #8      
  9. F0RC3

    F0RC3 Noch nicht viel geschrieben

    Dabei seit:
    25.06.2009
    Beiträge:
    14
    Geschlecht:
    männlich
    Ort:
    Hamburg
    Software:
    Netbeans, Photoshop etc.
    Kameratyp:
    Canon 60D
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    die Daten stehen ja da, da ist nix drin was das Query kaputt macht

    Das Query an sich sollte ohne das letzte "," funktionieren.
     
    #9      
  10. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    so, habs jetzt Saila`s Tipp noch umgesetzt zwecks Sicherheit!

    Danke an alle!
    Jetzt werden endlich die Daten in die Datenbank geschrieben!

    Jedoch wirft mir jetzt mein echo($msg) nichts aus? hab ich da einen Denkfehler in der Abfolge?

    :danke:
     
    #10      
  11. F0RC3

    F0RC3 Noch nicht viel geschrieben

    Dabei seit:
    25.06.2009
    Beiträge:
    14
    Geschlecht:
    männlich
    Ort:
    Hamburg
    Software:
    Netbeans, Photoshop etc.
    Kameratyp:
    Canon 60D
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht


    ja hast du :)

    1. steht oben :
    $msg="";
    echo(
    $msg);

    => damit wäre $msg immer leer

    2. müsstest du echo $msg ausführen NACHDEM du der Variable den Text zugewiesen hast, z.B. so:
    PHP:
    1.  
    2. // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
    3.         if (mysql_affected_rows() == 1)
    4.             {
    5.             $msg = "<h3>Die Daten wurde erfolgreich gespeichert!</h3>";                    
    6.             }
    7.         else
    8.             {
    9.             $msg = "<h3>Die Daten konnten leider <strong>nicht</strong> gespeichert werden!</h3>
    10.                    <p>Bitte wenden Sie sich an Ihren Administrator!</p>";
    11.             }
    12.         }
    13.         echo $msg;
    14.  
     
    #11      
  12. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    super danke! Es funktioniert die echo Ausgabe!

    nur eine Frage zwischendurch:
    nach Ändern & Eintragung der Daten in die Datenbank, gebe ich den Text aus, soweit ok!

    Aber wenn ich jetzt wieder den Link zu der Seite klicke, bleibt diese jetzt weiß?
    Ich kann also die Benutzerdaten-Eingabe nur 1x auswählen...

    hat das was mit if (isset($_POST["aktualisieren"])) zu tun, weil ich die ja schon 1x abgeschickt habe?

    danke & lg Mathi
     
    #12      
  13. F0RC3

    F0RC3 Noch nicht viel geschrieben

    Dabei seit:
    25.06.2009
    Beiträge:
    14
    Geschlecht:
    männlich
    Ort:
    Hamburg
    Software:
    Netbeans, Photoshop etc.
    Kameratyp:
    Canon 60D
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    an dem
    PHP:
    1. if (isset($_POST['aktualisieren'] ))
    kann es nicht liegen, da dort ja nur die Einträge in die Datenbank gemacht werden wenn "aktualisieren" geklickt wurde.

    PHP:
    1.  if(count($_POST)==0){
    ist da schon eher relevant wenn dir nichts angezeigt wird

    wie gelangst du zurück auf die Seite? kann es sein, dass noch was im $_POST hängt? Kenne ja den Ablauf bei dir nicht, bzw. verstehe das Problem nicht ganz.

    Wird nichts angezeigt wenn du die Seite neu öffnest? oder nachdem du die Daten aktualisiert hast?
    Das 2te. ließe sich schnell erklären: Formular wird nur gezeigt wenn $_POST leer ist, ist es aber nach Absenden nicht. => unset($_POST); nachdem alle Aktionen durchgeführt wurden.

    Hoffe das hilft :)
     
    #13      
  14. mathi77

    mathi77 Nicht mehr ganz neu hier

    Dabei seit:
    22.01.2009
    Beiträge:
    115
    Geschlecht:
    weiblich
    Ort:
    Mauthausen, OÖ
    Software:
    CS4
    PHP Update funktioniert nicht
    AW: PHP Update funktioniert nicht

    Hi,

    es wird nicht angezeigt wenn ich die Eingabe-Seite neu öffnen möchte!
    sprich ich muss mich wieder ausloggen und einloggen, damit ich wieder zu dem Eingabeformular komme...

    Falls ein User 2mal seine Daten ändern möchte, gehts eben nicht...

    was müsste ich tun?

    danke & glg Mathi
     
    #14      
x
×
×