Foros del Web » Programando para Internet » PHP »

Me estoy volviendo loco!

Estas en el tema de Me estoy volviendo loco! en el foro de PHP en Foros del Web. Hola haber si me podeis ayudar un poco. No tengo casi esperiencia en PHP, pero si en otros lenguajes, y unas simples condiciones de logica, ...
  #1 (permalink)  
Antiguo 11/09/2009, 14:34
 
Fecha de Ingreso: abril-2009
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Me estoy volviendo loco!

Hola haber si me podeis ayudar un poco. No tengo casi esperiencia en PHP, pero si en otros lenguajes, y unas simples condiciones de logica, no se hacerlas funcionar.

El tema es que tengo un formulario html, y tengo un script PHP ligado a dicho formulario, la adquisicion de datos me funcionar si hago una visualizacion simple de los datos escritos, pero quiero añadir unas condiciones para asegurarme de que han escrito datos en los campos de introduccion, aqui viene, he probado de varias formas, hasta poniendo todas condiciones con if en cascada.

if ($amount <> '0'){
if (empty($producto)){
if (empty($titular)){

Ni un asi, el primero si que funcioina, pero los siguiente no, sin el empty tp, como puedo hacer para asegurarme de que los campos estan escritos?

Muchas gracias.
  #2 (permalink)  
Antiguo 11/09/2009, 14:45
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: Me estoy volviendo loco!

en vez de usar <> usa != Pero mientras tanto te sugiero que escribas todo para poder ver cual es el error
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/09/2009, 14:55
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Me estoy volviendo loco!

Cita:
if (empty($titular)){
Yo uso :

if (isset()) {}

o

if (!isset()) {}

Con esto se sabe si la variable esta seteada o vacia o no existe.
  #4 (permalink)  
Antiguo 11/09/2009, 15:17
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: Me estoy volviendo loco!

En realidad con isset no detecta si esta vacia. Solo verifica si existe o no existe. Porque una variable puede tener declarado un string vacio e isset va a entender que existe la variable. En el caso de que quieras averiguar si una variable te paso un dato como vacio se usa empty.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 11/09/2009, 15:28
Avatar de kike00  
Fecha de Ingreso: febrero-2005
Ubicación: El Salvador
Mensajes: 180
Antigüedad: 19 años, 2 meses
Puntos: 7
Respuesta: Me estoy volviendo loco!

puedes combinar isset con empty :P

Código php:
Ver original
  1. if(!empty(isset($_POST[variable]))){
  2.      //el campo se envió y no estaba vacío
  3. }else{
  4.     //no se envió o estaba vacío, por lo tanto mensaje de error :D
  5. }
  #6 (permalink)  
Antiguo 11/09/2009, 15:43
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: Me estoy volviendo loco!

Y para que comprobar con isset, encima el autor no pregunto de eso, una vez que se envia el formulario y recojes la variable el isset no sirve, es obvio el resultado..
Yo uso
if(($_POST[nombre] = "") OR ($_POST[password] = "")){echo"dejaste campos vacios";}
else{echo"Completaste todos los campos";}
Eso podria ser un ejemplo, con empty seria lo mismo..
  #7 (permalink)  
Antiguo 12/09/2009, 02:25
 
Fecha de Ingreso: abril-2009
Mensajes: 34
Antigüedad: 15 años
Puntos: 0
Respuesta: Me estoy volviendo loco!

Gracias, ya esta solucionado, al final he usado != en vez de <>, y ya funcionaba, tambien teni un problem en un else, que lo habia puesto fuera del corchete que queria.

Salu2
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 04:51.