Foros del Web » Programando para Internet » PHP »

no quiere funcionar el formulario

Estas en el tema de no quiere funcionar el formulario en el foro de PHP en Foros del Web. Hola El tema es asi: tengo una ventana chica que es solamente para cargar un dato ¿por que? porque quiero que eso despues se cargue ...
  #1 (permalink)  
Antiguo 16/11/2006, 07:50
Avatar de valeguz  
Fecha de Ingreso: octubre-2006
Ubicación: Al sur sur de Argentina
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 4
no quiere funcionar el formulario

Hola
El tema es asi: tengo una ventana chica que es solamente para cargar un dato ¿por que? porque quiero que eso despues se cargue en un combo de otro formulario, el tema es que no puedo lograr que me guarde los datos en la base, en realidad ni siquiera ejecuta la parte php, yo probe en otra pagina guardando "a mano" datos en la base y lo pude hacer o sea que la funcion ejecutaSentencia() funciona... es un problema del formulario, hace dos dias que estoy con esto y no puedo encontrar el error
Pongo el codigo a continuacion para ver si pueden decirme en que estoy fallando

NuevoProd.php:

Código PHP:
<html>
<head>
<title>Nuevo Producto</title>
</head>
<body background="bkgnd2.gif" text="#006000">
<?php
 
include "funcBase.inc"//tengo la funcion para conectar con la base,ejecutar consultas, etc

if ($acepProd){

  
$conectConectarBase();
  
$sent=EjecSentencia($conect,"INSERT INTO nombre_prod(NOMBRE) VALUES ('".$_POST['produ']."')");

  if(
$sent){
      echo 
"Registro Añadido";
}

else
{
      echo 
"El registro no se ha podido insertar";
}

}
?>

<form method="post" action="NuevoProd.php">
<DIV STYLE="POSITION:absolute; LEFT:10; TOP:10; WIDTH:280; HEIGHT:110; BACKGROUND-COLOR:#CCFFCC">

<DIV STYLE="POSITION:absolute; LEFT:20; TOP:12; WIDTH:200; HEIGHT:50;">
<b><font face="Verdana" size="2" color="#000"> Ingrese producto: </b><br /><br />
<input type="text" value="" align="LEFT" size="35" maxlength="100" name="produ" id="produ" />
</div>
<DIV STYLE="POSITION:absolute; LEFT:70; TOP:82; WIDTH:200; HEIGHT:50;">
<input type="submit" value="Aceptar" name="acepProd" id="acepProd"/>
<input type="button" value="Cancelar" name="canProd" onClick="window.close()"/>
</div>

</div>
</form>
</body>
<html>
ya probe con
Código PHP:
<form method="post" action="<? echo $REQUEST_URI;?>">
y con
Código PHP:
]<form method="post" action="<? echo $_SERVER['PHP_SELF'];?>">
y nada... esta es la primera vez que trato de guardar algo por formulario y no puedo
Si alguien me puede ayudar...

Saludos
  #2 (permalink)  
Antiguo 16/11/2006, 08:14
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
hola valeguz! Sobre tu pregunta no entiendo muy bien lo que haces, ya que si introduces manualmente los datos en la base de datos, no puedes saber si la funcion ejecutaSentencia() funciona. Sobre el formulario, iria bien que le pusieses un nombre para evitar problemas futuros. Intenta explicarme mejor lo que te pasa haber si te puedo echar una mano.
Saludos y suerte!
  #3 (permalink)  
Antiguo 16/11/2006, 08:44
Avatar de Hollman  
Fecha de Ingreso: enero-2003
Ubicación: Bogotá - Colombia
Mensajes: 202
Antigüedad: 21 años, 2 meses
Puntos: 1
hola...

Porqué no utilizas

if (isset($_POST['acepProd']))

en vez de

if ($acepProd)

Nos cuentas...
  #4 (permalink)  
Antiguo 16/11/2006, 08:45
Avatar de valeguz  
Fecha de Ingreso: octubre-2006
Ubicación: Al sur sur de Argentina
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 4
hola komodo
gracias por contestar, lo que hice fue crear un prueba.php que tenia el siguiente codigo

Código PHP:
 include "funcBase.inc";
  
$conectConectarBase();
  
$sent=ejecutarSentencia($conect,"INSERT INTO nombre_prod(NOMBRE) VALUES ('algo')"); 
lo llamo desde el browser, me fijo en la base y me insertó el dato, ya se que mi prueba es muy fea... no me reten por favor
  #5 (permalink)  
Antiguo 16/11/2006, 08:48
Avatar de valeguz  
Fecha de Ingreso: octubre-2006
Ubicación: Al sur sur de Argentina
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 4
voy a probar tu opcion hollman y despues te digo :)
  #6 (permalink)  
Antiguo 16/11/2006, 08:55
Avatar de valeguz  
Fecha de Ingreso: octubre-2006
Ubicación: Al sur sur de Argentina
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 4
No, igual no quiere, ya estoy traumada, porque intente de todas las formas y no quiere saber nada... .
  #7 (permalink)  
Antiguo 16/11/2006, 09:00
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Hola de nuevo valeguz! He vuelto a mirar el codigo que has escrito al principio y no le veo nada para que no funcione, comprueva que los nombres de los input coinciden a la hora de procesarlos con el php, por ejemplo: si el input para el producto le pones de nombre produ, comprueba que en el codigo php NuevoProd.php, recojas los datos del campo con el mismo nombre.

Enseñame el codigo fuente de NuevoProd.php para poderte ayudar, asi es un poco complicado.

PD: En el codigo fuente que has puesto al principio la etiqueta <html> no esta cerrada al final, repara ese pequeño descuido.
Un saludo
  #8 (permalink)  
Antiguo 16/11/2006, 09:30
Avatar de valeguz  
Fecha de Ingreso: octubre-2006
Ubicación: Al sur sur de Argentina
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 4
Es que el codigo que puse antes es el de NuevoProd.php, es decir, tengo un formulario "NuevoProducto.php" que permite ingresar datos de productos, ahora como hay muchos de estos productos que tienen nombre generico y lo unico cambia es la presentacion (cantidad, gramos, etc), lo que hago es listar los nombres en un combo, si el usuario quiere "crear" un nombre nuevo para productos se llama a NuevoProd.php por medio de un boton que aparece en NuevoProducto.php:

Código PHP:
<input type="button" value="Agregar producto" style="width:130px" onClick="ingresa('NuevoProd.php','nombProd')"
donde "ingresa" es:

Código PHP:
<script language="JavaScript">
  function 
ingresa(ventana,nombre){
    
ventwindow.open(ventana,nombre,'width=300,height=130,left=450,top=320,statusbar=yes, scrollbars=no,toolbar=no');
</script>

me parece que estoy haciendo algo mal .

ya cambie la etiqueta <html> por </html> gracias

Última edición por valeguz; 16/11/2006 a las 09:34 Razón: error en el codigo ingresado
  #9 (permalink)  
Antiguo 16/11/2006, 09:56
Avatar de valeguz  
Fecha de Ingreso: octubre-2006
Ubicación: Al sur sur de Argentina
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 4
Logre que funcione pero llamando a un .php donde copie toda la parte
Código PHP:
<?php
 
include "funcBase.inc";

  
$conectConectarBase();
  
$sent=guardarDato($conect,"INSERT INTO nombre_prod(NOMBRE,MEDICA_SI) VALUES ('".$_POST['produ']."',0)");
  if(
$sent){
      echo 
"Registro Añadido";
}
else
{
      echo 
"El registro no se ha podido insertar";
}
?>
y deje el formulario solito en otra pagina, ahora pregunto, no hay forma que esté todo junto?, si o si tiene que ser en paginas separadas?
  #10 (permalink)  
Antiguo 16/11/2006, 13:10
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 17 años, 5 meses
Puntos: 3
Hola valeguz! me alegro de que te funcione. Si que hay manera de ponerlo todo junto, seria con funciones i en el formulario envede de llamar a un php llamas a la función. Si te interesa el tema busca por el foro porque creo que ya está argumentado. Yo por eso te aconsejaria que lo hagas por separado ya que a la hora de actualizar tu proyecto o añadir cosas nuevas es más comodo, más rápido y menos problemático por separado. La última decisión es tuya!
Saludos!!
  #11 (permalink)  
Antiguo 17/11/2006, 06:02
Avatar de valeguz  
Fecha de Ingreso: octubre-2006
Ubicación: Al sur sur de Argentina
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 4
Gracias komodo por la ayuda, posiblemente tengas razon respecto a tener las cosas por separado, voy a tratar de seguir manejandolo asi...
Saludos
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 14:51.