如何在PHP和MySQL中登录用户ID?

时间:2014-04-10 07:43:37

标签: php html mysql

我正在制作网站的设置表单,用户可以在其中更改密码和电子邮件地址。

我的HTML如下:

<html>
<head>
<meta charset="UTF-8"/>
<title>Seaded</title>
</head>
<body>
<p>Täida väljad, mida soovid muuta</p>
<form action="seaded.php" method="POST">
<br>Uus parool<input type="password" name="uus_parool"> <br>

<br>Kinnita uus parool <input type="password" name="kinnita_uus_parool">
<br>

<br>e-mail             <input type="text" name="email"><br>
<hr>
<br>Sisesta kehtiv parool <input type="password" name="kehtiv_parool"><br>

<br>Sisesta kehtiv parool uuesti <input type="password" name="kehtiv_parool_uuesti"><br>


<input type="submit" value="Kinnita">

</form>



</body>
</html>

现在我的PHP代码看起来像这样:

<meta charset="UTF-8"/>
<?php
include_once 'init/init.funcs.php';

$kehtiv_parool=mysql_real_escape_string($_POST['kehtiv_parool']);
$kehtiv_parool_uuesti=mysql_real_escape_string($_POST['kehtiv_parool_uuesti']);
$uus_parool=mysql_real_escape_string($_POST['uus_parool']);
$kinnita_uus_parool=mysql_real_escape_string($_POST['kinnita_uus_parool']);
$email=mysql_real_escape_string($_POST['email']);

if (paroolide_kattuvus($kehtiv_parool, $kehtiv_parool_uuesti)==True){
    if (paroolide_kattuvus($uus_parool, $kinnita_uus_parool)==True){
        mysql_query ("UPDATE kasutajad SET parool='$uus_parool' WHERE kasutaja_id=");
        echo "Seaded muudetud";
        echo strval ($result['kasutaja_id']);
    if (!empty($_POST['email'])){
        mysql_query ("UPDATE kasutajad SET e_mail='$email' WHERE kasutaja_id=");
        echo "Seaded muudetud";
    }
    }
}

我有登录其他PHP文件中定义的函数,这些函数看起来像这样:

<?php 

    include_once 'init/init.funcs.php';

    function user_login($user, $pass) {

        $user_name = mysql_real_escape_string($user);

        $result = mysql_query('SELECT * FROM kasutajad 
                    LEFT JOIN kasutajate_tyybid ON kasutajad.kas_tyyp_id = kasutajate_tyybid.kas_tyyp_id 
                    WHERE kasutajad.e_mail = "'.$user_name.'";');

        if(!mysql_num_rows($result) == 1) {

            return false;

        }

        $result = mysql_fetch_assoc($result);
        global $result;

        $user_pass = sha1($pass.$result['salt']);

        $success = $user_pass === $result['parool'];

        if($success) {

            $_SESSION['user'] = $result['kasutaja_id'];

        }

        return $success;

    }

&GT;

我的问题是我应该把什么放在UPDATE语句中WHERE子句旁边的第二个PHP文件中,所以它会更新我表中的必要字段。我想把它放在那里登录用户ID。我尝试过$ _SESSION ['user']和'$ _SESSION ['user']'。但它没有用。 也许有更好的方法可以做到这一点,在这种情况下,我很乐意了解这一点。任何好的建议都是受欢迎的,因为我是编程初学者。

0 个答案:

没有答案