我做了一个电子邮件验证.
$this->form_validation->set_rules('email', 'Email Address', 'trim|required|valid_email|callback_email_check');
function email_check($str)
{
if (stristr($str,'@uni-email-1.com') !== false) return true;
if (stristr($str,'@uni-email-2.com') !== false) return true;
if (stristr($str,'@uni-email-3.com') !== false) return true;
$this->form_validation->set_message('email', 'Please provide an acceptable email address.');
return FALSE;
}
Run Code Online (Sandbox Code Playgroud)
提交表单后,它显示"无法访问与您的字段名称对应的错误消息".我的代码有问题吗?
你好我下面一个turtorial学习笨的NETTUTS.
我有一个模型,一个视图和一个控制器.
该模型:
class Data_model extends CI_Model{
function getAll(){
$data = array();
$q = $this->db->query("SELECT * FROM data");
if($q->num_row() > 0){
foreach($q->result() as $row){
$data[] = $row;
}
return $data;
}
}
Run Code Online (Sandbox Code Playgroud)
}
风景:
<html>
<head>
<title></title>
</head>
<body>
<p>View loaded</p>
<?php
foreach ($rows as $r){
echo '<h1>',$r->title,'</h1>';
}
?>
</body>
Run Code Online (Sandbox Code Playgroud)
控制者:
class Site extends CI_Controller {
function index(){
$this->load->model('data_model');
$data['rows'] = $this->data_model->getAll();
$this->load->view('home');
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我没有得到错误,只是一个空页面.我究竟做错了什么?感觉就像我在教程中做的一切?
我在application/core中有一个例外,名为prefix_Exceptions.php,具有相同的类名.我尝试从控制器抛出此异常,我得到:
Fatal error: Class 'prefix_Exceptions' not found in user_controller.php
Run Code Online (Sandbox Code Playgroud)
在application/core/prefix_Exceptions.php:
<?php
class prefix_Exceptions extends CI_Exceptions {
public function __construct() {
parent::__construct();
}
public function test() {
echo "This is a test.";
}
}
Run Code Online (Sandbox Code Playgroud)
并在application/controllers/user_controller.php:
<?php
class User_Controller extends CI_Controller {
public function view($id = '0') {
$this->load->model('user_model');
$u = $this->user_model->getUser($id);
if (!isset($u)) {
$this->exceptions->test(); // ???
}
echo "Test: $u";
}
}
Run Code Online (Sandbox Code Playgroud)
哦,我的前缀设置为prefix_:
$config['subclass_prefix'] = 'prefix_';
Run Code Online (Sandbox Code Playgroud)
我已经阅读了关于这个问题的十几个线程,并且它们都没有修复我的异常,因此它可以被控制器抛出.
我想在db中插入值.我有一个表作为registration_patients.我的代码是:
$data = array(
'patients_first_name' => $this->input->post('first_name'),
'patients_last_name' => $this->input->post('last_name'),
'patients_email' => $this->input->post('email'),
'patients_password'=> $this->input->post('password'),
'patients_birth_date'=> date('Y-m-d', strtotime($this->input->post('day') . "-" .$this->input->post('month') . "-" . $this->input->post('year'))),
'patients_sex'=> $this->input->post('sex'),
'patients_telephone'=> $this->input->post('telephone'),
'patients_codice_fiscale'=> $this->input->post('codice_fiscale'),
'account_active'=> 0
);
return $this->db->insert('registration_patients', $data);
Run Code Online (Sandbox Code Playgroud)
现在它将值插入数据库总线,显示一些错误和警告
遇到PHP错误
严重性:警告
消息:strtotime():依赖系统的时区设置是不安全的.您需要使用date.timezone设置或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们选择"欧洲/伦敦"代替"BST/1.0/DST"
文件名:models/doctors_model.php
行号:22遇到PHP错误
严重性:警告
消息:date():依赖系统的时区设置是不安全的.您需要使用date.timezone设置或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们选择"欧洲/伦敦"代替"BST/1.0/DST"
文件名:models/doctors_model.php
行号:22
我被困住了,似乎无法解决我的问题.我正在尝试首次使用Codeigniter编写基本的"联系我们表格".我的观点上的表格看起来像这样......
<div style='float: left; padding-right: 55px; padding-left: 35px;'>
<?php
$this->load->helper('form');
echo form_open('pages/emailsender'); ?>
Contact Us:<br />
<?php
echo form_input('name', 'Enter Your Name');
echo form_input('email', 'Enter Your Email');
echo "<br />";
echo form_textarea('message', 'Enter your message here, thanks for taking the time to contact us!');
echo "<br />";
echo form_submit('submit', 'Send Message!');
echo form_reset('reset', 'Reset Form');
echo form_close();
?>
</div>
Run Code Online (Sandbox Code Playgroud)
和我的控制器pages.php看起来像..
<?php
class Pages extends CI_Controller {
public function index(){
$this->load->view('templates/header');
$this->load->view('home');
$this->load->view('templates/footer');
}
public function home(){
$this->load->view('templates/header');
$this->load->view('home');
$this->load->view('templates/footer');
} …Run Code Online (Sandbox Code Playgroud) 任何人都可以解释为redirect()函数使用'location'和'refresh'参数之间的具体区别.它是否仅适用于Windows使用"刷新"时出现错误或者它实际上是否用于更重要的目的?
所以我有一个动态链接,我想写这样的动态链接:
echo "<a href='".base_url('browse/category/').$all_categories[$j]['id']."'>";
Run Code Online (Sandbox Code Playgroud)
但是链接似乎是这样的......
www.example.com/browse/category2
Run Code Online (Sandbox Code Playgroud)
类别和动态数字之间没有斜杠(2).所以我认为另一种方式,但我认为这是一个混乱的方式:
base_url('browse/category')."/".$all_categories[$j]['id']
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗??
非常感谢!
我正在使用codeigniter,这是我的观点:
<select name="kode_promo_air" id="kode_promo_air" class="span3 input2">
<option value="">-PILIH-</option>
<?php
$data = $this->app_model->get_promo_air();
foreach($data->result() as $t){
?>
<option value="<?php echo $t->PRO_PRICE_CODE;?>"><?php echo $t->PRO_MST_NM;?> - <?php echo $t->PRO_AMT_CUST;?></option>
<?php
}
?>
</select>
Run Code Online (Sandbox Code Playgroud)
这里是app_model - > get_promo_air()
function get_promo_air()
{
$sql = "
SELECT
c.PRO_PRICE_CODE,
a.PRO_MST_NM,
c.PRO_AMT_CUST
FROM
promo_master a
inner join promo_type b on a.pro_type_id = b.pro_type_id
inner join promo_price c on a.PRO_MST_ID = c.PRO_MST_ID
WHERE sysdate() BETWEEN a.PRO_PRICE_DATE_FROM
AND a.PRO_PRICE_DATE_TO
AND b.PRO_TYPE_ID = 1
";
return $this->db->query($sql);
}
Run Code Online (Sandbox Code Playgroud)
问题是我无法在我的视图中获取$ data-> result(),当我调试时: …
我在Google App Engine上的CodeIgniter应用无法连接到Google Cloud SQL上的数据库.我尝试了很多东西.
我检查了mysql数据库的用户,我的用户拥有所有权限.我检查了所有拼写,这是正确的.该应用程序在本地工作.我如何修复此问题?我只是无法连接它.
mysql database google-app-engine codeigniter google-cloud-sql
我想编写一个函数来加载辅助文件中的下拉列表,因此我想在Helper文件中使用我的模型.
当我使用它时,它给我错误:
$this->load->model("news_model");
Run Code Online (Sandbox Code Playgroud)
错误:
Fatal error: Using $this when not in object context in C:\xampp\test\application\helpers\component_helper.php on line 6
Run Code Online (Sandbox Code Playgroud)
我的方法:
function dropdown($Class,$Attribute)
{
$Output=NULL;
$ClassName=$Class."_model";
$this->load->model($ClassName);
$FullData=$ClassName->get();
foreach ($FullData as $Data)
{
$Output.='<option value="'.$Data->Id.'">'.$Data->$Attribute.'</option>';
}
return $Output;
}
Run Code Online (Sandbox Code Playgroud)
谢谢
codeigniter ×10
php ×7
forms ×2
database ×1
exception ×1
include ×1
mysql ×1
redirect ×1
sql ×1
validation ×1