Привет! Я пытаюсь использовать помощник по кодированию CodeIgniter для своей страницы регистрации.У меня есть пользовательский контроллер с функцией регистра, как показано ниже:
public function register(){
$this->form_validation->set_rules('user_name' , 'Username' , 'trim|required|max_length[32]');
$this->form_validation->set_rules('captcha' , 'Captcha' , 'trim|required|max_length[32]|callback_check_captcha');
$this->form_validation->set_rules('password', 'Password','trim|required|min_length[5]|max_length[12]');
$this->form_validation->set_rules('confirm_password', 'Confirm Password','trim|required|min_length[5]|max_length[12]|matches[password]');
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email');
if ($this->form_validation->run()==FALSE){
//Captcha code
$this->load->helper('captcha');
//Captcha Config
$vals = array(
'img_path' => './captcha/',
'img_url' => './captcha/',
'img_width' => '150',
'img_height' => 30,
'expiration' => 7200,
'word_length' => 8,
'font_size' => 16,
'img_id' => 'Imageid',
'font_path' => '/fonts/Open.ttf',
// White background and border, black text and red grid
'colors' => array(
'background' => array(255, 255, 255),
'border' => array(255, 255, 255),
'text' => array(0, 0, 0),
'grid' => array(255, 40, 40)
)
);
//Create the Captcha
$cap = create_captcha($vals);
// Store The Created Captcha in DB for Verification
$data = array(
'captcha_time' => $cap['time'],
'ip_address' => $this->input->ip_address(),
'word' => $cap['word']
);
$this->register_model->store_captcha($data);
//Load View
$data['image']=$cap['image'];
var_dump($data['image']);exit();
$this->load->view('templates/header');
$this->load->view('register' , $data);
$this->load->view('templates/footer');
}else {
$option=array('cost'=>12);
$encrypt_password=password_hash($this->input->post('password'),PASSWORD_BCRYPT,$option);
$this->register_model->add_user($encrypt_password);
$this->session->set_flashdata('user_registered','You are Successfully Registered and can Log in ');
redirect('register/success');
}
}
Если вы видите приведенный выше код, я устанавливаю 'img_path' в './captcha/' (используя метод относительного корня).У меня есть эта папка капча в корне.
На мой взгляд, у меня есть:
<div class="form-group">
<label>Enter UserID</label>
<input type="text" class="form-control" name="user_name" placeholder="Enter Your UserId">
</div>
<div class="form-group">
<label>Enter Your Email</label>
<input type="email" class="form-control" name="email" placeholder="Enter Your Email">
</div>
<div class="form-group">
<label>Enter Your Password </label>
<input type="password" class="form-control" name="password" placeholder="Enter Password">
</div>
<div class="form-group">
<label>Re-enter Password </label>
<input type="password" class="form-control" name="confirm_password" placeholder="Renter Password">
</div>
<?php echo $image ; ?>
<div class="form-group">
<label>Solve Captcha </label>
<input type="text" class="form-control" name="captcha" >
</div>
<button type="submit" class="btn btn-primary">Submit</button>
<?php echo form_close();?>
Проблема в том, что мое изображение не отображается.Когда я проверил изображение капчи, я обнаружил, что оно правильное, как показано ниже:
<img id="Imageid" src="./captcha/1551023447.5228.jpg" style="width: 150; height: 30; border: 0;" alt=" ">
Тем не менее, src фактически «вычисляется» для: http://[::1]/login/user/captcha/1551023447.5228.jpg.Смотрите изображение ниже.
Может кто-нибудь сказать мне, почему src указывает на http://[::1]/login/user/captcha/1551023447.5228.jpg все, хотя это должно быть http://[::1]/login/captcha/1551023447.5228.jpg?Мне также любопытно узнать, как зависание над img src в chrome показывает другое значение, чем то, что на самом деле в коде.Я понимаю, что / .path используется для обхода папок из корня, но я впервые вижу что-то подобное в chrome.Благодарю .