我有一个Codeigniter Form
:
<?php
$attr = array('id'=>'urlSubmit','method'=>'post');
$urlInputAttr = array('name'=>'urlInput','value'=>'yourdomain.com','maxlength'=>'50','size'=>'25');
echo form_open('urlSubmission',$attr);
echo form_input($urlInputAttr);
echo form_close();
?>
然后一个controller
:
$this->load->view('support/header', $urlSubmissionMeta); ## Header info
$this->load->view('support/toolbar'); #logo
//
# Determine whether domain already has been crawled.
$this->load->model('domaincheckmodel');
$this->domaincheckmodel->verifyduplicates();
# Then Perform Scan
$this->load->model('performscanmodel');
$this->performscanmodel->fetchlinks();
A model
,叫 domaincheckmodel.php:
function verifyduplicates(){
#PREPARE DATA
$postedTLD = $_POST["urlInput"]; // Get unsanitized data
$sql = "SELECT tld from ClientDomain WHERE tld = ?";
$endquery = $this->db->query($sql,array($this->db->escape_str($postedTLD))); // Query db
#CONDITION - if #rows GT 0, load domain already exists.
if($endquery->num_rows() > 0){
$this->load->view('err/domainexists'); ##domain already used
## redir to new pagee to .. please login..
}
else{ #number of rows must be 0, insert into db
$newDomain = "INSERT INTO ClientDomain(tld) VALUES('".$this->db->escape_str($postedTLD)."')";
$this->db->query($newDomain);
$this->load->view('success/domainfree');
## please register to begin saving history of your scans, without doing so you lose results.
}
问题是当我提交表单时,if{}
andelse{}
语句在模型中工作正常,但变量$postedTLD
正在向 mysql 发送一个空白值。
这里有什么想法为什么要发送?