Foros del Web » Programando para Internet » PHP »

Problema con validación en php

Estas en el tema de Problema con validación en php en el foro de PHP en Foros del Web. No logro entender por que se produce este problema: Código PHP: <?php $contenido     =  nl2br ( $_POST [ 'contenido' ]); if( $contenido  !=  "" ){ ...
  #1 (permalink)  
Antiguo 10/08/2011, 21:00
 
Fecha de Ingreso: septiembre-2010
Mensajes: 147
Antigüedad: 13 años, 6 meses
Puntos: 3
Problema con validación en php

No logro entender por que se produce este problema:

Código PHP:
<?php
$contenido    
nl2br($_POST['contenido']);

if(
$contenido != ""){
    
    echo 
"Tiene datos";
    echo 
"<br>"$contenido;
}else{
    
    echo 
"No tiene datos";
}
?>
Recupero el arreglo $_POST['contenido'] desde un form, cuando dejo el <textarea> en blanco lo valida como si hubiera ingresado algo y luego imprime Tiene datos.

Ayuda!
  #2 (permalink)  
Antiguo 10/08/2011, 21:17
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Problema con validación en php

porque estas insertando saltos de lineas, al tener saltos de lineas es un caracter por lo que lo toma como que no esta vacio, yo usaria empty al principio y luego la funcion
Código PHP:
Ver original
  1. if(empty($_POST['contenido'])){
  2.     $contenido    = nl2br($_POST['contenido']);    
  3. }
prueba y nos comentas
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 10/08/2011, 21:53
 
Fecha de Ingreso: septiembre-2010
Mensajes: 147
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Problema con validación en php

Gracias a tu explicación logre entender el problema.

Ahora tengo este siguiente código con el mismo problema anterior:

Código PHP:
<?php 
$contenido    
$_POST['contenido'];  // llega con un <br>

if($contenido != ""){ 
     
    echo 
"Tiene datos"
    echo 
"<br>"$contenido
}else{ 
     
    echo 
"No tiene datos"

?>

Olvide comentar que si no coloco la función nl2br(), el $_POST['contenido'] recibe un <br>, debido a que en mi <textarea> esta con un plugin de NicEdit - WYSIWYG.

Tuve que hacerlo de esta forma para que logre insertar en la BD.

Código PHP:
$contenido    $_POST['contenido']; 

if( 
$contenido != "<br>"){
  echo 
"Ingresa sin problemas";

Creo que de esta forma puede ocurrir un problema a futuro, no lo se en realidad.

Etiquetas: validar
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 19:09.