亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

試圖獲取非對象的屬性“電子郵件”

試圖獲取非對象的屬性“電子郵件”

PHP
一只甜甜圈 2021-06-30 21:30:17
當我輸入錯誤的電子郵件時,我在 Codeigniter 中編寫的代碼出現以下錯誤。遇到 PHP 錯誤 嚴重性:注意消息:嘗試獲取非對象的屬性“電子郵件”文件名:controllers/forms.php行號:26回溯:文件:E:\Software\XAMPP\xampp\htdocs\ciauth\application\controllers\forms.php 行:26 功能:_error_handler文件:E:\Software\XAMPP\xampp\htdocs\ciauth\index.php 行:315 功能:require_once下面是控制器<?php class Forms extends CI_Controller {    public function __construct()    {        parent::__construct();        $this->load->database();        $this->load->library('session');        $this->load->helper('url');        $this->load->model('user_model', 'auth');    }   public function forgot_pass()    {        if($this->input->post('forgot_pass'))        {            $email=$this->input->post('email');            $this->load->model('user_model', 'auth');            $this->load->library('form_validation');            $this->form_validation->set_rules('email', 'E-mail', 'required');            if ($this->form_validation->run() == TRUE) {            $que=$this->db->query("select password,email from users where email='$email'");                     $row=$que->row();            $user_email=$row->email;            if((!strcmp($email, $user_email)))            {                $pass=$row->password;                $to = $user_email;                $subject = "Password";                $txt = "Your password is $pass .";                $headers = "From: [email protected]" . "\r\n" . "CC: [email protected] ";                mail($to,$subject,$txt,$headers);                $this->load->view('user/header');                $this->load->view('user/confirm');                $this->load->view('user/footer');                }            else{            $data['error']="Invalid Email ID !";            }        }            else{                $data['error']="Email ID is required !";            }    }            $this->load->view('user/header');               $this->load->view('user/forgot_pass',@$data);            $this->load->view('user/footer');      }}?>
查看完整描述

3 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

您應該在$user_email=$row->email;根據您的標準記錄是否存在之前檢查,如果行不存在,那么您將收到該錯誤


所以你應該檢查如下


$row=$que->row();

if($row) {


   $user_email=$row->email;

}


查看完整回答
反對 回復 2021-07-09
?
慕少森

TA貢獻2019條經驗 獲得超9個贊

你需要這樣處理


$query = $this->db->query("select password,email from users where email=".$email);

if ($query->num_rows() > 0) {

    $row = $query->row();

    $user_email = $row->email;

} else {

    $user_email = '';

}

//then your next if condition in which you are comparing two strings


查看完整回答
反對 回復 2021-07-09
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

應用條件,因為在您的情況下,它可能無法從該電子郵件的表格中獲得結果,


if (isset($row))

{

注意: row方法返回單個結果行。如果您的查詢有多于一行,則它只返回第一行。結果作為對象返回。這是一個使用示例:


$que=$this->db->query("select password,email from users where email like '$email'");         


$row = $que->row();


if (isset($row))

{

    $user_email = $row->email;

    $user_password = $row->password;

}

這是相同的簡潔文檔。


查看完整回答
反對 回復 2021-07-09
  • 3 回答
  • 0 關注
  • 202 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號