Setting the "method" attribute of form fixed this for me, everything is submitting to the database fine, now, I have a similar problem with my validating credentials but maybe it has the same root as this problem since I forgot about method in the first place, thank you all very much.
I have a problem while attempting to learn CodeIgniter and general MVC principles.
I have a sign up form view
<div class="container">
<form class="form-horizontal" style="width:500px;" action="sign_up">
<fieldset>
<!-- Form Name -->
<legend>Sign Up</legend>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="username">Username</label>
<div class="controls">
<input id="username" name="username" placeholder="Username" class="input-xlarge" required="" type="text">
<p class="help-block">Your username</p>
</div>
</div>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="email_address">Email</label>
<div class="controls">
<input id="email_address" name="email_address" placeholder="Email address " class="input-xlarge" required="" type="text">
<p class="help-block">Enter your email address</p>
</div>
</div>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="first_name">First Name</label>
<div class="controls">
<input id="first_name" name="first_name" placeholder="First name" class="input-xlarge" required="" type="text">
<p class="help-block">Enter your first name</p>
</div>
</div>
<!-- Text input-->
<div class="control-group">
<label class="control-label" for="last_name">Last Name</label>
<div class="controls">
<input id="last_name" name="last_name" placeholder="Last name" class="input-xlarge" type="text">
<p class="help-block">help</p>
</div>
</div>
<!-- Password input-->
<div class="control-group">
<label class="control-label" for="password">Password Input</label>
<div class="controls">
<input id="password" name="password" placeholder="Password" class="input-xlarge" required="" type="password">
<p class="help-block">help</p>
</div>
</div>
<div class="control-group">
<label class="control-label" for="password">Password Confirmation</label>
<div class="controls">
<input id="password2" name="password2" placeholder="Password" class="input-xlarge" required="" type="password">
<p class="help-block">help</p>
</div>
</div>
<!-- Button -->
<div class="control-group">
<label class="control-label" for="singlebutton"></label>
<div class="controls">
<button class="btn btn-success" onclick="submit" >Sign Up</button>
</div>
</div>
</fieldset>
</form>
</div>
Which submits to (user/)sign_up
public function sign_up() {
$this->load->model('login_model');
if($query = $this->login_model->create_member()){
$data['main_content'] = 'user_login_view';
$this->load->view('template', $data);
}
}
And passes to the model function "create_member"
function create_member()
{
$newdata = array(
'user_name' => $this->input->post('username'),
'password' => md5($this->input->post('password')),
'email' => $this->input->post('email_address'),
'first_name' => $this->input->post('first_name'),
'last_name' => $this->input->post('last_name')
);
$insert = $this->db->insert('users', $newdata);
return $insert;
}
I believe I have the correct table set up and I am following the MVC principle.
id int(11)
user_name varchar(25)
password varchar(32)
email varchar(50)
first_name varchar(32)
last_name varchar(32)
My problem is the password is the only value that is passing over into the database for the rest it simply submits 0, any suggestions or obvious mistakes to point out?
ID user_name password email first_name last_name
20 0 d41d8cd98f00b204e9800998ecf8427e 0 0 0
Thank you