मुझे डेटाबेस में डेटा डालने में समस्या है; कोई त्रुटि नहीं दिखाई गई है, लेकिन डेटा डेटाबेस में सम्मिलित नहीं किया गया है।

नियंत्रक कोड

function FormData($data){
    if (!empty($_POST['name'])) {
        $data = array(
            'name'       =>  $this->input->post('name'),
            'position'   =>  $this->input->post('position'),
            'about_me'   =>  $this->input->post('about_me'),
            'contact_me' =>  $this->input->post('contact_me'),
            'email'      =>  $this->input->post('email'),
            'temp_addr'  =>  $this->input->post('temp_addr'),
            'perm_addr'  =>  $this->input->post('perm_addr'),
            'skill'      =>  $this->input->post('skill'),
            'photo'      => $this->input->post('photo'),


        );
        $this->Maboutus->form_insert($data);
        redirect('/admin');
    }
}

मॉडल कोड

function form_insert($data){
    $this->db->insert('aboutus',$data);
}

फ़ाइल देखें

<div class="container">
        <div class="col-md-8">
             <form  action="#" method="POST" class="form-horizontal">

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="name" class="col-md-4" >Name :</lebel>
                        <input type="text" name="name" id="name" class="col-md-8" placeholder="your name " required>                
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Position :</lebel>
                        <input type="text" name="position" id="position" class="col-md-8" placeholder="your position " required>                
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                         <lebel for="position" class="col-md-4" >About Me :</lebel>
                         <input type="text" name="about_me" id="about_me" class="col-md-8" placeholder=" your name About me " required>             
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Mobile No :</lebel>
                        <input type="text" name="contact_me" id="contact_me" class="col-md-8" placeholder=" your Mobile number" required>
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Email :</lebel>
                        <input type="text" name="email" id="email" class="col-md-8" placeholder=" your email " required>                
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Temporary Addr :</lebel>
                        <input type="text" name="temp_addr" id="temp_addr" class="col-md-8" placeholder=" your Temporary Address " required>
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Permanent Addr :</lebel>
                        <input type="text" name="perm_addr" id="perm_addr" class="col-md-8" placeholder=" your Permanent Address " required>
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <lebel for="position" class="col-md-4" >Skill :</lebel>
                        <input type="text" name="skill" id="skill" class="col-md-8" class="col-md-8" placeholder="your skill " required>                
                    </div>
                </div>
                <div class="clearfix"></div>

                <div class="col-md-12">
                    <div class="form-group">
                        <form action="upload.php" method="post" enctype="multipart/form-data">
                        <input type="file" class="col-md-8" name="photo" id="photo">
                    </div>
                </div>

            <div class="col-md-12">
                <div class="form-group">
                  <input class="col-md-8" class="btn btn-primary" type="submit" value="Submit"></br></br>
                </div>
             </div>
              </form>
        </div>

मैं PHP में नया हूँ। डेटा डेटाबेस में सम्मिलित नहीं है, और यह कोई त्रुटि नहीं दिखाता है; मैं क्या कर सकता हूं? मैंने खोजने की कोशिश की लेकिन मुझे कुछ भी गलत नहीं मिला।

0
prakash pokhrel 28 अक्टूबर 2017, 16:44

2 जवाब

सबसे बढ़िया उत्तर

आप नियंत्रक/विधि पर पोस्ट नहीं कर रहे हैं इसलिए पोस्ट कहीं नहीं जाती है। दृश्य में लाइन बदलें

<form action="#" method="POST" class="form-horizontal">

इसके लिए

<form action="<?php echo base_url('controller_name/FormData'); ?>" method="POST" class="form-horizontal">

नियंत्रक में फ़ंक्शन FormData की परिभाषा को इसमें बदलें

function FormData(){ ...

आपको तर्क पारित करने की आवश्यकता नहीं है इसलिए एक प्राप्त करने के लिए विधि की आवश्यकता नहीं है।

यह अगला बिट आपकी समस्या के लिए प्रासंगिक नहीं है बल्कि विचार करने के लिए एक परिशोधन है। मॉडल को भेजने के लिए आपको एक नई सरणी बनाने की आवश्यकता नहीं है। क्योंकि $_POST आपके फ़ील्ड से भरे जाने वाले हैं और आपके टेबल कॉलम के नाम बिल्कुल फॉर्म के फ़ील्ड नामों के समान हैं, जिन्हें आप मॉडल को केवल $_POST भेज सकते हैं।

$this->Maboutus->form_insert($_POST);

यदि कोई डेटा पोस्ट किया गया था जिसे आप उस मॉडल को नहीं भेजना चाहते थे जिसे आप सम्मिलित करने से पहले उन अनुक्रमणिकाओं को unset भेज देंगे। यह शायद मॉडल में किया जाना चाहिए ताकि आप वास्तविक $_POST सरणी के साथ खिलवाड़ न करें। उदाहरण के लिए:

function form_insert($data)
{
    unset($data['not_to_be_inserted_key']);  //remove this item from array  
    $this->db->insert('aboutus', $data);
}

लेकिन आपके द्वारा दिखाए गए उदाहरण में इसकी आवश्यकता नहीं है।

1
DFriend 28 अक्टूबर 2017, 23:07

मुझे लगता है कि आप अपने नियंत्रक पर सफलतापूर्वक $ _POST प्राप्त कर रहे हैं, तो समस्या जो मैं देख सकता हूं वह मॉडल है, सबसे पहले आपको इसे प्रारंभ करने की आवश्यकता है यदि आपने नहीं किया है, तो आप इसे अपने __ निर्माण में निम्नलिखित के साथ कर सकते हैं

public function __construct() {
        parent::__construct();
        $this->load->model('Maboutus_model');
    }

कृपया ध्यान रखें कि आपको हमेशा मॉडल नाम के बाद "_model" जोड़ना होगा

और फ़ंक्शन को कॉल करते समय आप इसे करते हैं

$this->Maboutus_model->form_insert($data);
0
Exequiel Aguirre 29 अक्टूबर 2017, 01:48