ユーザがユーザ情報を変更できるように、codeigniterで関数を作成しようとしました。何らかの理由でCodeigniterが動作しないユーザ情報のクエリ
フォームに記入して送信すると、レコードが更新されず、空白のページが表示されます。 (私はPHPエラーを有効にしています) 合計で同じビューページに4つの異なるフォームがあります。これは、更新の私のコントローラ機能である
<div class="main">
<table class="gegevensupdaten">
<form action="<?php echo base_url() . "GwController/update_email"?>" method="post">
<tr>
<td><h4>E-mail adres wijzigen</h4></td>
<td><?php echo form_input(array('type'=>'email','id'=>'email', 'name'=>'email', 'placeholder' => 'Nieuw e-mail adres:', 'size'=>70));?></td>
<td><?php echo form_input(array('type'=>'password','id'=>'wachtwoord', 'name'=>'wachtwoord', 'placeholder' => 'Uw wachtwoord:', 'size'=>70));?></td>
<td><?php echo form_input(array('type'=>'hidden','id'=>'user_id', 'name'=>'user_id', 'value' => $_SESSION['user_id'], 'size'=>70));?></td>
<td><button type="submit" name="emailwijzigen" class="btn btn-primary">Opslaan</button></td>
</tr>
</form>
<form action="<?php echo base_url() . "GwController/update_adres"; ?>" method="post">
<tr>
<td><h4>Adres wijzigen</h4></td>
<td><?php echo form_input(array('id'=>'straat', 'name'=>'straat', 'placeholder' => 'Nieuw straatnaam', 'size'=>70));?></td>
<td><?php echo form_input(array('id'=>'huisnummer', 'name'=>'huisnummer', 'placeholder' => 'Nieuwe huisnummer', 'size'=>70));?></td>
<td><?php echo form_input(array('id'=>'woonplaats', 'name'=>'woonplaats', 'placeholder' => 'Nieuw stad/woonplaats', 'size'=>70));?></td>
<td><?php echo form_input(array('id'=>'postcode', 'name'=>'postcode', 'placeholder' => 'Nieuwe postcode', 'size'=>70));?></td>
<td><?php echo form_input(array('type'=>'password','id'=>'wachtwoord', 'name'=>'wachtwoord', 'placeholder' => 'Uw wachtwoord:', 'size'=>70));?></td>
<td><?php echo form_input(array('type'=>'hidden','id'=>'user_id', 'name'=>'user_id', 'value' => $_SESSION['user_id'], 'size'=>70));?></td>
<td><button type="submit" class="btn btn-primary">Opslaan</button></td>
</tr>
</form>
<form action="<?php echo base_url() . "GwController/update_wachtwoord"; ?>" method="post">
<tr>
<td><h4>Wachtwoord wijzigen</h4></td>
<td><?php echo form_input(array('type'=>'hidden','id'=>'user_id', 'name'=>'user_id', 'value' => $_SESSION['user_id'], 'size'=>70));?></td>
<td><?php echo form_input(array('type'=>'password','id'=>'nieuwwachtwoord', 'name'=>'nieuwwachtwoord', 'placeholder' => 'Uw nieuwe wachtwoord: ', 'size'=>70));?></td>
<td><?php echo form_input(array('type'=>'password','id'=>'herhaalwachtwoord', 'name'=>'herhaalwachtwoord', 'placeholder' => 'Herhaal uw nieuwe wachtwoord', 'size'=>70));?></td>
<td><?php echo form_input(array('type'=>'password','id'=>'wachtwoord', 'name'=>'wachtwoord', 'placeholder' => 'Uw oude wachtwoord:', 'size'=>70));?></td>
<td><button type="submit" class="btn btn-primary">Opslaan</button></td>
</tr>
</form>
<form action="<?php echo base_url() . "GwController/update_beschrijving"; ?>" method="post">
<tr>
<td> <h4>Beschrijving wijzigen</h4></td>
<td> <?php echo form_textarea(array('type'=>'textarea','id'=>'beschrijving', 'name'=>'beschrijving', 'placeholder' => 'Uw nieuwe beschrijving..','cols'=>70));?></td>
<td><?php echo form_input(array('type'=>'hidden','id'=>'user_id', 'name'=>'user_id', 'value' => $_SESSION['user_id'], 'size'=>70));?></td>
<td><button type="submit" class="btn btn-primary">Opslaan</button></td>
</tr>
</form>
</table>
</div>
: これは私が私のビューファイルに持っているものである
<?php
class GwController extends CI_Controller {
// index functie - hierin laad ik de view file 'gegevenswijigen' in het mapje views.
public function index()
{
$this->load->view('gegevenswijzigen');
}
function __construct()
{
parent::__construct();
//Laad het Update_model in models folder
$this->load->model('Update_model');
}
//Controller functie om email van een gebruiker te veranderen
function update_email()
{
$id= $this->input->post('user_id');
$data = array(
'email' => $this->input->post('email')
);
$wachtwoord = $_POST['wachtwoord'];
//check gebruiker in database
$this->db->select('*');
$this->db->from('users');
$this->db->where(array('user_id'=>$_SESSION['user_id'], 'wachtwoord' => $wachtwoord));
$query = $this->db->get();
$user = $query->row();
//Als gebruiker bestaat
if ($user->user_id) {
$this->Update_model->update_email($id, $data);
header ('location:https://kadokado-ferran10.c9users.io/user/profile');
}
}
//Controller functie om het adres van een gebruiker te veranderen
function update_adres()
{
$id= $this->input->post('user_id');
$data = array(
'straat' => $this->input->post('straat'),
'huisnummer' => $this->input->post('huisnummer'),
'woonplaats' => $this->input->post('woonplaats'),
'postcode' => $this->input->post('postcode')
);
$wachtwoord = $_POST['wachtwoord'];
//check gebruiker in database
$this->db->select('*');
$this->db->from('users');
$this->db->where(array('user_id'=>$_SESSION['user_id'], 'wachtwoord' => $wachtwoord));
$query = $this->db->get();
$user = $query->row();
//Als gebruiker bestaat
if ($user->user_id) {
$this->Update_model->update_email($id, $data);
header ('location:https://kadokado-ferran10.c9users.io/user/profile');
}
}
//Controller functie om gebruikerswachtwoord te veranderen
function update_wachtwoord()
{
$id= $this->input->post('user_id');
$nieuwwachtwoord = $this->input->post('nieuwwachtwoord');
$herhaalwachtwoord = $this->input->post('herhaalwachtwoord');
if($nieuwwachtwoord == $herhaalwachtwoord){
$data = array(
'wachtwoord' => $this->input->post('nieuwwachtwoord'),
);
$wachtwoord = $_POST['wachtwoord'];
//check gebruiker in database
$this->db->select('*');
$this->db->from('users');
$this->db->where(array('user_id'=>$_SESSION['user_id'], 'wachtwoord' => $wachtwoord));
$query = $this->db->get();
$user = $query->row();
//Als gebruiker bestaat
if ($user->user_id) {
$this->Update_model->update_email($id, $data);
header ('location:https://kadokado-ferran10.c9users.io/user/profile');
}
}
//Controller functie voor profiel beschrijving bewerken
function update_beschrijving()
{
$id= $this->input->post('product_id');
$data = array(
'beschrijving' => $this->input->post('beschrijving'),
);
$this->update_model->update_wachtwoord($id,$data);
header ('location:https://kadokado-ferran10.c9users.io/user/profile');
}
}
}
これらはすべて私のモデル関数です:
class Update_model extends CI_Model{
// Model update functie om email te veranderen
function update_email($id,$data){
$this->db->where('user_id', $id);
$this->db->update('users', $data);
$_SESSION['email'] = $data['email'];
header ('location:https://kadokado-ferran10.c9users.io/user/profile');
}
//Model update gebruiker adres veranderen
function update_adres($id,$data){
$this->db->where('user_id', $id);
$this->db->update('users', $data);
$_SESSION['straat'] = $data['straat'];
$_SESSION['huisnummer'] = $data['huisnummer'];
$_SESSION['postcode'] = $data['postcode'];
$_SESSION['woonplaats'] = $data['woonplaats'];
header ('location:https://kadokado-ferran10.c9users.io/user/profile');
}
//Model update gebruiker wachtwoord veranderen
function update_wachtwoord($id,$data){
$this->db->where('user_id', $id);
$this->db->update('users', $data);
$_SESSION['wachtwoord'] = $data['wachtwoord'];
header ('location:https://kadokado-ferran10.c9users.io/user/profile');
}
//Model update gebruiker beschrijving veranderen
function update_beschrijving($id,$data){
$this->db->where('user_id', $id);
$this->db->update('users', $data);
$_SESSION['beschrijving'] = $data['beschrijving'];
header ('location:https://kadokado-ferran10.c9users.io/user/profile');
}
}
は任意のものをいなぜそれが動作していないか知っていますか? ヘルプの任意の種類は
私はなぜ、あなたは別のフォームの各フィールド、ユーザーの情報をseparetedごとに置く必要がありますか? – Mary
犯罪はありませんが、私は、この時間と時間を、SOの初心者の人たちと再び見ています。初心者は車輪を再創造し、常に安全でないか、少なくとも1つのバグである独自の認証システムを作ります。あなたの周りに見たあなたの他の投稿によって判断すると、いくつかの問題があります。あなたの日から2時間をとり、 'Ion_Auth'で始めて始めましょう。あなたの必要とするすべての機能が含まれています。 – Alex
@mary私は4つの異なるフォームが必要なので、同時にすべてのフィールドの代わりに1つのフィールドを変更することもできます –