Foros del Web » Programando para Internet » PHP »

Problema comprobación de campos

Estas en el tema de Problema comprobación de campos en el foro de PHP en Foros del Web. Saludos a todos/as, tengo un pequeño problema con un formulario y la comprobación de campos, cuando me da error porque no he introducido bien el ...
  #1 (permalink)  
Antiguo 13/05/2010, 04:49
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 10 años, 10 meses
Puntos: 5
Problema comprobación de campos

Saludos a todos/as, tengo un pequeño problema con un formulario y la comprobación de campos, cuando me da error porque no he introducido bien el número de teléfono se vacía el campo y me lo pide de nuevo, pero cuando me da error de captcha me vacía el campo del mensaje y no debería, lo tengo igual que el campo nombre cambiando solo el imput por textarea, y me va bien, osea no me borra el campo nombre aunque haya algún otro error.

Lo tengo hecho con SESION, os dejo el problema a continuación:

Este es el nombre que va correcto:

Código PHP:
if (!isset($_POST['nombre_1']) OR $_POST['nombre_1'] == "")
{
header("Location: contacto.php?error=".urlencode('Introduzca su nombre'));
$_SESSION['carlospassos']['nombre_1'] = '';
exit();

Código HTML:
<td style="width: 60%;"><label>Nombre: (requerido) </label>
    <input class="input1" name="nombre_1" type="text" maxlength="150" style="width:100%;" 
	<?php if (isset($_SESSION['carlospassos']['nombre_1'])) {echo 'value="'.$_SESSION['carlospassos']['nombre_1'].'"';};?> /></td>
                </tr> 

Y aquí el problema, campo mensaje:

Código PHP:
if (!isset($_POST['mensaje_1']) OR $_POST['mensaje_1'] == "")
{
header("Location: contacto.php?error=".urlencode('Introduzca su consulta'));
$_SESSION['carlospassos']['mensaje_1'] = '';
exit();


Código HTML:
<td style="width: 70%"><label>Consulta: (requerido) </label>
    <textarea class="input2" name="mensaje_1" rows="5" cols="1" type="text" maxlength="800" style="width:100%;" 
	<?php if (isset($_SESSION['carlospassos']['mensaje_1'])) {echo 'value="'.$_SESSION['carlospassos']['mensaje_1'].'"';};?> /></textarea></td> 
Porque al darme error captcha me borra el mensaje que tenía introducido y el nombre no??

Gracias de antemano
  #2 (permalink)  
Antiguo 13/05/2010, 05:59
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 13 años, 1 mes
Puntos: 126
Respuesta: Problema comprobación de campos

Hola

Los textarea no tienen value. Prueba así

Código PHP:
Ver original
  1. <td style="width: 70%"><label>Consulta: (requerido) </label>
  2. <textarea class="input2" name="mensaje_1" rows="5" cols="1" type="text" maxlength="800" style="width:100%;">
  3. <?php if (isset($_SESSION['carlospassos']['mensaje_1'])) {echo $_SESSION['carlospassos']['mensaje_1'];}?></textarea></td>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 13/05/2010, 07:21
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Problema comprobación de campos

Me lo sigue borrando, me da el error de código incorrecto "captcha" pero me borra el mensaje que no tiene nada que ver con ello.
  #4 (permalink)  
Antiguo 13/05/2010, 07:26
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 13 años, 1 mes
Puntos: 126
Respuesta: Problema comprobación de campos

Hola

Elimina esto

Cita:
<td style="width: 70%"><label>Consulta: (requerido) </label>
<textarea class="input2" name="mensaje_1" rows="5" cols="1" type="text" maxlength="800" style="width:100%">
<?php if (isset($_SESSION['carlospassos']['mensaje_1'])) {echo $_SESSION['carlospassos']['mensaje_1'];}?></textarea></td>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 13/05/2010, 09:14
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Problema comprobación de campos

EDITO:

Ya quité lo que me marcaste en negrita pero sigue igual, al darme error de cualquier otro campo me borra todo el texto que tenía escrito en ese box.

Ahora está así.

Código HTML:
<td style="width: 70%"><label>Consulta: (requerido) </label>
    <textarea class="input2" name="mensaje_1" rows="5" cols="1" style="width:100%;" 
	<?php if (isset($_SESSION['carlospassos']['mensaje_1'])) {echo $_SESSION['carlospassos']['mensaje_1'].'"';};?> /></textarea></td> 

Última edición por NazCarLpa; 13/05/2010 a las 11:06
  #6 (permalink)  
Antiguo 13/05/2010, 12:51
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 13 años, 1 mes
Puntos: 126
Respuesta: Problema comprobación de campos

Hola

Cita:
Iniciado por NazCarLpa Ver Mensaje
EDITO:

Ya quité lo que me marcaste en negrita pero sigue igual, al darme error de cualquier otro campo me borra todo el texto que tenía escrito en ese box.
¿A que te refieres con todo el texto que tenía escrito? ¿al valor de la sesión? ¿o a otra cadena que se ha insertado?
Si no se mantiene el valor de la sesión es que no está establecida, por el contrario si no se mantiene el resto de la cadena, es lo normal, ya que los textarea no tienen value

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 13/05/2010, 16:23
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Problema comprobación de campos

Me refiero al textarea, yo pongo nombre, email, telefono y consulta, cuando le doy a enviar me da error de captcha, "lo dejao en blanco a posta para probar", pues la consulta me la borra y me deja los demás campos escritos.

Puedes ver el formulario en:

hxxp://www.nclogos.es/epscargo.com/contacto.php

Y le quiero poner un botón para limpiar los campos y tampoco me funciona con la imagen.

Gracias por contestar.
  #8 (permalink)  
Antiguo 13/05/2010, 16:54
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 13 años, 1 mes
Puntos: 126
Respuesta: Problema comprobación de campos

Hola

Me acabo de dar cuenta que no lo has corregido, continua teniendo value y type. Si copias esto tal y como te lo imprimo, funcionará

Código PHP:
Ver original
  1. <td style="width: 70%"><label>Consulta: (requerido) </label>
  2. <textarea class="input2" name="mensaje_1" rows="5" cols="1" style="width:100%"> <?php if (isset($_SESSION['carlospassos']['mensaje_1'])) {echo $_SESSION['carlospassos']['mensaje_1'];}?></textarea></td>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #9 (permalink)  
Antiguo 13/05/2010, 17:18
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Problema comprobación de campos

MUCHAS GRACIAS!!!! va perfecto ahora jeje, me tenía parado esta tontería y no daba con la solución, eres grande jeje, mil gracias.

Una última pregunta, me podrías decir como poner el botón para borrar, lo tengo así:

Código HTML:
<input type="image" src="images/delete-button.jpg" alt="delete-button" value="Borrar" /> 
Pero no funciona.
  #10 (permalink)  
Antiguo 13/05/2010, 17:25
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 13 años, 1 mes
Puntos: 126
Respuesta: Problema comprobación de campos

Hola

¿Te refieres a reset? Creo que no puede ser una imagen. Ha de ser del tipo reset
Cita:
<input type="Reset" value="borrar">
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 13/05/2010, 17:35
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Problema comprobación de campos

No, no funciona ya lo había probado así, pero bueno puede que sea por la sesión que se crea con el php y el html solo no lo podrá borrar pienso yo.

Si no se lo quito y listo.

Muchas gracias por la ayuda, un abrazo.
  #12 (permalink)  
Antiguo 13/05/2010, 17:42
iLu
 
Fecha de Ingreso: diciembre-2008
Mensajes: 10
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Problema comprobación de campos

Para lo de la imagen como botón reset lo puedes hacer de varias formas:

1 - Con javascript, una imagen dentro de una etiqueta a y con evento onclick hacer el reset del formulario, o el submit si es boton para enviar

2 - Con la etiqueta button, por ejemplo:

Código HTML:
 <button type="reset"><img src="images/delete-button.jpg" alt="delete-button" /></button> 
3 - Con CSS, haces el input type="reset" habitual y con un style le das un background y un tamaño

Yo prefiero la 3, evitas javascript y los que no carguen el CSS verán de todas formas el botón habitual de reset
  #13 (permalink)  
Antiguo 13/05/2010, 17:54
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Problema comprobación de campos

Se lo he puesto y no hace la función de limpiar el formulario, Puede ser por la sesión de php?
  #14 (permalink)  
Antiguo 14/05/2010, 08:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 13 años, 1 mes
Puntos: 126
Respuesta: Problema comprobación de campos

Hola

Sí, ese es el problema

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #15 (permalink)  
Antiguo 14/05/2010, 10:52
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Problema comprobación de campos

Pues nada, a ver como hago para limpiar la sesión jeje.

Gracias por la ayuda.

Etiquetas: campos
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 08:19.