Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP MySQL Yii - database membaca bukan menulis

Render notice halaman tidak menghentikan pengalihan Anda. Itu mungkin dirender, tetapi Anda tidak akan dapat melihatnya karena pengalihan. Cobalah untuk memfaktorkan ulang kode Anda.

  • Anda memvalidasi model Anda dua kali dan validasi mungkin akan dilewati karena tidak ada data yang berasal dari pengguna Aplikasi.
  • Anda tidak memeriksa apakah People model benar-benar ditemukan.
  • Ada CWebUser::afterLogin metode yang dapat Anda timpa untuk melakukan hal semacam ini (perbarui jumlah login dan tanggal login terakhir)

Mungkin cara ini (perbaikan cepat) akan berhasil:

function actionIndex()
{
    if ($_GET["yep"] == "") {
      pd_error("You are not logged in!");
    }
    list($uid, $domain) = preg_split("/@/",$_GET["yep"],2);
    if (null === ($model=People::model()->findByPk($uid))
        throw new CHttpException(404);
    $model->Login_Count++;
    $model->Last_Logged=date('Y-m-d H:i:s');
    if ($model->save()) {
         $this->redirect($model->URL."?".$model->Unique_ID);
    } else {
        // echo CHtml::errorSummary($model)
        $this->render('notice');
    }       
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:mengapa anggota maksimal N per kueri grup ini berfungsi?

  2. Kapan menggunakan TEXT di mysql alih-alih VARCHAR

  3. Kelompokkan menurut id yang memiliki max(date_field)

  4. Dengan PDO, bagaimana saya bisa memastikan bahwa pernyataan UPDATE berhasil?

  5. ASP.NET MVC 4 EF5 dengan MySQL