parameter is_ajax_request ip_address from data php forms .htaccess codeigniter post

php - is_ajax_request - post() codeigniter



codeigniter form POST Empty in Controller from View (1)

Estoy trabajando con Codeigniter. He creado un formulario HTML que publica datos en el controlador.

Este formulario funcionaba perfectamente, pero de repente dejó de publicar datos.

HTML:

<form name="frm_search" id="frm_search" method="post" action="http://ip/free/index.php/taskdetails/tabOne/1/ShibNo/asc/"> <input id="order1" name="order1" value="26" type="text" > <input id="item1" name="item1" value="" type="text" > </form>

  1. Traté de verificar la publicación de datos en el navegador y muestra los datos que ingresé en el cuadro de entrada.

  1. En My index.php coloqué el siguiente código para ver si está publicado:

echo "CONTENT_TYPE: " . $_SERVER[''CONTENT_TYPE''] . ""; $data = file_get_contents(''php://input''); echo "DATA: <pre>"; var_dump($data); var_dump($_POST); echo "</pre>"; exit;

RESULTADO:

CONTENT_TYPE: application / x-www-form-urlencoded

string ''order1 = 26 & item1 =''

array (tamaño = 23)
''order1'' => string ''26'' (longitud = 2)
''item1'' => cadena '''' (longitud = 0)

Pero cuando imprimo $ _POST en el controlador obtengo lo siguiente:

Array ( [order1] => [item1] => )

  1. Mi código .htaccess de la siguiente manera:

    RewriteEngine on RewriteCond $1 !^(index//.php|resources|robots//.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA]

¿Puede alguien decirme cuál es el problema? No puedo averiguar por qué cuando los datos pasan al controlador se vuelve nulo. La aplicación se estaba ejecutando con éxito durante más de un año pero recibí este problema de repente.

Gracias de antemano. Amablemente avíseme si necesita más para ayudarme.

Nota: descubrí que una vez cargada la página, si edito el nombre del tiempo de entrada a algún otro nombre, los datos se publicarán con éxito.

es decir: en lugar de order1 , si cambio el nombre de mi edición usando el elemento de inspección en chrome para " neworder " Entonces, si lo envío, los datos se envían con valor al controlador. ¿No sabes por qué?

Actualización: encontré algo así de extraño. En el conjunto de cookies del navegador. Es como una página completa de basura.

cada vez que se llama a la página, inicio una nueva sesión pero no mataré la sesión existente. ¿Es eso un problema?

Incluso si elimino la sesión anterior y comienzo una nueva, obtengo e-set-cookies en el navegador. Tiene para mí uno ... pero en mi caso obtengo más de 6 cookies configuradas en el navegador.


Podría ser un problema de .htaccess con RewriteRule, de acuerdo con esta publicación de CI Github Post https://github.com/bcit-ci/CodeIgniter/issues/242 :

si se utiliza el servidor Apache, la reescritura mod debe estar habilitada, de lo contrario la redirección será correcta pero con $ _POST vacío.

&

si no tiene una barra inclinada en su URL, el servidor enviará un redireccionamiento 301 que interferirá con los datos POST.

Tu problema podría ser con

RewriteRule ^(.*)$ index.php/$1 [L,QSA]

Intenta cambiar a:

RewriteRule ^(.*)$ index.php/$1 [PT,L]

(desde: no se puede obtener los valores de envío de formulario de publicación en codeigniter ) o intentar establecer:

sudo a2enmod rewrite

¡Espero eso ayude!