Symbianize Forum

Most of our features and services are available only to members, so we encourage you to login or register a new account. Registration is free, fast and simple. You only need to provide a valid email. Being a member you'll gain access to all member forums and features, post a message to ask question or provide answer, and share or find resources related to mobile phones, tablets, computers, game consoles, and multimedia.

All that and more, so what are you waiting for, click the register button and join us now! Ito ang website na ginawa ng pinoy para sa pinoy!

Contact form + database

DawnDusk

Apprentice
Advanced Member
Messages
52
Reaction score
0
Points
26
Hi guys! May error ako sa contact form it says that Fatal error: Call to undefined function form_open() in C:\xampp\htdocs\Website\contact_form_view.php on line 104

at yung nasa line 104 ay echo form_open("contactform/index", $attributes);?>

Here's the contact form code

Code:
<div class="col-md-6 col-md-offset-3">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h3 class="panel-title">Contact Form</h3>
        </div>
        <div class="panel-body">
            <?php $attributes = array("name" => "contactform");
            echo form_open("contactform/index", $attributes);?>
            <div class="form-group">
                <label for="name">Name</label>
                <input class="form-control" name="name" placeholder="Your Full Name" type="text" value="<?php echo set_value('name'); ?>" />
                <span class="text-danger"><?php echo form_error('name'); ?></span>
            </div>
            
            <div class="form-group">
                <label for="email">Email ID</label>
                <input class="form-control" name="email" placeholder="Email-ID" type="text" value="<?php echo set_value('email'); ?>" />
                <span class="text-danger"><?php echo form_error('email'); ?></span>
            </div>

            <div class="form-group">
                <label for="subject">Subject</label>
                <input class="form-control" name="subject" placeholder="Subject" type="text" value="<?php echo set_value('subject'); ?>" />
                <span class="text-danger"><?php echo form_error('subject'); ?></span>
            </div>

            <div class="form-group">
                <label for="message">Message</label>
                <textarea class="form-control" name="message" rows="4" placeholder="Message"><?php echo set_value('message'); ?></textarea>
                <span class="text-danger"><?php echo form_error('message'); ?></span>
            </div>

            <div class="form-group">
                <button name="submit" type="submit" class="btn btn-success">Submit</button>
            </div>
            <?php echo form_close(); ?>
            <?php echo $this->session->flashdata('msg'); ?>
        </div>
    </div>
</div>


Here's the PhP code

Code:
<?php
class contactform extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form','url'));
        $this->load->library(array('session', 'form_validation'));
        $this->load->database();
    }

    function index()
    {
        //set validation rules
        $this->form_validation->set_rules('name', 'Name', 'trim|required|xss_clean|callback_alpha_space_only');
        $this->form_validation->set_rules('email', 'Emaid ID', 'trim|required|valid_email');
        $this->form_validation->set_rules('subject', 'Subject', 'trim|required|xss_clean');
        $this->form_validation->set_rules('message', 'Message', 'trim|required|xss_clean');
        
        //run validation on post data
        if ($this->form_validation->run() == FALSE)
        {   //validation fails
            $this->load->view('contact_form_view');
        }
        else
        {
            //insert the contact form data into database
            $data = array(
                'name' => $this->input->post('name'),
                'email' => $this->input->post('email'),
                'subject' => $this->input->post('subject'),
                'message' => $this->input->post('message')
            );

            if ($this->db->insert('contacts', $data))
            {
                // success
                $this->session->set_flashdata('msg','<div class="alert alert-success text-center">We received your message! Will get back to you shortly!!!</div>');
                redirect('contactform/index');
            }
            else
            {
                // error
                $this->session->set_flashdata('msg','<div class="alert alert-danger text-center">Oops! Some Error.  Please try again later!!!</div>');
                redirect('contactform/index');
            }
        }
    }
    
    //custom callback to accept only alphabets and space input
    function alpha_space_only($str)
    {
        if (!preg_match("/^[a-zA-Z ]+$/",$str))
        {
            $this->form_validation->set_message('alpha_space_only', 'The %s field must contain only alphabets and space');
            return FALSE;
        }
        else
        {
            return TRUE;
        }
    }
}
?>


I don't what's wrong can you help me guys?
 
sa tingin ko hindi mo naiintindihan paano gamitin ang codeigniter framework try mo nalang aral muna. kc kitang kita naman sa implementation nang code mo mali mali.. study the basic TS.. ikaw din diba 31 deadline niyo diyan hahaha
 
Honestly, i don't even tried to use codeigniter nor other php frameworks to build responsive or a simple website.
Pero sa nakikita ko, your code from line 104 should be look like this kung di ako nagkakamali :).

Code:
<?php $attributes = array('class' => 'YourFormClass' , 'id' => 'YourFormID');?>
           <?php echo form_open('contactform/index', $attributes);?>

Look at the documentation here > https://ellislab.com/codeigniter/user-guide/helpers/form_helper.html

Maski ako naguguluhan sa ginawa mo. Sa pagkakaintindi ko sa error mo naglagay ka o nag assign ng 'name' sa paramater kung saan kukunin ng name ang nilalaman ng contactform mo (Which is yung php class mo) na hindi naman nya makita o ma identify kung nasaan? hahahaha. :lol: wala akong karanasan masyado sa php dahil basics lang din ang alam ko pero yun ay sa aking lamang pagkakaintindi :D
 
Last edited:
Hmmm. Undefined daw yung form_open() function pero nakita ko sa constructor niload naman niya yung form helper. Try mo kaya tanggalin sa constructor tapos ilagay mo nalang sa autoload, o kaya iload mo yung form helper sa mismong index()
 
Back
Top Bottom