PDA

View Full Version : کد php تغییر پسورد



abazari
دوشنبه 02 اردیبهشت 1392, 10:31 صبح
باسلام
دوستان من صفحه طراحی کردم برای شرکتی که در آن مشغول بکار هستم
این صفحه در شبکه داخلی شرکت راه اندازی شده است
قسمتی از این صفحه ستون کامنت گذاری قراردارد که هر کاربر می تواند user و pass خود را وارد کرده و کامنت بگذارد
مشکل اینجاست که بنده به عنوان admin این صفحه خودم پسوردها را به کاربرها داده ام اما الان نمی دانم که چه کدی باید بنویسم که خود هر کاربر بتواند پسوردش را تغییر دهد
لطفا راهنمایی بفرمائید

فرزند کوروش
سه شنبه 03 اردیبهشت 1392, 09:18 صبح
باید براشون یه صفحه بسازی که تو اون صفحه کاربر پسورد جدید رو وارد کنه بعد تو دیتابیس اطلاعات مربوط به خودش بر اساس شرط نام کاربری آپدیت بشه

abazari
سه شنبه 03 اردیبهشت 1392, 11:30 صبح
باتشکر از راهنماییتون اگر کدی به عنوان مثال دارین میشه لطف کنین برام بذارین
من یه کد خودم دارم اما نمی دونم چرا درست کار نمیکنه

کدهای html :

<form action="password.php" method="POST">
رمز فعلی :<input type="text" name="passgo" id="passgo" size="20"><br>
رمز جدید :<input type="text" name="password" id="password" size="20"><br>
<input type="submit" name="submit" VALUE="send" />
</form>


کدهای password.php

<?php
//برای اتصال با مای اس کیو ال
$handle=mysql_connect('localhost','root','');
// اگر به مای اس کیو ال متصل نشود پیغام بدهد
if($handle==false){
die("can not connect mysql.\r\n");
}
//مشخص کردن دیتابیس
$db=mysql_select_db('matn');
// در صورت متصل نشدن پیغام خطا دهد
if($db==false){
die("can not connect db.\r\n");
}
//برای دریافت پسورد جدید
$password = $_POST['password'];
if($password=="")
die('پسورد جدید رو ننوشتید');
//برای دریافت پسورد قبلی
$passgo= $_POST['passgo'];
if($passgo=="")
die('پسورد فعلی رو ننوشتید');
// با استفاده از متغییرها پسورد جدید رو جایگزین پسورد قبلی می کند
$query="UPDATE users SET user_pass='$password' WHERE user_pass='$passgo'";
$result=mysql_query($query,$handle);
//در صورت دریافت نکردن اطلاعات پیغام خطا می دهد
if($result==false){
die("error with query\r\n");
}
$num=mysql_affected_rows($handle);
//در صورت تغییر رمز عبور، شماره یک میدهد در غیر این صورت شماره صفر
echo "تغییر رمز عبور:$num.\r\n";
// مای اس کیو ال بسته می شود.
mysql_close($handle);
?>

81579001
سه شنبه 03 اردیبهشت 1392, 12:08 عصر
سلام
این قسمت را تغییر بدید حل میشه



$query="UPDATE users SET user_pass='$password' WHERE user_pass='$passgo'";
$result=mysql_query($query,$handle);





$query="UPDATE users SET user_pass='$password' WHERE user_id='$id'";

موفق باشید

abazari
چهارشنبه 04 اردیبهشت 1392, 09:01 صبح
آخه من اصلا فیلدی به نام user_id ندارم

nsco_nsco
پنج شنبه 05 اردیبهشت 1392, 04:23 صبح
سلام دوست من روال کلی این صورت است اون فیلد عضویت که رمز توش قرار دارد را بخوانید و دو فیلد وجود داشته باشد که اون پسورد جدید را بزند و بازدن دکمه ای این رکورد اپدیت شود در پایگاه داده به همین سادگی دوست من موفق باشید

abazari
سه شنبه 17 اردیبهشت 1392, 13:39 عصر
دوستان کدی که خودم گذاشتم درسته مشکل چیز دیگری بود اگر نیازتون شد استفاده کنید به دردتون می خوره

AbiriAmir
سه شنبه 17 اردیبهشت 1392, 21:43 عصر
کدتون بسیار غیر اصولی هست.
با کاری که میکنید اگر 2 نفر پسوردشون یکسان باشه پسورد هر دو رو تغییر میدید.
ضمنا پسورد ها حتما باید هش بشن بعد ذخیره شن که شما اینکارو نمیکنید

abazari
دوشنبه 23 اردیبهشت 1392, 13:48 عصر
حرفتون کاملا منطقی هستش
میشه لطفا راه حل این مشکل رو هم بگید