تغییرش دادم یه چک دیگه بکن
بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ
سوال در مور پرینت کردن
مدیریت گفتگو
آخرین تغییر: 10 سال پیش
من در این کد قسمت if چی بزارم که وقتی پسورد قدیمی اشتباه بود بزنه نه و اگر درست بود بزنه بله؟
function update(){
$connection = connectToDatabase();
$User_login = $_REQUEST['User_login'];
$oldPass= $_REQUEST['oldPass'];
$newPass= $_REQUEST['newPass'];
$result_update=mysqli_query($connection, "UPDATE users SET Password='$newPass' WHERE Mobile='$User_login' AND Password='$oldPass'");
if(اینجا){
echo "no";
}else{
echo "yes";
}
mysqli_close($connection);
}
پاسخها 5
یه خورده بیایم کد ها رو تمیزترش کنیم چون خطایابیش مشکلتره این مدلی که شما نوشتید
if (!$connection) {
die("خطا در اتصال به پایگاه داده" . mysqli_connect_error()); } $sql = "UPDATE users SET Password='$newPass' WHERE Mobile='$User_login' AND Password='$oldPass'";
if (mysqli_query($connection, $sql)) {
echo'با موفقیت به روز شد'; }else{
echo'خطا';
}
نظرات
مال من اینطوری هستش طبق آموزش های استاد :
<?php
if (isset($_REQUEST['action'])){
$action = $_REQUEST['action'];
} else {
echo "Invalid Data";
exit;
}
if ($action=="update"){
update();
}
/**
*
*/
function connectToDatabase(){
$connection = mysqli_connect("localhost", "root", "root", "root");
mysqli_set_charset($connection,"utf8");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
return $connection;
}
/**
*
*/
function update(){
$connection = connectToDatabase();
$User_login = $_REQUEST['User_login'];
$oldPass= $_REQUEST['oldPass'];
$newPass= $_REQUEST['newPass'];
$result_update=mysqli_query($connection, "UPDATE users SET Password='$newPass' WHERE Mobile='$User_login' AND Password='$oldPass'");
if(mysqli_num_rows($result_update) > 0){
echo "با موفقیت به روز شد";
}else{
echo "خطا";
}
mysqli_close($connection);
}
نظرات
نه بازم یه پیغام رو نشون میده . من موندم چرا مقدار همیشه 1 هستش .
یه کلاسی به نام db بساز
<?php
class Db {
private $connection;
public function __construct($option = NULL){
if ($option != NULL){
$host = $option['host'];
$user = $option['user'];
$pass = $option['pass'];
$name = $option['name'];
} else {
global $config;
$host = $config['db']['host'];
$user = $config['db']['user'];
$pass = $config['db']['pass'];
$name = $config['db']['name'];
}
$this->connection = new mysqli($host, $user, $pass, $name);
if ($this->connection->connect_error) {
echo "Connection failed: " . $this->connection->connect_error;
exit;
}
$this->connection->query("SET NAMES 'utf8'");
}
public function test(){
echo $this->connection;
}
public function first($sql){
$records = $this->query($sql);
if ($records == NULL){
return NULL;
}
return $records[0];
}
public function modify($sql){
$result = $this->connection->query($sql);
if (!$result) {
echo "Query: " . $sql . " failed due to " . mysqli_error($this->connection);
exit;
}
return $result;
}
public function insert($sql){
$result = $this->connection->query($sql);
if (!$result) {
echo "Query: " . $sql . " failed due to " . mysqli_error($this->connection);
exit;
}
return $result;
}
public function query($sql){
$result = $this->connection->query($sql);
if (!$result) {
echo "Query: " . $sql . " failed due to " . mysqli_error($this->connection);
exit;
}
$records = array();
if ($result->num_rows == 0) {
return null;
}
while($row = $result->fetch_assoc()) {
$records[] = $row;
}
return $records;
}
public function connection(){
return $this->connection;
}
public function close(){
$this->connection->close();
}
}
نظرات
رئیسی جان الان به ذهنم زد این کارو کردم. نظرت چیه؟ درست هم کار می کنه!
function read(){
$connection = connectToDatabase();
$User_login = $_REQUEST['User_login'];
$oldPass= $_REQUEST['oldPass'];
$result = mysqli_query($connection, "SELECT * FROM users WHERE Mobile='$User_login'");
$row = mysqli_fetch_array($result);
if($oldPass!= $row['Password']){
echo "خطا";
}else{
update();
}
mysqli_close($connection);
}
/**
*
*/
function update(){
$connection = connectToDatabase();
$User_login = $_REQUEST['User_login'];
$newPass= $_REQUEST['newPass'];
$result_update=mysqli_query($connection, "UPDATE users SET Password='$newPass' WHERE Mobile='$User_login'");
if($result_update){
echo "با موفقیت به روز شد";
}
mysqli_close($connection);
}
نظرات
اگه کار میکنه خوبه
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
ویرایش
پیام
نظرات