0

Please help me. Thanks in advance. I am new to Cakephp. I am using cakephp2.8.5 version. I was trying to upload a file from HTML form, i can able to store the file in the targeted folder but not able to store the file name in the mysql database table.

My code as follows:
View Page is add.ctp

<form name="add_userform" class="form-horizontal" role="form" accept-charset="utf-8" enctype="multipart/form-data" method="post" id="UserAddForm" action="/invl_exams/users/add" >

   <div style="display:none;"><input type="hidden" value="POST" name="_method"></div> 
    <div class="form-group">
      <label for="UserUsername">Username</label>  

      <input type="text" class="form-control" required="required" id="UserUsername" maxlength="255" name="data[User][username]">
      <label id="UserUsername-error" class="error" for="UserUsername"></label> 
    </div>
    <div class="form-group">
      <label for="pwd">Password:</label> 

      <input type="password" class="form-control" required="required" id="UserPassword" name="data[User][password]">
      <label id="UserPassword-error" class="error" for="UserPassword"></label>
    </div>
<div class="form-group" id="ShowDoc" style="display:none">
      <label for="usersFile">File</label>      
      <?php echo $this->Form->file('Document.submittedfile');  ?>  
    </div>

Controller Page is UsersController.php

public function add()
    {


        if($this->request->is('post')|| $this->request->is('put'))
        { 

           $this->User->create(); 
           $this->request->data['User']['password'] = AuthComponent::password($this->request->data['User']['password']);           

             $file = $this->request->data['Document']['submittedfile'];

             move_uploaded_file($this->data['Document']['submittedfile']['tmp_name'],     $_SERVER['DOCUMENT_ROOT'] . '/invl_exams/app/webroot/files/' . $this->data['Document']['submittedfile']['name']);


               if($this->User->save($this->request->data))   
                {           

                $this->redirect('addExam');                

               }                

        }  

    }

Model Page is User.php

<?php
//App::uses ('AppModel','Model'); 
class User extends AppModel{

  public $validate = array(
        'username' => array(

            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Username is required'
            ),
            'isUnique' => array(
            'rule' => 'isUnique',
            'message' => 'This username has already been taken') 

        ),        
        'password' => array(

            'required' => array(
                'rule' => 'notBlank',
                'message' => 'A password is required' 
            ),
           'isUnique' => array(
            'rule' => 'isUnique',
            'message' => 'Password has already been taken')  
        ), 
        'full_name' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Full name is required' 
            )
        ),
        /*'role' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Role is required'   
            )
        ) */
       'email' => array(
       array(
        'rule' => array('email'),
        'massage' => 'Please enter a valid email address',
             ),
          ), 
          'secondary_email' => array(
       array(
        'rule' => array('email'),
        'massage' => 'Please enter a valid email address',
             ),
          ),      
      'phone' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Phone is required'  
            )
        ),
        'secondary_phone' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Phone is required'  
            )
        ),
        'location' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Loacation is required'  
            )
        ),
        'business_name' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Business Name is required'  
            )
        ),
        'document' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Document is required'  
            )
        ),        
        'pname' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Name is required'  
            )
        ),
        'pemail' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Please enter a Valid Email Id'  
            )
        ),
        'pOfc_phone' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Please enter a Phone Number'  
            )
        ),
        'pdesignation' => array(
            'required' => array(
                'rule' => 'notBlank',
                'message' => 'Designation is Required'  
            )
        ),

    );

} 


?>

1 Answer 1

1

You didn't add image name in your $this->request->data array if your image field name is image_name. Then add this line

 $this->request->data['User']['image_name'] = $this->data['Document']['submittedfile']['name']

After

$this->request->data['User']['password'] = AuthComponent::password($this->request->data['User']['password']); 

Then the code looks like

$this->request->data['User']['password'] = AuthComponent::password($this->request->data['User']['password']); 
$this->request->data['User']['image_name'] = $this->data['Document']['submittedfile']['name'];
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.