PHP - variable

   
Vista:

variable

Publicado por zendi (824 intervenciones) el 29/09/2013 03:29:25
Buenas a todos, quisiera saber si de esta forma se puede preguntar cuando una variable esta en blanco o vacia
la pregunta de la variable que estoy haciendo es esta:
if ($variable ==" ")

gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jon

variable

Publicado por Jon (27 intervenciones) el 29/09/2013 07:53:41
hay solo estas preguntando si la variable esta con un espacio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

variable

Publicado por xve (5525 intervenciones) el 29/09/2013 09:34:07
Hola Zendi, si esta vacía, no es lo mismo que un espacio en blanco... un espacio en blanco es contenido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

variable

Publicado por Elier (92 intervenciones) el 30/09/2013 15:46:35
La función empty() te devuelve TRUE si una variable está vacia.

http://php.net/manual/es/function.empty.php

La variable se considera vacia si:

"" (una cadena vacía)
0 (0 como un integer)
0.0 (0 como un float)
"0" (0 como un string)
NULL
FALSE
array() (un array vacío)
$var; (una variable declarada, pero sin un valor)

Tienes que tener claro que no es lo mismo "" que " ", en el primer caso dos comilla dobles seguidas es una cadena vacia, pero la segunda con un especio entre las dos comillas no lo es.

Si tu variable contiene " " y tu quieres validarlo como una variable vacia puedes usar esta otra funcion ctype_space() que devuelve TRUE si todos los caracteres de una cadena son espacio, tabulacion, retorno del carro, entre otros.

http://php.net/manual/en/function.ctype-space.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

variable

Publicado por zendi (824 intervenciones) el 02/10/2013 00:29:51
me explicare mejor: tengo este input type text
<tr>
<td align="left">Fecha</td>

<td class="sr"><input type="text" name="fecha" size="10" maxlength="10" align="right"/></td>
</tr>
y la idea es que cuando yo no elija una fecha o si la eligiese en caso contrario
podria preguntar si esta vacio o no asi?:

if (!empty($_POST['fecha']))
{
$hoy = $_POST['fecha'];
$día = substr($hoy,0,2);
$mes = substr($hoy,3,2);
$anio = substr($hoy,6,4);
$hoy = $anio."-".$mes."-".$día;
$asignado = "INSERT INTO deuda(codigo_gasto,monto,nroapto,fecha,cedula,hora) VALUES ('$codigo',$monto,'$nroapto','$hoy','$cedula',$hora)";
}
if (empty($_POST['fecha']))
{
$asignado = "INSERT INTO deuda(codigo_gasto,monto,nroapto,fecha,cedula,hora) VALUES ('$codigo',$monto,'$nroapto','$fecha','$cedula',$hora)";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

variable

Publicado por xve (5525 intervenciones) el 02/10/2013 08:41:45
Hola Zendi, creo que no es correcto, ya que empty() determina si no existe la variable o es null.

Para ello, yo te recomiendo hacerlo así:
1
if(isset($_POST['fecha']) && $_POST['fecha'])

Con: isset($_POST['fecha']
Indicamos al sistema que si existe la variable o esta definida (aunque este vacía) continué con la siguiente comparación después del and (&&)
Si no esta definida o es null, ya no continua con al siguiente comparación
Con esto, nos ahorramos los warnings del PHP

con: && $_POST['fecha']
Indicamos simplemente, que si tiene valor entre dentro del if()

Espero que te haya ayudado... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

variable

Publicado por zendi (824 intervenciones) el 03/10/2013 03:12:51
De aucerdo xve, pero en cuanto al codigo que envie en el post anterior, ¿Donde debo colocar tu codigo para que surja efecto la pregunta? ya que son dos IF().
¿estaria bien asi:?
asi cuando no hay valores?
if ($_POST['fecha'])
{
$hoy = $_POST['fecha'];
$día = substr($hoy,0,2);
$mes = substr($hoy,3,2);
$anio = substr($hoy,6,4);
$hoy = $anio."-".$mes."-".$día;
$asignado = "INSERT INTO deuda(codigo_gasto,monto,nroapto,fecha,cedula,hora) VALUES ('$codigo',$monto,'$nroapto','$hoy','$cedula',$hora)";
}
y asi cuando tiene valor?
if(isset($_POST['fecha']) && $_POST['fecha'])

{
$asignado = "INSERT INTO deuda(codigo_gasto,monto,nroapto,fecha,cedula,hora) VALUES ('$codigo',$monto,'$nroapto','$fecha','$cedula',$hora)";
}


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

variable

Publicado por xve (5525 intervenciones) el 03/10/2013 07:36:29
Hola Zendi, seria algo así:
1
2
3
4
5
6
7
8
9
10
11
if(isset($_POST['fecha']) && $_POST['fecha'])
{
	$hoy = $_POST['fecha'];
	$día = substr($hoy,0,2);
	$mes = substr($hoy,3,2);
	$anio = substr($hoy,6,4);
	$hoy = $anio."-".$mes."-".$día;
	$asignado = "INSERT INTO deuda(codigo_gasto,monto,nroapto,fecha,cedula,hora) VALUES ('$codigo',$monto,'$nroapto','$hoy','$cedula',$hora)";
}else{
	$asignado = "INSERT INTO deuda(codigo_gasto,monto,nroapto,fecha,cedula,hora) VALUES ('$codigo',$monto,'$nroapto','$fecha','$cedula',$hora)";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

variable

Publicado por zendi (824 intervenciones) el 03/10/2013 14:22:03
Hola xve, si lo hace, el asunto era que yo estaba utilizando dos IF() de manera incorrecta.
gracias xve.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar