• Hallo,

    dies ist die Funktion um das Passwort welches ich meinen Usern bei der Einrichtung gegeben habe ändern zu können

    [php:1:ff53b8c07a]<?php
    function change_pass($userid, $password)
    {
    $sql="UPDATE damen2_benutzer SET user_passwort='".md5($password)."' WHERE user_name=".$userid;
    mysql_query($sql);
    }

    ?>[/php:1:ff53b8c07a]

    Nach der Änderung funktioniert aber weiterhin das alte :(

  • Zitat von GreenRover

    was sagt er denn wen du

    mysql_query($sql); echo mysql_error() machst

    Code
    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 'Larsen' at line 1Dein Passwort wurde geändert, du musst dich neueinloggen!


    Jetzt ist es die Frage ob er es hier meint:
    [php:1:f5c9a23940]<?php
    session_start();
    error_reporting(E_ALL);
    include 'pwsessionhelpers.inc.php';
    $_POST['username'] = $username;
    $_POST['oldpass'] = $oldpass;
    $_POST['password'] = $password;
    $_POST['passwordh'] = $passwordh;
    $userid = check_user($username, $oldpass);
    if(check_user($username, $oldpass)==false) {


    echo 'Deine Daten waren nicht korrekt';
    } else
    {
    if($password==$passwordh) {
    change_pass($userid, $password);

    echo 'Dein Passwort wurde geändert, du musst dich neueinloggen!';
    logout();
    }
    else {


    echo 'Passwort wiederholung falsch!';
    }
    }
    ?>

    ?>[/php:1:f5c9a23940]

    Oder in der includeten Datei:
    [php:1:f5c9a23940]<?php
    function connect()
    {
    $con= mysql_connect('localhost','XXXXX','XXXXX') or die(mysql_error());
    mysql_select_db('XXXXXXX',$con) or die(mysql_error());
    }

    function check_user($name, $pass)
    {
    $sql="SELECT user_name
    FROM damen2_benutzer WHERE user_name='".$name."' AND user_passwort=MD5('".$pass."') LIMIT 1";
    $result= mysql_query($sql) or die(mysql_error());
    if ( mysql_num_rows($result)==1)
    {
    $user=mysql_fetch_assoc($result);
    return $user['user_name'];
    }
    else
    return false;
    }

    function change_pass($userid, $password)
    {
    $sql="UPDATE damen2_benutzer SET user_passwort='".md5($password)."' WHERE user_name=".$userid;
    mysql_query($sql);
    echo mysql_error();
    }


    function login($userid)
    {
    $sql="UPDATE damen2_benutzer SET UserSession='".session_id()."' WHERE user_name='".$userid."';";
    mysql_query($sql);
    }

    function logged_in()
    {
    $sql="SELECT user_name
    FROM damen2_benutzer
    WHERE UserSession='".session_id()."'
    LIMIT 1";
    $result= mysql_query($sql);
    return ( mysql_num_rows($result)==1);
    }

    function logout()
    {
    $sql="UPDATE damen2_benutzer
    SET UserSession=NULL
    WHERE UserSession='".session_id()."'";
    mysql_query($sql);
    }

    function check_pass($username, $oldpass)
    {
    $sql="SELECT user_name
    FROM damen2_benutzer
    WHERE user_name='".$username."' AND user_passwort=MD5('".$oldpass."')
    LIMIT 1";
    $result= mysql_query($sql) or die(mysql_error());
    if ( mysql_num_rows($result)==1)
    {
    return true;
    }
    else
    return false;
    }

    connect();
    ?>

    [/php:1:f5c9a23940]

  • er meint es dort wo das mysql_error steht :-p

    und der fehler liegt bei dne fehlendne '

    es muß so heisen:

    Code
    $sql="UPDATE damen2_benutzer SET user_passwort='".md5($password)."' WHERE user_name='.$userid' ";
  • LoooL, naja Error = Fehler ;)

    Aber nachdem er sagt das Passwort wurde geändert kann ich weiterhin das alte nutzen und das neue funzt nicht :( Da muss er doch das neue nicht reinschreiben oder ? Ne Fehlermeldung kommt nicht mehr!

  • dann ersetz mal das mysql_error() mit

    echo $sql. und poste mal den SQL befehl und vergleiche vorallem das PW mit dem in der Datenbank.

    Ob die identisch sind oder nicht. Und was der phpMyAdmin ausspuckt wenn du versuchst den SQL befehl dort manuell aus zu führen.

  • ich glaube ich hab es

    UPDATE damen2_benutzer SET user_passwort='04078765dd496ba36ccdb61e610b2ec8' WHERE user_name='.Torsten Larsen' Dein Passwort wurde geändert, du musst dich neueinloggen!

    Da ist ein Punkt vor meinem Namen ! Aber ichhab den im Quelltext noch nicht erkennen können... Weil Where nicht passt wird wohl ach nichts geändert sag ich mal so salop

  • Ich hab es, habe Deine Zeile nochmal geändert
    [php:1:c2e9381a00]<?php
    $sql="UPDATE damen2_benutzer SET user_passwort='".md5($password)."' WHERE user_name='$userid' ";
    ?>[/php:1:c2e9381a00]


    Dort stand

    Code
    '.$userid' ";

    Danke für die Hilfe !!