Foros del Web » Programando para Internet » PHP »

Caso muy extraño de Variables POST y creación de HTML vía form.

Estas en el tema de Caso muy extraño de Variables POST y creación de HTML vía form. en el foro de PHP en Foros del Web. Buenas a todos, Estoy casi que me doy contra la pared :) y necesito liquidar esto de una vez por todas. La cuestión es sencilla ...
  #1 (permalink)  
Antiguo 04/11/2010, 08:01
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta Caso muy extraño de Variables POST y creación de HTML vía form.

Buenas a todos,

Estoy casi que me doy contra la pared :) y necesito liquidar esto de una vez por todas.

La cuestión es sencilla al principio, tengo mi formulario que envío por POST y guardo todas las variables:

$user = $_POST['user'];
$user = strtolower($user);
$user = strtr($user,$GLOBALS['normalizarCharsSin_']);
$password = $_POST['password'];
$password = strtolower($password);
$password = strtr($password,$GLOBALS['normalizarCharsCon_']);
$privilegio = htmlspecialchars(trim($_POST['privilegio']));
$nombre = htmlspecialchars(trim(utf8_decode($_POST['nombre'])));
$apellido = htmlspecialchars(trim(utf8_decode($_POST['apellido'])));
$email = htmlspecialchars(trim($_POST['email']));
$telefono = htmlspecialchars(trim($_POST['telefono']));
$pais = htmlspecialchars(trim(utf8_decode($_POST['pais'])));
$ciudad = htmlspecialchars(trim(utf8_decode($_POST['ciudad'])));
$vuelosamadeus = htmlspecialchars(trim($_POST['vuelosamadeus']));
$vuelossabre = htmlspecialchars(trim($_POST['vuelossabre']));

// VARIABLES CON PROBLEMAS !

$dias= htmlspecialchars(trim($_POST['dias']));
$condiciones = htmlspecialchars(trim($_POST['condiciones']));

Luego esto pasa a crear un html usando las funciones correspondientes de fopen, fwrite, etc. pero solamente se imprimen las variables que tengo encima del comentario... Es algo muy raro.

- Documento HTML a imprimir:

...
<body>
<p>'.$user.'</p>
<p>'.$password.'</p>
<p>'.$privilegio.'</p>
<p>'.$nombre.'</p>
<p>'.$apellido.'</p>
<p>'.$email.'</p>
<p>'.$telefono.'</p>
<p>'.$pais.'</p>
<p>'.$ciudad.'</p>
<p>'.$vuelosamadeus.'</p>
<p>'.$vuelossabre.'</p>
<p>'.$dias.'</p>
<p>'.$condiciones.'</p>
</body>
...

- Formulario para envío por POST:

<form id="frmClienteNuevo" class="altasform" name="frmClienteNuevo" method="post" action="/admin/users/altas-user.php">
<h3>Datos personales.</h3>
<dl>
<dt><label>Usuario</label></dt>
<dd><input class="text" type="text" name="user" id="user" /></dd>
</dl>
<dl>
<dt><label>Contrase&ntilde;a</label></dt>
<dd><input class="text" type="text" name="password" id="password" /></dd>
</dl>
<dl>
<dt><label>Confirmar contrase&ntilde;a</label></dt>
<dd><input class="text" type="text" name="confirmarpassword" id="confirmarpassword" /></dd>
</dl>
<dl>
<dt><label>Privilegio</label></dt>
<dd>
<input checked="checked" id="cliente" class="radio" type="radio" name="privilegio" value="Cliente" />
<label for="cliente" class="radiolabel">Cliente</label>
</dd>
<dd>
<input id="admin" class="radio" type="radio" name="privilegio" value="Administrador" />
<label for="admin" class="radiolabel">Administrador</label>
</dd>
</dl>
<dl>
<dt><label>Nombre/s</label></dt>
<dd><input class="text" type="text" name="nombre" id="nombre" /></dd>
</dl>
<dl>
<dt><label>Apellido</label></dt>
<dd><input class="text" type="text" name="apellido" id="apellido" /></dd>
</dl>
<dl>
<dt><label>E-mail</label></dt>
<dd><input class="text" type="email" name="email" id="email" /></dd>
</dl>
<dl>
<dt><label>Tel&eacute;fono</label></dt>
<dd><input class="text" type="text" name="telefono" id="telefono" /></dd>
</dl>
<dl>
<dt><label>Ciudad</label></dt>
<dd><input class="text" type="text" name="ciudad" id="ciudad" /></dd>
</dl>
<dl>
<dt><label>Pa&iacute;s</label></dt>
<dd><input class="text" type="text" name="pais" id="pais" /></dd>
</dl>
<div id="userfields">
<h3>E-tinerario.</h3>
<dl>
<dt><label for="borrar_archivo" class="etinerario">&iquest;Desea reemplazar e-tinerario existente?:</label></dt>
<dd><input id="borrar_archivo" type="checkbox" class="check" name="borrar_archivo" value="1" /></dd>
</dl>
<dl>
<dt><label for="etinerario_ingles" class="etinerario">&iquest;El e-tinerario se encuentra en ingl&eacute;s?:</label></dt>
<dd><input id="etinerario_ingles" type="checkbox" class="check" name="etinerario_ingles" value="0" /></dd>
</dl>
<h3>D&iacute;as de actividades.</h3>

/*
* PRIMER VARIABLE QUE NO PASA EN POST
*/

<dl class="actcond">
<dd><textarea id="dias" name="dias" rows="10" cols="94"></textarea></dd>
</dl>

/*
* SEGUNDA VARIABLE QUE NO PASA EN POST
*/

<h3>Condiciones.</h3>
<dl class="actcond">
<dd><textarea id="condiciones" name="condiciones" rows="10" cols="94">&middot; Los hoteles incluyen desayuno.<br />&middot; El presupuesto no incluye las entradas a los Parques Nacionales ni las tasas de embarque en los puertos de las excursiones embarcadas.</textarea></dd>
</dl>
</div>
<input id="button" type="submit" name="submit" class="enviar-reset" value="agregar usuario" tabindex="19" />
<input id="limpiar" type="reset" name="reset" class="enviar-reset" value="limpiar datos" tabindex="20" />
<input id="cancelar" type="button" name="cancelar" class="enviar-reset" value="cancelar" tabindex="21" onclick="CancelarAltaUsuario()" />
<img id="altas-preload" src="http://img.fueraderuta.com/clientes/loading.gif" alt="altas preload" width="80" height="12" />
</form>

Intenté de todo y no hay caso para una posible solución, por lo menos con mis escasos conocimientos.

Una ayudita será muy bien recibida !!

Gracias :)

Nicolás.
  #2 (permalink)  
Antiguo 04/11/2010, 09:15
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 4 meses
Puntos: 9
Respuesta: Caso muy extraño de Variables POST y creación de HTML vía form.

con la mejor onda, pero nadie va a leer todo tu post, es muy largo y ni siquiera tiene colores :P, es mejor expliques cual es el problema puntual.
  #3 (permalink)  
Antiguo 04/11/2010, 10:10
 
Fecha de Ingreso: octubre-2010
Mensajes: 156
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Caso muy extraño de Variables POST y creación de HTML vía form.

no entiendo tienes problemas al generar el html?
  #4 (permalink)  
Antiguo 04/11/2010, 10:19
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Caso muy extraño de Variables POST y creación de HTML vía form.

Saludos

Verifica qeu todas las variables post esten llegando bien antes de incluirlas dentro de las funciones al igual que las variables globales y ahi vas descartando
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 04/11/2010, 14:00
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Caso muy extraño de Variables POST y creación de HTML vía form.

Cita:
Iniciado por Nefertiter Ver Mensaje
con la mejor onda, pero nadie va a leer todo tu post, es muy largo y ni siquiera tiene colores :P, es mejor expliques cual es el problema puntual.
Si, me excedí un poco. Pero el código no es muy difícil en sí... El problema esta puntualmente en las variables que indique, ya verifique todo lo existente y no se imprimen
  #6 (permalink)  
Antiguo 04/11/2010, 14:17
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 16 años
Puntos: 7
Respuesta: Caso muy extraño de Variables POST y creación de HTML vía form.

Código PHP:
echo "<body>
<form id=\"frmClienteNuevo\" class=\"altasform\" name=\"frmClienteNuevo\" method=\"post\">
<p>'.$user.'</p>
<p>'.$password.'</p>
<p>'.$privilegio.'</p>
<p>'.$nombre.'</p>
<p>'.$apellido.'</p>
<p>'.$email.'</p>
<p>'.$telefono.'</p>
<p>'.$pais.'</p>
<p>'.$ciudad.'</p>
<p>'.$vuelosamadeus.'</p>
<p>'.$vuelossabre.'</p>
<p>'.$dias.'</p>
<p>'.$condiciones.'</p>
</form>
</body>"

Acuérdate de que el archivo debe ser .php y llevar <?php y ?>.
  #7 (permalink)  
Antiguo 04/11/2010, 20:19
Avatar de iandrade  
Fecha de Ingreso: septiembre-2006
Ubicación: Xalapa, Veracruz, MÉXICO.
Mensajes: 171
Antigüedad: 17 años, 7 meses
Puntos: 6
Respuesta: Caso muy extraño de Variables POST y creación de HTML vía form.

dale un print_r($_POST) para ver que esta pasando a php
__________________
No todo lo que se hace en segundo plano es AJAX
  #8 (permalink)  
Antiguo 05/11/2010, 05:25
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Caso muy extraño de Variables POST y creación de HTML vía form.

Debo aclarar que es un ABM en jQuery, Ajax, PHP y MySQL pero esto no es relevante ya que todo está funcionando bien, el HTML se genera, la mayoría de las variables se guardan excepto las dos que indiqué !!

Voy a tratar de hacer el alta y creación de HTML sin llegar por Ajax. Ya no se qué intentar... la verdad.

Cita:
Iniciado por gamau6 Ver Mensaje
no entiendo tienes problemas al generar el html?
No, el HTML se genera perfectamente.

El problema está en que las variables que se deberían guardar como el resto en cualquier proceso de envío por POST no se están guardando.
Son dos campos <textarea> y sus atributos name coinciden perfectamente.
Tampoco funciona la impresión de estos dos campos <textarea> usando $_POST['name'].
Probé con <input> y tampoco se guardan o imprimen.
El proceso es el mismo que uso para el resto de los campos pero al llegar a estos dos campos no los toma. No estoy usando ningun editor WYSIWYG y no hay error alguno en lo que mencionaron anteriormente, ya sea por sintaxis o whatever... La verdad, no veo el error, es por eso que vengo buscando ayuda a este foro ;)

Si alguien tiene conocimientos avanzados en PHP, puedo pasarle el misterioso caso con los archivos y que mire la complejidad del asunto...

Cita:
dale un print_r($_POST) para ver que esta pasando a php
Voy a chequear eso y te aviso.

Desde ya, gracias a todos !
  #9 (permalink)  
Antiguo 05/11/2010, 06:14
 
Fecha de Ingreso: julio-2009
Mensajes: 28
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Caso muy extraño de Variables POST y creación de HTML vía form.

Acuerdate que para pintar las variables del post no se hace echo $varible
sino echo $_POST["variable"];
  #10 (permalink)  
Antiguo 05/11/2010, 07:04
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Caso muy extraño de Variables POST y creación de HTML vía form.

Cita:
Iniciado por Jimmy555 Ver Mensaje
Acuerdate que para pintar las variables del post no se hace echo $varible
sino echo $_POST["variable"];
Eso está clarísimo, pero para mi caso, como en la función fwrite paso el parámetro

Esto es lo principal, y donde

$path = 'RUTA_PATH/'.$archivo.'.php';

$Open = fopen($path, 'x+');

$html = '<body>';
// INICIO POST
$html .= '<p>'.$_POST['user'].'</p>';
$html .= '<p>'.$_POST['password'].'</p>';
$html .= '<p>'.$_POST['privilegio'].'</p>';
$html .= '<p>'.$_POST['nombre'].'</p>';
$html .= '<p>'.$_POST['apellido'].'</p>';
$html .= '<p>'.$_POST['email'].'</p>';
$html .= '<p>'.$_POST['telefono'].'</p>';
$html .= '<p>'.$_POST['pais'].'</p>';
$html .= '<p>'.$_POST['ciudad'].'</p>';
$html .= '<p>'.$_POST['vuelosamadeus'].'</p>';
$html .= '<p>'.$_POST['vuelossabre'].'</p>';

// VARIABLES POST QUE NO SE MUESTRAN TOMADAS DESDE UN TEXTAREA.

$html .= '<p>'.$_POST['actividades'].'</p>';
$html .= '<p>'.$_POST['cond_grales'].'</p>';
$html .= '</body>
</html>';

// Definimos si scribimos documento HTML...
if($Open) {
fwrite($Open, $html);
}else {
echo 'No se ha podido crear.';
}
echo 'El usuario '.$_POST['user'].' ha sido ingresado correctamente!';

// PARTE DE FORMULARIO DONDE DEBERÍA TOMAR $_POST['actividades'] y $_POST['cond_grales']

<textarea id="actividades" name="actividades" rows="10" cols="94"></textarea>
<textarea id="cond_grales" name="cond_grales" rows="10" cols="94"></textarea>
  #11 (permalink)  
Antiguo 05/11/2010, 07:10
 
Fecha de Ingreso: julio-2010
Mensajes: 13
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Caso muy extraño de Variables POST y creación de HTML vía form.

Finalmente la SOLUCIÓN se dió ejecutando ALTAS.PHP sin Ajax...

Pero es muy extraño que funcione correctamente para algunos $_POST y otros no... Me gustaría entender por qué ! Si alguien sabe, por qué se pueden perder unas variables y por qué otras no.

Etiquetas: html, post, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:24.