Foros del Web » Programando para Internet » PHP »

problema para insertar valores vacios a base de datos

Estas en el tema de problema para insertar valores vacios a base de datos en el foro de PHP en Foros del Web. hola amigos espero me puedan ayudar tengo problemas para insertar los valores que se dejan vacios en un input tex , el problema es para ...
  #1 (permalink)  
Antiguo 10/10/2012, 15:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
problema para insertar valores vacios a base de datos

hola amigos espero me puedan ayudar

tengo problemas para insertar los valores que se dejan vacios en un input tex , el problema es para los campos tipo real o entero.

a que se debo esto


estoy realizando una prueba

<?
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>


Array
(
[Fecha] => 10/10/2012
[Hora] => 16:38
[Visibilidad] =>
[observable] => TRUE
[color] => 4
[altura] => 4
[direccion] => 4
[neblina] => TRUE
[asistente] => 0
[nieve] => 4
[Observaciones_Adicionales] => 4
[Observaciones_Parques] => 4
[ruta] => uploads/Persp20121008_090006M.jpg
[submit] => Ingresar Apreciacion Visual
)
  #2 (permalink)  
Antiguo 10/10/2012, 16:28
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: problema para insertar valores vacios a base de datos

amigos la variable no toma el valor de NULL , no se porque

Código PHP:
Ver original
  1. if(!isset($_POST['Visibilidad']) or $_POST['Visibilidad']==NULL or $_POST['Visibilidad']==''){
  2.          $Visibilidad= NULL;
  3.          echo "vacio";
  4.          }else{
  5.          $Visibilidad =$_POST['Visibilidad'];
  6.          }

estoy utilizando
php 5.3
  #3 (permalink)  
Antiguo 10/10/2012, 16:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: problema para insertar valores vacios a base de datos

amigo no se que pasa les adjunto mi codigo


Código HTML:
Ver original
  1. <form method="post" action="datos.php"/>
  2. Visibilidad :<input type="text" name="Visibilidad" id="basic_example_3" value="" /><br/>
  3. </form>


en datos php lo he hecho de dos maneras y no me funciona

Código PHP:
Ver original
  1. <?
  2. echo "<pre>";
  3. print_r($_POST);
  4. echo "</pre>";
  5. ?>
  6.  
  7. if (empty($_POST['Visibilidad']))
  8. {
  9.      $Visibilidad= 'NULL';
  10.      echo $Visibilidad;
  11. }


Código PHP:
Ver original
  1. if(!isset($_POST['Visibilidad']) or $_POST['Visibilidad']==NULL or $_POST['Visibilidad']==''){
  2.          $Visibilidad= NULL;
  3.          echo "vacio";
  4.          }else{
  5.          $Visibilidad =$_POST['Visibilidad'];
  6.          }


y el sql que probe funciona perfecto , pero desde php no funciona

INSERT INTO apreciaciones (id_apreciaciones,fecha_apre,hora_apre ,visibilidad_apre) VALUES (3,'10/10/2012','15:16',NULL);
  #4 (permalink)  
Antiguo 11/10/2012, 08:00
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: problema para insertar valores vacios a base de datos

amigos me respondo

encontre el problema

el problema era de como esta construyendo el insert


Código PHP:
Ver original
  1. $Fecha = $_POST['Fecha'];
  2. $Hora = $_POST['Hora'];
  3. if (empty($_POST["Visibilidad"]))
  4. {
  5.      $visibilidad_apre= 'NULL';
  6.      //echo $visibilidad_apre;
  7. }else{
  8.     $visibilidad_apre = $_POST['Visibilidad'];
  9. }
  10. $observable = $_POST['observable'];
  11. $color = $_POST['color'];
  12. if (empty($_POST["altura"]))
  13. {
  14.      $altura= 'NULL';
  15.      //echo $visibilidad_apre;
  16. }else{
  17.     $altura = $_POST['altura'];
  18. }
  19.  
  20. $direccion = $_POST['direccion'];
  21. $neblina = $_POST['neblina'];
  22. $asistente = $_POST['asistente'];
  23. $nieve = $_POST['nieve'];
  24. $Observaciones_Adicionales = $_POST['Observaciones_Adicionales'];
  25. $Observaciones_Parques = $_POST['Observaciones_Parques'];
  26. $ruta = $_POST['ruta'];
  27.  
  28. $servidor = 'localhost';
  29. $bd = 'visual';
  30. $usuario = 'postgres';
  31. $contrasenia = 'hoe798cs';
  32.    
  33. global $servidor, $bd, $usuario, $contrasenia;
  34. $db = new PDO('pgsql:host=' . $servidor . ';dbname=' . $bd, $usuario, $contrasenia);
  35.  
  36.  
  37. $consulta = $db->prepare("INSERT INTO apreciaciones (id_apreciaciones,fecha_apre,hora_apre,visibilidad_apre,observable_apre,color_apre,altura_apre,direccion_apre,neblina_apre,asistente_apre,nieve_apre,obser_adi_apre,obser_parq_apre,ruta_apre) VALUES (nextval('apreciaciones_id_apreciaciones_seq'),'$Fecha','$Hora',$visibilidad_apre,'$observable','$color',$altura,'$direccion','$neblina','$asistente','$nieve','$Observaciones_Adicionales','$Observaciones_Parques','$ruta')");
  38. $consulta->execute();

amigos en internet encontre
http://www.zarpele.com.ar/2009/04/ti...st-esta-vacia/

este codigo

Código PHP:
Ver original
  1. foreach ($_POST as $key => $value)
  2. {
  3.        if ($key<>'actividad' AND $key<>'cuil' AND $key<>'razon' AND $key<>'producto')
  4.        {
  5.                if (empty($value))
  6.                {
  7.                     echo "<strong>El campo $key esta vacío.:.</strong>";
  8.                     break;
  9.                }
  10.        }
  11. }

como lo puedo impletar a mi codigo

Etiquetas: vacios
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 07:42.