Foros del Web » Programando para Internet » PHP »

como validar campos de texto

Estas en el tema de como validar campos de texto en el foro de PHP en Foros del Web. Hola amigos del foro necesito validar algunos campos de un formulario pero no se como se hace en php si me dicen se los agradezco,quiero ...
  #1 (permalink)  
Antiguo 26/10/2009, 13:59
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
como validar campos de texto

Hola amigos del foro necesito validar algunos campos de un formulario pero no se como se hace en php si me dicen se los agradezco,quiero que si dejan vacio un cuadro de texto al momento de dar clic en enviar mande un mensaje donde diga que ingrese algo en el campo de texto que dejo vacio y aparte me regrese el cursor a ese campo.
  #2 (permalink)  
Antiguo 26/10/2009, 14:07
lamek
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como validar campos de texto

Si el campo se llama Nombre, entonces...

If($_POST["Nombre"]==""){
echo "Rellena el campo que falta";
}
  #3 (permalink)  
Antiguo 26/10/2009, 14:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: como validar campos de texto

Bueno en PHP se usa isset y/o empty para corroborar algun campo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 26/10/2009, 14:12
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: como validar campos de texto

pues yo lo hago con javascript y es asi

<script>
function validar(formulario)
{
if(formulario.nombre.value=='' || formulario.nombre.value=='----NOMBRE COMPLETO----')
{
alert("LLENAR CAMPOS NECESARIOS\n-NOMBRE");
formulario.nombre.focus();
return false;
}
return true;
}
</script>

lo pones en la etiqueta head

y en el form pones estoç

<form onsubmit="return validar(this),etc,etc >

espero te sriva
  #5 (permalink)  
Antiguo 26/10/2009, 14:13
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: como validar campos de texto

Es bueno siempre hacerlo tanto con javascript y con PHP.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 26/10/2009, 15:16
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: como validar campos de texto

Chavos muchas gracias a todos por sus respuestas. Permitanme probar pero mas tarde porque, ahora voy de salida cualquier cosa vuelvo a posterear va...
  #7 (permalink)  
Antiguo 26/10/2009, 15:33
 
Fecha de Ingreso: junio-2009
Mensajes: 138
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: como validar campos de texto

Te recomiendo que tambien compruebes asi

Código PHP:
Ver original
  1. If($_POST["Nombre"] == NULL || empty($_POST["Nombre"]) || isset($_POST["Nombre"]))
  2. {
  3. echo "Rellena el campo que falta";
  4. }

Yo lo hago asi por mas seguridad
  #8 (permalink)  
Antiguo 26/10/2009, 15:39
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: como validar campos de texto

Bueno tambien existe una funcion llamada is_null, pero no la he visto usar mucho para corroborar un campo null ya que por lo general un formulario no envia un campo null.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 27/10/2009, 09:51
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: como validar campos de texto

Oiganes chavos miren quiero validar este formulario una ves que haya llenado los siguientes campos o haya dejado alguno vacio es cuando quiero que le aparezca el mensaje de que le falto "x" campo pero no se donde poner esa condicion de que verifique si esta vacio. Les muestro el codigo al insertar aclaro que este codigo es con el asistente de dreamweaver y me genera sola la insercion.


if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
$insertSQL = sprintf("INSERT INTO cliente (nom_empresa, etapa, giro, fingreso, rfc, direccion, estado, ciudad, delegacion, codigop, tel1, tel2, tel3, fax1, fax2, tipo_cliente, estatus) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['nom_empresa'], "text"),
GetSQLValueString($_POST['etapa'], "text"),
GetSQLValueString($_POST['giro'], "text"),
GetSQLValueString($_POST['fingreso'], "text"),
GetSQLValueString($_POST['rfc'], "text"),
GetSQLValueString($_POST['direccion'], "text"),
GetSQLValueString($_POST['estado'], "text"),
GetSQLValueString($_POST['ciudad'], "text"),
GetSQLValueString($_POST['delegacion'], "text"),
GetSQLValueString($_POST['codigo'], "int"),
GetSQLValueString($_POST['tel1'], "text"),
GetSQLValueString($_POST['tel2'], "text"),
GetSQLValueString($_POST['tel3'], "text"),
GetSQLValueString($_POST['fax1'], "text"),
GetSQLValueString($_POST['fax2'], "text"),
GetSQLValueString($_POST['tipo_cliente'], "text"),
GetSQLValueString($_POST['estado_cli'], "int"));


mysql_select_db($database_Connexion, $Connexion);
$Result1 = mysql_query($insertSQL, $Connexion) or die(mysql_error());
header('location:../Cliente/Contacto/RContacto.php');
echo "<script>alert('Cliente registrado con éxito')</script>";
}
  #10 (permalink)  
Antiguo 27/10/2009, 10:04
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: como validar campos de texto

Cita:
Iniciado por Lokitozzz Ver Mensaje
Te recomiendo que tambien compruebes asi

Código PHP:
Ver original
  1. If($_POST["Nombre"] == NULL || empty($_POST["Nombre"]) || isset($_POST["Nombre"]))
  2. {
  3. echo "Rellena el campo que falta";
  4. }

Yo lo hago asi por mas seguridad
Disculpa Lokitozzz, pero creo que antes del isset debería ir un signo de exclamación:
Código PHP:
if($_POST["Nombre"] == NULL || empty($_POST["Nombre"]) || !isset($_POST["Nombre"])) 
De otro modo creo que siempre evaluaría a verdadero ese if.
Bertitha: la verdad es que te recomiendo escribir los scripts a mano y no con Dreamweaver; para que quede más claro y sobre todo para que tú entiendas lo que haces.
La condición tendrías que ponerla antes de ese script que posteaste para que compruebe, justamente, antes de intentar ingresar los registros a la base.
Yo usaría un array con los nombres de todos los campos a procesar:
Código PHP:
$arrCampos=array('nom_empresa''etapa''giro', ...);
foreach(
$arrCampos as $campo)
{
if(empty(
$campo))
{
echo 
"Error: el campo $campo no puede estar vac&iacute;o.";
exit();
}

Incluso se me ocurre que con un array asociativo podrías comprobar también el tipo de dato de los campos . ¡Suerte!

Última edición por dggluz; 27/10/2009 a las 10:20
  #11 (permalink)  
Antiguo 27/10/2009, 10:17
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Gracias y a peticion de DGGLUZ por primera ves en mi vida intentare hacer un insert a mano...por asi decirlo ya que no se mucho de esto y esta novata esta re mensita para esto Gracias......

Oye solo me puedes decir como le hago si en mi insert se tiene q seleccionar ciudad,estado,forma de ingreso de una lista ose mi pregunta es como le mando el valor seleccionado al insert???

Última edición por GatorV; 27/10/2009 a las 11:16
  #12 (permalink)  
Antiguo 27/10/2009, 10:51
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: como validar campos de texto

Cita:
Iniciado por Bertitha Ver Mensaje
Oye solo me puedes decir como le hago si en mi insert se tiene q seleccionar ciudad,estado,forma de ingreso de una lista ose mi pregunta es como le mando el valor seleccionado al insert???
Si en tu formulario tienes por ejemplo:
Código HTML:
<select name="ciudad">
<option value="aquí escribes el valor que le llegará a la página que procese el formulario">Aquí escribes el texto que verá el usuario, en este caso el nombre de la ciudad</option>
<option value="bsas">Buenos Aires</option>
.
.
.
</select> 
En el script tendrás:
Código PHP:
$sql="INSERT INTO(..., ciudad, ...) VALUES (..., '".$_REQUEST['ciudad']."',...);"
No sé si se entiende. En primer lugar debes saber que el valor que llegará desde el formulario para los select es el value del option seleccionado. Con eso te alcanza para recoger la variable en la página que procese el formulario. Yo las recogí en el ejemplo con REQUEST, pero sería más prolijo y seguro hacerlo con GET o con POST según corresponda (lo más seguro sería hacerlo con POST). Luego debes insertar los datos en la tabla. Lo primero que te recomiendo es que entiendas cuál es la sintaxis de SQL para la cláusula INSERT; léete esto: http://sql.1keydata.com/es/sql-insert-into.php. Luego, lo que tienes que hacer es conectarte a la BD y ejecutar el query SQL. Para eso está la función de PHP "mysql_query" (y para la conexión mysql_connect y mysql_select_db para la selección de la base). Intenta ir haciendo las cosas que te dije; cualquier duda postea tu código y te daremos una mano. ¡Suerte!
  #13 (permalink)  
Antiguo 27/10/2009, 12:07
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: como validar campos de texto

Gracias DGGLUZ permiteme intentar hacer el insert y vere si me funciona xq esto es un desastre lo que pasa que no se php solo .net y eso mas o menos si tengo dudas luego posteo va....
  #14 (permalink)  
Antiguo 27/10/2009, 15:16
 
Fecha de Ingreso: junio-2009
Mensajes: 138
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: como validar campos de texto

Verdad dggluz, no me habia fijado en eso ya que si el signo de exclamacion no estaria comprovando

Gracias por la recomendacion
  #15 (permalink)  
Antiguo 22/11/2009, 17:12
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: como validar campos de texto

Hace ratito expuse este tema y me gustaria saber si alguien me puede decir cuanto vale $campo,para poder emplear este codigo,gracias.

Cita:
Iniciado por dggluz Ver Mensaje
Yo usaría un array con los nombres de todos los campos a procesar:
Código PHP:
$arrCampos=array('nom_empresa''etapa''giro', ...);
foreach(
$arrCampos as $campo)
{
if(empty(
$campo))
{
echo 
"Error: el campo $campo no puede estar vac&iacute;o.";
exit();
}

Incluso se me ocurre que con un array asociativo podrías comprobar también el tipo de dato de los campos . ¡Suerte!
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #16 (permalink)  
Antiguo 22/11/2009, 18:31
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: como validar campos de texto

Berthita: el bucle foreach sirve para iterar sobre los valores de un arreglo, array, vector o como lo conozcas. De modo que por cada vuelta del ciclo PHP dispondrá de un puntero que avanzará sobre el array $arrCampos y dispondrá ese valor en la variable $campo. Es decir que en la primera vuelta del foreach, $campo valdrá "nom_empresa", en la segunda "etapa", en la tercera "giro", etc. De todos modos, acabo de notar que el código ese que puse está mal. El código debiera quedar así:
Código PHP:
$arrCampos=array('nom_empresa''etapa''giro', ...);
foreach(
$arrCampos as $campo)
{
    if(empty(
$_REQUEST[$campo]))
    {
        echo 
"Error: el campo $campo no puede estar vac&iacute;o.";
        exit();
    }

Pido disculpas por el error. ¡Suerte!
  #17 (permalink)  
Antiguo 22/11/2009, 18:36
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: como validar campos de texto

Oye DGGLUZ y si ya obtuve el valor de esas variables de esta manera:

Código PHP:
$empresa=$_GET['nom_empresa'];
        
$etapa=$_GET['etapa'];
        
$giro=$_GET['giro'];
        
$forma=$_GET['forma'];
        
$rfc=$_GET['rfc'];
        
$direccion=$_GET['direccion'];
        
$estado=$_GET['estado'];
        
$ciudad=$_GET['ciudad'];
        
$delegacion=$_GET['delegacion'];
        
$codigo=$_GET['codigo'];
        
$tel1=$_GET['tel1'];
        
$tel2=$_GET['tel2'];
        
$tel3=$_GET['tel3'];
        
$fax1=$_GET['fax1'];
        
$fax2=$_GET['fax2'];
        
$c_tipocliente=$_GET['c_tipocliente'];
        
$combo_subtipo=$_GET['combo_subtipo'];
        
$texto=$_GET['texto'];
        
$area=$_GET['area2'];
        
$archivo=$_GET['archivo2'];
        
$estado_cli=$_GET['estado_cli']; 
Como quedaria en esta parte:
Código PHP:
$arrCampos=array('$empresa','$etapa','$giro','$forma','$rfc','$direccion','$estado','$ciudad','$delegacion','$codigo','$tel1','$tel2','$tel3','$fax1','$fax2','$c_tipocliente','combo_subtipo','$texto','$area','$archivo','$estado_cli'); 
asi ó la variable sin las comas sencillas? Que coincidencia que tu mismo me contestes eee...agradezco tu respuesta,ya ves que es uno novato e intenta hacer cosas raras.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #18 (permalink)  
Antiguo 22/11/2009, 18:45
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: como validar campos de texto

En PHP las comillas simples y las dobles se diferencian en que todo lo que esté entre comillas simples es tomado como literal; en cambio, se toma el valor de las variables que estén entre comillas doble. Así que lo tendrías que hacer directamente sin comillas. De todos modos, si lo haces de esa manera, en el foreach tendrías que evitar el REQUEST, puesto que el valor ya lo haz obtenido ¿Se entiende? ¡Suerte!
  #19 (permalink)  
Antiguo 22/11/2009, 18:50
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: como validar campos de texto

Cita:
Iniciado por dggluz Ver Mensaje
En PHP las comillas simples y las dobles se diferencian en que todo lo que esté entre comillas simples es tomado como literal; en cambio, se toma el valor de las variables que estén entre comillas doble. Así que lo tendrías que hacer directamente sin comillas. De todos modos, si lo haces de esa manera, en el foreach tendrías que evitar el REQUEST, puesto que el valor ya lo haz obtenido ¿Se entiende? ¡Suerte!
Pues si,segun yo,mis nervios y lo que estoy viendo es lo que va dentro del array sin comillas osea seria solo mis avriables,por ejemplo:$empresa,$etapa,$giro,etc. y tendria que quitar el request solo dejar el if(empty ($campo).

Muchas gracias....que va contigo e,sabes demasiado y gracias por explicarme como un profesor de clase.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #20 (permalink)  
Antiguo 22/11/2009, 18:52
 
Fecha de Ingreso: septiembre-2009
Ubicación: Aguascalientes,Méx
Mensajes: 158
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: como validar campos de texto

Pues si,segun yo,mis nervios y lo que estoy viendo es lo que va dentro del array sin comillas osea seria solo mis avriables,por ejemplo:$empresa,$etapa,$giro,etc. y tendria que quitar el request solo dejar el if(empty ($campo).

Muchas gracias....que va contigo e,sabes demasiado y gracias por explicarme como un profesor de clase.
__________________
“Primero resuelve el problema. Entonces, escribe el código.”
  #21 (permalink)  
Antiguo 22/11/2009, 20:36
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: como validar campos de texto

Pues, ¡de nada!: estamos para ayudar.
  #22 (permalink)  
Antiguo 22/11/2009, 21:01
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Validar campo con BD

hola compañeros mi problema no es validar campos vacios, tengo otro problema que no le encuentro en mi HTML un campo llamado rfc y bueno lo pando con un form a php y todo bien y si esta en blanco te manda mensaje que tienes que introducir rfc pero bueno todo hasta ahi bien ahora mi problema esque tengo en mysql un campo llamado rfc1 y lo quiero que si ledan el rfc que lo compare con en de mysql y si esta que me mande un mensaje que no puede insertar el registro porque el rfc ya esta introducido o que intentas duplicar un registro


espero pronto me puedan a yudar gracias.
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 13:00.