Foros del Web » Programando para Internet » PHP »

no me guarda registro

Estas en el tema de no me guarda registro en el foro de PHP en Foros del Web. tengo un formulario que me recoge los valores a guardar en una base de datos. el formulario acaba con las siguientes lineas: <input name="ingresar" type="hidden" ...
  #1 (permalink)  
Antiguo 16/04/2007, 04:44
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 21 años, 10 meses
Puntos: 5
no me guarda registro

tengo un formulario que me recoge los valores a guardar en una base de datos. el formulario acaba con las siguientes lineas:

<input name="ingresar" type="hidden" id="ingresar" value="ok">
<input type="submit" name="Submit" value=" Ingresar > ">


la cuestion es que el form lo envia a otro archivo para guardar los datos capturados a traves del formulario de la siguiente forma:

if ($Submit) {
if ($ingresar) {
mysql_query("INSERT INTO construccion VALUES('$tipo','$descripcion')");

header("Location: ?s=1");



el sistema me dice que se ingreso los datos con exito pero en verdad no me guarda na, ¿que puede pasar?
  #2 (permalink)  
Antiguo 16/04/2007, 06:41
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: no me guarda registro

Hola, me parece que a la variable $ingresar no le estas evaluando bien el contenido, ya que le estas asignando una cadena en el value, me parece que la manera correcta seria:
Código PHP:
if ($ingresar=="ok"
...... 
Y en el mysql_query, no se si influye pero te falta un ; despues del parentesis,
iria asi:
Código PHP:
mysql_query("INSERT INTO construccion VALUES('$tipo','$descripcion');"); 
Saludos
__________________
->Aprender es un proceso que incluye el error..
  #3 (permalink)  
Antiguo 16/04/2007, 06:47
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: no me guarda registro

El problema es con esas variables que utilizas, debes recibirlas con $_POST normalmente:

Código PHP:
<?php
if ($_POST['Submit']) 
{
        if (
$_POST['ingresar'] == 'ok'
        {
                
mysql_query("INSERT INTO construccion VALUES('$tipo','$descripcion')");
                
header("Location: ?s=1");
        }
}
?>
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #4 (permalink)  
Antiguo 16/04/2007, 09:58
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: no me guarda registro

para mi lo mejor sería
Código PHP:
//pregunto si la variable tipo "no" esta vacia
if(!empty($_POST['tipo']))//si no lo esta
   
{
    
//se ejecutan esta lineas
       
mysql_query("INSERT INTO construccion VALUES('$tipo','$descripcion')");
       
header("Location: ?s=1");
   }
else
//si esta vacio, entonces entro directamente a esta página y marco el error
{
   echo 
"error, debe de llenar el formulario";
//aqui puede ir un boton de regreso al formulario.

el porque de esa manera:
1.- obligo a que por lo menos no este vacio el campo tipo,
2.- es mas comodo porque tiene menos código,
3.- es mas entendible y fácil de manipular.

errores que le encuentro al otro.
1.-se usan dos if para hacer lo mismo, es decir si el primer if es aceptado el segundo lo tiene que ser a fuerza, ya que siempre que se haga el submit se pasará ingresar y siempre tendrá el valor "ok"
2.-el $_POST['sumbit'] tiene el valor ingresar y cuando se usa el
if ($Submit) ó if ($_POST['Submit']) no es ni true ni false por lo tanto se intentará ejecutar el else, ya que no se esta comparando, como por ejemplo;
if ($Submit=="ingresar")
ó
if ($_POST['Submit']=="ingresar").

suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 16/04/2007, 10:26
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: no me guarda registro

Cita:
Iniciado por eits Ver Mensaje
2.-el $_POST['sumbit'] tiene el valor ingresar y cuando se usa el
if ($Submit) ó if ($_POST['Submit']) no es ni true ni false por lo tanto se intentará ejecutar el else, ya que no se esta comparando, como por ejemplo;
if ($Submit=="ingresar")
ó
if ($_POST['Submit']=="ingresar").

suerte y saludos.
Prueba este codigo:

Código PHP:
<form name="form" action="" method="post">
    <input type="submit" name="Submit" value="Enviar">
</form>
<?php
if ($_POST['Submit']) 
{
    echo 
'IF';
}else{
    echo 
'ELSE';
}
?>
De todas formas mi idea era solo indicarle que el problema podria ser por tener register_globals off y no usar $_POST para recibir las variables.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #6 (permalink)  
Antiguo 16/04/2007, 10:37
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: no me guarda registro

disculpa, no fue mi intensión molestar, de verdad te ofrezco una sincera disculapa y yo se que tu intensión es la de ayudar al igual que la mia, y sí, tienes toda la razón yo estuve en un error al comentar sobre esto "if ($_POST['Submit'])" al parecer se ejecuta de la misma manera que hicieras esto "if(isset($_POST['Submit']))".

en fin, te agradezco que lo hayas tomado como un comentario desafortunado y no como una forma de hacerte quedar mal, de nuevo pido disculpas y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 16/04/2007, 10:42
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: no me guarda registro

Sin problemas eits, ni comentarios desafortunados ni nada. Tu código parece mas correcto, solo queria aclarar que el mio tambien era funcional.

Saludos!
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #8 (permalink)  
Antiguo 16/04/2007, 11:00
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: no me guarda registro

pues, muchas gracias por tu comprensión y pues cualquier cosa puedes contar conmigo, yo soy de Mexico y me da gusto conocer a personas y sobre todo de otros paises.

por cierto, mi nombre es Edgar, y ya le voy a parar no vaya a ser que me regañe el moderador y que me diga que esto no es un chat.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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:32.