これは、CI での 2 番目の Web アプリです。
フォームから(送信時に)単一の値を取得してデータベースに挿入しようとしています。
私はコントローラー「urlsubmission」を持っています:
<?php
class Urlsubmission extends CI_Controller{
function index() {
$this->load->model('domaincheckmodel');
$this->domaincheckmodel->verifyduplicates();
}
}
?>
モデル (domaincheckmodel) - データベースで重複を検索します。
<?php
class Domaincheckmodel extends CI_Model{
function __construct(){
// Call the Model constructor
parent::__construct();
}
function verifyduplicates(){
#PREPARE DATA
$sql = "SELECT tld from ClientDomain WHERE tld = ?";
$postedTLD = $_POST['urlInput']; // Get unsanitized data
$endquery = $this->db->query($sql,array($this->db->escape_str($postedTLD))); // Query db
#CONDITION
if($endquery->num_rows() > 0){
$this->load->view('err/domainexists'); ##domain already used
## please login..
}
else{ #number of rows must be 0, insert into db
$newDomain = "INSERT INTO ClientDomain(tld) VALUES('".$this->db->escape_str($postedTLD)."')";
$this->load->view('success/domainfree');
## please register
}
}
}
?>
そして、現在 2 つのばかげたビュー: domainexists と domainfree:
ドメインが存在します:
<h2>Domain Exists</h2>
ドメインフリー:
<h2>Domain free</h2>
問題は、スクリプトを実行するとエラーは発生しませんが、else{}
ブロックは正しく実行されますが、データベースには何も入力されません。
次のように、db lib を自動ロードするように config/autoload をセットアップしました。
$autoload['libraries'] = array('database');
ここで何が間違っていますか?