Foros del Web » Programando para Internet » PHP »

problemas con condicional if

Estas en el tema de problemas con condicional if en el foro de PHP en Foros del Web. muy buenas. os cuento: tengo dos formularios diferentes, cada uno de ellos con dos preguntas. los datos de esos formularios se ingresan en dos tablas ...
  #1 (permalink)  
Antiguo 27/01/2007, 01:42
 
Fecha de Ingreso: agosto-2006
Mensajes: 91
Antigüedad: 17 años, 8 meses
Puntos: 0
problemas con condicional if

muy buenas. os cuento:

tengo dos formularios diferentes, cada uno de ellos con dos preguntas. los datos de esos formularios se ingresan en dos tablas diferentes, una para cada formulario. lo que no quería era hacer dos archivos php para insertar en cada una de las tablas, si no que lo que quería era hacer uno sólo y dependiendo del formulario que fuera, me lo insertara en una tabla u otra.

para ello, se me ocurrió en cada formulario meter un input hidden, con un value diferente para cada uno de ellos, y con name para los dos de "prueba", por ejemplo. así el formulario A tiene el value="blanco" (por ejemplo) y el formulario B tiene el value="negro". luego en el archivo insertar.php lo que hago es esto:

Código PHP:
$cnx mysql_connect("localhost""admin""pass");  
mysql_select_db("basededatos"$cnx);     
$prueba=$_POST[prueba];
        
if(
$_post[prueba]="blanco"

{
$campo1=$_POST[campo1];
$campo2=$_POST[campo2];
     
mysql_query("INSERT INTO tabla1(campo1,campo2) VALUES('$campo1,'$campo2')"); 
    
header("Location: gracias.html"); 
    } 
else
$campo3=$_POST[campo3];
$campo4=$_POST[campo4];
     
mysql_query("INSERT INTO tabla2(campo3,campo4) VALUES('$campo3,'$campo4')"); 
    
header("Location: gracias.html"); 
    } 
así lo que yo quería era dependiendo el valor del formulario se me insertarán los datos de sus campos en una u otra tabla. el problema está que tome el valor que tome, es decir, ya venga de un formulario u otro, siempre me los mete en la tabla1.
qué estoy haciendo mal? (que seguro que hay algo mal)
gracias
  #2 (permalink)  
Antiguo 27/01/2007, 02:16
Avatar de andresq  
Fecha de Ingreso: enero-2007
Ubicación: Chiapas, México
Mensajes: 161
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: problemas con condicional if

Pues a mi punto de ver y por mi poca experiencia creo que el problema esta en la sintaxis del POST, y creo que es:

$_POST siempre en mayusculas

if($_post[prueba]="blanco") --> if($_POST[prueba]=="blanco")

y cuando utilices las sentencias la comparacion es: con el operador lógico == (doble igual), lo que hace el if que tienes es asignarle a $_post[prueba] el valor de "blanco" por eso siempre entra.

pero como en la liena anterior tienes:

$prueba=$_POST[prueba];

podrias utlizar esa variable y sustituir

if($prueba =="blanco")


espero y esto resuleva tu problema

Última edición por andresq; 27/01/2007 a las 02:20 Razón: aumentar la informacion y corregir errores de escritura
  #3 (permalink)  
Antiguo 27/01/2007, 02:52
 
Fecha de Ingreso: agosto-2006
Mensajes: 91
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: problemas con condicional if

gracias. voy a probar
  #4 (permalink)  
Antiguo 27/01/2007, 03:10
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: problemas con condicional if

Otra cosa, los valores asociativos de arrays van entrecomillados
Código PHP:
$_POST[prueba] -> $_POST['prueba'
Y se me ocurre que podrias usar un switch:
Código PHP:
$prueba = isset($_POST['prueba']) ? $_POST['prueba'] : '' ;
switch (
$prueba) {
  case 
"blanco":
    
//Aqui procesas el formulario 1
  
break;
  case 
"negro":
    
//Aqui el formulario 2
  
break;
  default:
    echo 
"quehaces aqui? o.ó"
  
break;

__________________
Sin Ideas
  #5 (permalink)  
Antiguo 27/01/2007, 06:08
Avatar de Jeremias  
Fecha de Ingreso: agosto-2003
Ubicación: Caracas
Mensajes: 504
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: problemas con condicional if

Adicionalmente de lo que ya te han dicho los amigos, te falta colocarle la llave de apertura { al ELSE, yaq ue tienes mas de 1 instruccion en ese bloque y tienes la llave de cierre } pero no la de apertura.
Saludos
__________________
Atte. Jere
Agradezco su pronta colaboración.
;-) :arriba:Hoy por mi, mañana por ti:arriba: ;-)
  #6 (permalink)  
Antiguo 27/01/2007, 19:21
Avatar de andresq  
Fecha de Ingreso: enero-2007
Ubicación: Chiapas, México
Mensajes: 161
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: problemas con condicional if

Referente a las comillas en el post $_POST['algo'], he probado $_POST[algo] y tambien jala, al principio no lo creia pero lo hice y si funciono
  #7 (permalink)  
Antiguo 27/01/2007, 23:44
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: problemas con condicional if

Si, funciona, pero pon un error_reporting(E_ALL); al comienzo de tu script (recomendado para el tiempo q desarrollas) y veras unos lindos notices
__________________
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 03:12.