Foros del Web » Programando para Internet » PHP »

No funciona el if...

Estas en el tema de No funciona el if... en el foro de PHP en Foros del Web. Estoy intentando hacer un sistema para ingresar contenido a mi web... en la misma tengo 4 secciones: Noticias, Delirios, Poemas y Relatos... Noticias y Delirios ...
  #1 (permalink)  
Antiguo 22/01/2007, 12:49
 
Fecha de Ingreso: enero-2007
Mensajes: 13
Antigüedad: 17 años, 3 meses
Puntos: 0
No funciona el if...

Estoy intentando hacer un sistema para ingresar contenido a mi web... en la misma tengo 4 secciones: Noticias, Delirios, Poemas y Relatos...

Noticias y Delirios tienen el mismo tipo de tabla (titulo y contenido)

pero Poemas y Relatos tienen otro tipo (titulo, contenido y articulo)

Yo tengo un formulario donde ingreso los datos, especifico que sección quiero actualizar e ingresa los datos a la bd.

En el código PHP tengo dos if, para controlar que sección corresponde...

Código:
  if(strcmp($seccion,"noticias" || "delirios")) {
           $titulo = $_POST['titulo'];
           $noticia = $_POST['noticia'];
           mysql_query('insert into '.$seccion.'(titulo,contenido) values("'.$titulo.'","'.$noticia.'")',$conexion);
        }       

        if(strcmp($seccion,"poemas" || "relatos")) {
                $articulo = $_POST['articulo'];
                mysql_query('insert into '.$seccion.'(titulo,contenido,articulo) values("'.$titulo.'","'.$noticia.'","'.$articulo.'")',$conexion);
        }
El asunto, es que cuando lo ejecuto... no respeta los if... y me actualiza dos veces la bd (aunque la primera sin la parte de articulo, obviamente)

¿Que estoy haciendo mal?
  #2 (permalink)  
Antiguo 22/01/2007, 13:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: No funciona el if...

El problema es como estas comparando tu if:
Código PHP:
strcmp($seccion,"noticias" || "delirios"
debe de ser:
Código PHP:
strcmp($seccion,"noticias") || strcmp($seccion,"delirios"
  #3 (permalink)  
Antiguo 22/01/2007, 13:24
 
Fecha de Ingreso: enero-2007
Mensajes: 13
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: No funciona el if...

nada... ahora tengo esto...

Código:
    if(strcmp($seccion,"noticias") ||  strcmp($seccion,"delirios")) {
           $titulo = $_POST['titulo'];
           $noticia = $_POST['noticia'];
           mysql_query('insert into '.$seccion.'(titulo,contenido) values("'.$titulo.'","'.$noticia.'")',$conexion);
        }       

        if(strcmp($seccion,"poemas") || strcmp($seccion,"relatos")) {
                $articulo = $_POST['articulo'];
                mysql_query('insert into '.$seccion.'(titulo,contenido,articulo) values("'.$titulo.'","'.$noticia.'","'.$articulo.'")',$conexion);
        }
Pero me sigue pasando lo mismo...
  #4 (permalink)  
Antiguo 22/01/2007, 13:35
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: No funciona el if...

¿Porqué no comparas de forma "normal"?

Código PHP:
 if($seccion == "noticias" || $seccion == "delirios") { 

Saludillos.
  #5 (permalink)  
Antiguo 22/01/2007, 13:46
 
Fecha de Ingreso: enero-2007
Mensajes: 13
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: No funciona el if...

Por la costumbre con C supongo...

Muchas gracias, de esa forma funciona...

Sin embargo... no tendría que funcionar también de la otra forma?
  #6 (permalink)  
Antiguo 23/01/2007, 03:49
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 9 meses
Puntos: 35
Re: No funciona el if...

Pues no estoy muy seguro, pero la documentacion dice que strcmp devuelve 0 si son iguales, por lo que la comparacion deberia ser algo como:

Código PHP:
if(strcmp($seccion,"noticias") == 0||  strcmp($seccion,"delirios") == 0
Cita:
Returns < 0 if str1 is less than str2; > 0 if str1 is greater than str2, and 0 if they are equal.
__________________
Sin Ideas
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 01:05.