Foros del Web » Programando para Internet » PHP »

Qué es lo que pasa!!!! - Ayuda

Estas en el tema de Qué es lo que pasa!!!! - Ayuda en el foro de PHP en Foros del Web. Hola a todos!!! Les ruego imperiosamente que me indiquen por qué pasa lo siguiente (y me ayuden por favor): Tengo una página php que captura ...
  #1 (permalink)  
Antiguo 10/04/2004, 11:48
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 14 años, 2 meses
Puntos: 0
Qué es lo que pasa!!!! - Ayuda

Hola a todos!!!


Les ruego imperiosamente que me indiquen por qué pasa lo siguiente (y me ayuden por favor):


Tengo una página php que captura datos a través de input's y luego los debo ingresar a la BD luego de hacer click en un botón ingresar (muy simple no?)

El problema es que luego de hacer click en el botón la página llama a otra, PERO al llamar a esa "otra" no inserta en la base de datos!!!!!!!

Digo lo anterior porque cuando en el form pongo:

<form action="" method="" name="f1">

y hago clik SI INSERTA en la BD,

pero cuando pongo:

<form action="RegistroInsertado.php" method="post" name="f1">

No INSERTA en la BD.!!!!!!

y lo más grave es que Nesesito que inserte y luego vaya a RegistroInsertado.php

¿cómo lo soluciono????


La verdad es que no soy de la personas que quieren todo "en bandeja", si pregunto es porque Ya No he podido solucionarlo.

Es importantísimo que me ayuden.
Gracias.
  #2 (permalink)  
Antiguo 10/04/2004, 11:57
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 15 años
Puntos: 0
El form action"" se utiliza cuando está todo el script en uno, formulario e ingreso en la base de datos
Mejor que pongas el código para ver el error
  #3 (permalink)  
Antiguo 10/04/2004, 12:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 14 años, 2 meses
Puntos: 0
Aquí va....

<html>
<head>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<title>Ingresa Datos</title>
</head>
<body background="118.gif">

<form action="RegistroInsertado.php" method="post" name="f1">

<div aling="center"><font color="#0000FF" size="2" face="Tahoma">Ingreso de Datos</font>

<input type="submit" value="Ingresar Postulante" name=boton_ingresar>

Capturo los datos que voy a insertar en la BD con input's
<?
$edad; (edad que fue calculada con los datos de los inputs)
?>

<?
if (((isset($boton_ingresar))) and ($edad < 18)){


mysql_connect("xx", "xxx", "xxxxx");
mysql_db_query("zzz", "insert into TABLA
values (' ...datos ingresados......')");

}
?>

</form></body></html>


La sentecia de la Inserción esta ok. el PROBLEMA es que cuando le pongo en el form:

<form action="RegistroInsertado.php" method="post" name="f1">

NO inserta en la BD !!!!!!!!

pero si pongo:


<form action="" method="" name="f1">

SI INSERTA!!!

Y necesito que inserte en la BD y llame a RegistroInsertado.php como expliqué en el mensaje anterior.


ayuda, ayuda por favor!!!!

  #4 (permalink)  
Antiguo 10/04/2004, 13:32
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 15 años
Puntos: 0
Haz el formulario y en otro script para insertar los datos. Recuerda que al mandarlos por POST, debes de recogerlos como $edad=$_POST[$edad'];
  #5 (permalink)  
Antiguo 10/04/2004, 14:40
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 14 años, 2 meses
Puntos: 0
Gracias pero eso no me sirve...

Cocker, gracias por responder pero eso no me sirve.


porque quiero insertar en la pagina.php y luego de insertar llamar a otra página (RegistroInsertado.php) para hacer otras cosas y nada de interacción con la BD.

Lo anterior es para evitar que se inserte nuevamente los datos en la BD luego de hacer Click en Actualizar del explorador, por ello es que necesito llamar a otra página pero con los datos ya insertados anteriormente.

Me entienden??

espero que sí y que por favor me ayuden.

Saludos
  #6 (permalink)  
Antiguo 11/04/2004, 21:21
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
No sé si entendí bien pero...
<form action="RegistroInsertado.php" method="post" name="f1">

Lo que hace es enviar las variables de los campos del formulario con sus valores al script "RegistroInsertado.php"... y por lo que veo esas variables no tienen nada que hacer en ese script...

Lo que tú haces es enviar las variables a la misma página y por eso se insertan... (porque es esta página la que inserta y no RegistroInsertado.php)...

Creo que estás pensando que PHP puede leer los campos del formulario sin hacer submit y eso no es así...

Entonces la secuencia sería...
1.- Cargar la página.
2.- Enviar las variables a la misma página. (supongo que esto se hace con el action="").
3.- Redireccionar a RegistroInsertado.php.

Tu code está un poco enredado, por lo que te recomiendo hacer algo como lo siguiente:

1.- Evaluar primero si la página está cargando por el submit del formulario o no (lo que haces con el isset())... de esta forma evitas tener que cargar todo el HTML, que ni siquiera será visto.. porque estás haciendo un proceso interno (insertar).

2.- Si no vienes del formulario, cargas el HTML y el formulario.

3.- Si ya vienes del formulario (submit)... simplemente haces el insert (como dije, ya sin cargar el HTML) y redireccionas a RegistroInsertado.php.


ESpero que se haya entendido.

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 10:28.