Reputation: 311
This should be something really simple but I just can't get it.
I'm learning codeigniter and I have a form with following code
<body>
<form name ="userinput" action="form_reader.php" method="post">
Name <input type="text" name="username"> <br/>
<input type="submit" value="Submit">
</form>
I have a controller called form_reader.php
in my controllers folder. I get a 404 Not Found
error. What am I doing wrong ?
Upvotes: 9
Views: 81966
Reputation: 465
Have a look at the NETTUTS codeigniter tutorials. You'll have to modify slightly as they are using 1.7.2 but the concepts are the same
Upvotes: 2
Reputation: 12038
Send your values to a function in your controller
<form name ="userinput" action="form_reader/save_userinput" method="post">
in your controller, make a function called "save_userinput":
<?php
class Form_reader extends CI_Controller {
public function save_userinput()
{
//code goes here
// for example: getting the post values of the form:
$form_data = $this->input->post();
// or just the username:
$username = $this->input->post("username");
// then do whatever you want with it :)
}
}
?>
Hope that helps. Make sure to check out the CI documentation, it's really good. Any more questions, just ask :)
EDIT: Figured it out. Use this opening form tag instead:
<form name ="userinput" action="index.php/form_reader/save_userinput" method="post">
I'm used to not having the index.php there, I remove it by using a .htaccess file (like this one), so I overlooked that. It works here with that small edit in the action attribute.
Alternatively, you could use the form helper:
Load it in your controller by using this->load->helper('form')
and then use this instead of the HTML <form>
tag: <? echo form_open('form_reader/save'); ?>
Upvotes: 36