Foros del Web » Programando para Internet » PHP »

Como Expreso el siguiente IF?

Estas en el tema de Como Expreso el siguiente IF? en el foro de PHP en Foros del Web. Hola a todos, tengo una duda al utilizar una condicion. COmo ago para anexar otra condicion que sea, "si son solo espacios"? Código PHP:      ...
  #1 (permalink)  
Antiguo 11/06/2003, 16:16
Avatar de Nukelino  
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 116
Antigüedad: 14 años, 8 meses
Puntos: 0
Como Expreso el siguiente IF?

Hola a todos, tengo una duda al utilizar una condicion.

COmo ago para anexar otra condicion que sea, "si son solo espacios"?

Código PHP:
    if ($titulo == "") {
        
$error "Es obligatorio poner un Titulo";
    } else {
        
$error "";
    } 

Adios, Saludos Cordiales...
  #2 (permalink)  
Antiguo 11/06/2003, 16:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. yo lo que haría ir aplicando los filtros que necesite .. El problema es que siempre permanecería el último error si se hiciera algún juego de if .. else .. elseif. Para eso lo que hago es guardarmelos en un array de "errores" y luego leeo dicho array si hay más de un error contabilizado.

Código PHP:
$error[]=array();

if (empty(
$titulo)) { // uso la función empty() en lugar de == ""
        
$errores[] = "Es obligatorio poner un Titulo";
    }

if (
$titulo != str_replace($titulo,' ','')) { // comparo la cadena de entrada con la misma cadena sin espacios .. si es no es igual es que tiene algún espacio .. con str_pos() tambíen se podría hacer. Y por supuesto con expresiones regulares ..
        
$errores[] = "NO se aceptan espacios ..";
}

if (
count($errores) > 0){
  foreach(
$errores as $error){
    echo 
"Error: ".$error."<br>";
  }
} else {
    echo 
"Todo oK.. ningun error ..";

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 11/06/2003, 16:58
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 15 años, 9 meses
Puntos: 54
Código PHP:
if (trim($titulo) == "") { echo "Son sólo espacios"; } 
La función trim() elimina espacios al inicio y al fin de la cadena, de tal forma que si son todo espacios devolverá una variable vacía.

Nota que si la variable ya estaba vacía, el trim() devolverá lo mismo... o sea daria igual que la variable estuviera vacia o con únicamente espacios.

Saludos
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.

Última edición por ferny; 11/06/2003 a las 17:01
  #4 (permalink)  
Antiguo 11/06/2003, 17:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ops! .. jeje .. No leí bien "si son sólo espacios" .. gracias ferny ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 11/06/2003, 17:11
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 15 años, 9 meses
Puntos: 54
Jejejeje... y yo que pensaba que era mejor tu solución...
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #6 (permalink)  
Antiguo 11/06/2003, 18:10
Avatar de Nukelino  
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 116
Antigüedad: 14 años, 8 meses
Puntos: 0
Amigos, donde puedo aprender a utilizar los array ?
Desde el manual de php.net nose, lo releo y no me queda claro...
Algun otro lugar donde aprender a utilizarlo?

Saludos, muchas gracias por sus respuestas !

COmo seria aplicar el trim() en una serie de variables?

asi no me funciona:

if (trim($titulo!="" && $poema!="" && $tema!="") {
  #7 (permalink)  
Antiguo 11/06/2003, 18:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Nukelino ..

trim() es una funcíon . y si lees en php.net su definición veras que sólo acepta un "string" o cadena a la vez para evaluar .. así que lo que has hecho no te funciona porqué estás metiendo operadores lógicos y demas historias donde NO corresponde ..

En tal caso sería así ..
Código PHP:
if (trim($titulo) !="" && trim($poema) !="" && trim($tema) != "") { 
De arrays .. pues no sé .. ¿ya has vistos los tutoriales de PHP de esta FAQ?:

http://www.forosdelweb.com/showthrea...936#post238936

Y si por ahí no te queda claro ..creo que deberías buscar algún tutorial de programación en general .. Donde te enseñen a usar arrays (el concepto) . funciones .. y demas algoritmos y temas própios de la programación en general .. Luego todo eso lo aplicas a PHP con la sintax particular de PHP .. Pero, lo importante son los conceptos básicos y entender como funciona el flujo de un programa y a leer la sintax de uso de un manual de referencia como lo es el manual oficial de PHP (www.php.net/manual/es)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 11/06/2003, 18:30
Avatar de Nukelino  
Fecha de Ingreso: abril-2003
Ubicación: Buenos Aires
Mensajes: 116
Antigüedad: 14 años, 8 meses
Puntos: 0
Listo, muchas garcías, también podría aplicar el trim a las variables antes del if... Haber si aprendo a utilizar los arrays que tanto mencionan...
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 22:40.