0

Codeigniter 2.1 のフォームを使用してコントローラーにアクセスできません。ホームページにはいくつかのリンクがあり、アクセスできます。しかし、フォームにデータを送信したい場合、403 禁止エラーが表示されます。

このサーバーの /Pruebas/application/controllers/valiar.php にアクセスする権限がありません。

景色:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Anuncios</title>
<link rel="stylesheet" href="/Pruebas/css/estilos.css" type="text/css"   
    media="screen"/>    
<link rel="stylesheet" href="/Pruebas/css/logestilos.css" type="text/css" 
    media="screen"/>
</head>

<body>

<div id="contenedor">
<div id="menu">
    <label for="home" id="inicio"><a href="http://localhost/Pruebas/index.php 
            /cindice/">Inicio</a></label> 
    <label for="acceso" id="login"><a href="http://localhost/Pruebas/index.php
            /cindice/publicar">Publicar anuncio</a></label> 
    <label for="reg" id="registro"><a href="http://localhost/Pruebas/index.php
            /cindice/registro">Registro</a></label>
    <label for="empresa" id="sobrempresa"><a href="http://localhost/Pruebas
            /index.php/cindice/sobempresa">Sobre nosotros</a></label>
    <label for="contacto" id="contactar"><a href="http://localhost/Pruebas   
            /index.php/cindice/contacto">Cont&aacute;ctanos</a></label>
</div>  
</div>

<div id="acformulario"> 
    <?php echo validation_errors(); ?>
    <form action="http://localhost/Pruebas/application/controllers   
            /validar.php" method="post">
    <label for="correo" id="dcorreo">Direcci&oacute;n de correo</label>
    <input type="text" name="drcorreo" id="dcc"/><br /><br />
    <label for="contrasenya" id="cont">Contrase&ntilde;a</label>
    <input type="password" name="contrasena" id="cmcont"/><br /><br />

    <input type="submit" name="envia" id="bentrar" value="Entrar" />    
    </form>
 </div> 

</body>
</html>

コントローラー:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

  class Cindice extends CI_Controller {

function __construct() {
    parent::__construct();
}

public function index()
{
    $this->load->view('indice');
}

    public function validar() 
{
    $this->input->post('drcorreo');
    $this->input->post('contrasena');

    $this->form_validation->set_rules('correo','Direcci&oacute;n de  
            correo','trim|required|valid_email|xss_clean');

            $this->form_validation->set_rules('contrasenya','Contrase&ntilde;a',
            'trim|required|md5|xss_clean');

    if ($this->form_validation->run())
     {
        echo ("validaci&oacute;n v&aacute;lida");   
     }
    else {
        $this->load->view('');
        echo ("validaci&oacute;n incorrecta");
         }  
} 

私の .htacess ファイルには、deny from all という単語が含まれています。どうすればコントローラーにアクセスできますか?

ありがとう。

4

1 に答える 1

2

フォーム アクションは次のようになります。

<?php echo form_open('validar'); // needs the form helper to be loaded ?>

... それ以外の:

<form action="http://localhost/Pruebas/application/controllers/validar.php" method="post">

コントローラーのファイル パスをフォーム アクションの場所として指定することはできません。

于 2013-05-13T09:48:23.870 に答える