آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال در مور پرینت کردن

علی  10 سال پیش  10 سال پیش
0 0

من در این کد قسمت 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);
}
+1 0
شما اول باید یه کوئری قبل اپدیت بزنی که اگر پسورد جدید مشابه پسورد قدیم نبود اون موقع متد اپدیت صدا زده بشه و مقدار جدید جایگزین مقدار قبلی بشه (10 سال پیش)
0 0
چرا این کارو بکنم؟ مگه تو قسمت where چک نکردم درست؟ و اینطوری که شما میگی رو نمیدوم دقیقا چطوری انجام بدم. (10 سال پیش)
0 0
بله مال شما هم درسته حالا اگه کوئری که شما زدی درست باشه داخل متغیر $result_update برابر با true میشه واگه کوئری اجرا نشه false میشه (10 سال پیش)
0 0
الان فقط کافیه result_update رو بزارین توی if (10 سال پیش)
0 0
دوتایش میزنه 1 و این برای من که می خوام پیغام true و false بدم جالب نیست اصلا. (10 سال پیش)
0 0
البته جای no ,yes رو هم برعکس بزارین (10 سال پیش)
0 0
تمام این حرکت ها رو برای if زدم نشد. (10 سال پیش)
0 0
چطوری میتونم row بگیرم از mysqli ؟ که بتونم با row مقایسه رو انجام بدم؟ (10 سال پیش)
0 0
پشت result_update یه echo بزن ببین خروجی چند میده بیرون (10 سال پیش)
0 0
یک میده چه با موفقیت تغییر کنه پسورد چه نکنه . نمی دونم چرا (10 سال پیش)
+1 0
یه جای کارتون مشکل داره اگنه واسه چک کردن کوئری به این شکلی بود که گفتم.پیشنهاد میکنم به روش MVC بری جلو هم دوستان بهتر می تونن راهنمایی بکنن و همچنین با کمترین خطا مواجه میشی (10 سال پیش)
0 0
رئیسی جان من حالا تو همین if گیر کردم هیچ راهی نیست یعنی؟ پس اگه میتونی حداقل row گرفتن رو بهم بگو از mysqli (10 سال پیش)
0 0
mysqli_num_rows($result_update) > 0 همینو بزار توی if شاید جواب بده (10 سال پیش)
0 0
این خطا رو میده رئیسی جان . mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in (10 سال پیش)
 برای این سوال 5 پاسخ وجود دارد.
پاسخ به سوال 
raeesi  10 سال پیش
+1 0

یه خورده بیایم کد ها رو تمیزترش کنیم چون خطایابیش مشکلتره این مدلی که شما نوشتید

 

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'خطا';
}
پاسخ به سوال 
علی  10 سال پیش
0 0

مال من اینطوری هستش طبق آموزش های استاد :

 <?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); }

 

0 0
تغییرش دادم یه چک دیگه بکن (10 سال پیش)
0 0
نه بازم یه پیغام رو نشون میده . من موندم چرا مقدار همیشه 1 هستش . (10 سال پیش)
پاسخ به سوال 
علی  10 سال پیش
0 0

پاسخ به سوال 
raeesi  10 سال پیش
0 0

یه کلاسی به نام 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();
  }
}
پاسخ به سوال 
علی  10 سال پیش
0 0

رئیسی جان الان به ذهنم زد این کارو کردم. نظرت چیه؟ درست هم کار می کنه!

 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);
}
+1 0
اگه کار میکنه خوبه (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .