私は2つのテーブル、すなわちユーザーとリクエストを持っていて、ユーザーにフォームを記入してもらい、他のデータと共にメールを記入する必要があります。ユーザーが電子メールを入力すると、単にユーザーのテーブルにデータを追加して最後のIDをピックアップし、最後に挿入したID +要求テーブルにIDを保存してメッセージを表示する必要があります。コードシニターを使用してデータベースにデータが存在するかどうかを確認します
アカウントは、私はコーディングを行っているここティル
...作成したが、私は立ち往生午前の部分は、私が欲しい
であることを利用者は、すでにユーザーがテーブル内に存在する電子メールを入力した場合コードは、その電子メールに対して存在するIDを選択し、フォームデータとともに要求テーブルに格納して表示する必要がありますメッセージは
は
usersテーブル
id name email
1 sam [email protected]
2 demo_user [email protected]
要求テーブル "要求が提出されていますが、既にアカウントを持っている、 チェックfurthur詳細にログインしてください"
id email userid
1 [email protected] 2
コントローラ
public function submit()
{
$this->form_validation->set_rules('email','Email','trim|required');
if($this->form_validation->run() == FALSE)
{
$erdata = array
(
'error' => validation_errors()
);
$this->session->set_flashdata($erdata);
redirect('home/index');
}
else
{
if($this->user_model->instant_submit())
{
$this->session->set_flashdata('msg','Your account is created');
}
else
{
echo "failed";
}
redirect('home/index');
}
}
モデル
public function instant_submit()
{
$userdata = array(
'email' => $this->input->post('email')
);
$insert_data = $this->db->insert('users', $userdata);
$lastid = $this->db->insert_id();
$reqdata = array(
'email' => $this->input->post('email'),
'userid' => $lastid,
'status'=>'pending'
);
$insert_request = $this->db->insert('request', $reqdata);
return $insert_data;
}
ビュー
<?php if($this->session->flashdata('msg')): ?>
<?php echo $this->session->flashdata('msg'); ?>
<?php endif; ?>
<?php
$reg_attributes = array('id'=>'form','role'=>"form");
echo form_open('home/submit', $reg_attributes);
?>
<?php
$data = array(
'type'=>'text',
'name'=>'email',
'placeholder'=>'Email',
'class'=>'form-control',
'id'=>'form-email'
);
echo form_input($data);
?>
<?php
$data = array(
'type'=>'submit',
'class'=>'btn-primary',
'name'=>'submit',
'content'=>'Submit!'
);
echo form_button($data);
?>
<?php echo form_close(); ?>
ここに問題がありますか? userdataが検証をパスするたびに挿入しないでください....そのデータに関連付けられたDBにユーザーが存在するかどうかを確認し、それに応じて行動します。 –