Foros del Web » Programando para Internet » PHP »

No puedo guardar variables en mi base de datos

Estas en el tema de No puedo guardar variables en mi base de datos en el foro de PHP en Foros del Web. Saludos: Estoy desde hace unos dias , tratando de hacer funcionar un pequeño script que guarda nombres introducidos por los usuario de una pagina web. ...
  #1 (permalink)  
Antiguo 15/08/2008, 16:31
Avatar de Hector Gonzalez  
Fecha de Ingreso: febrero-2007
Mensajes: 15
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta No puedo guardar variables en mi base de datos

Saludos:

Estoy desde hace unos dias , tratando de hacer funcionar un pequeño script que guarda nombres introducidos por los usuario de una pagina web.

Es un script muy sencillo que estoy usando para practicar y avanzar a algo mas complicado, pero claro está que si este no funciona de nada sirve intentar otra cosa mas fuerte.

Los nombres deberian guardarse en mi base de datos que se llama "registro", en la tabla "usuario".

Estoy usando WampServer 2.0, phpMyamin 2.11.6 y DreamWeaver CS3.

Este es el script:

Código:
<html>
<?
$bd=mysql_connect("localhost","root","") or die ("No puedo acceder a la base de datos");
mysql_select_db("registro");
$opt=$HTTP_GET_VARS["opt"];
if ($opt==1)
{
$nombre=$HTTP_GET_VARS["nombre"];
$sql="insert into usuario (nombre) values ('".$nombre."')";
$res=mysql_query($sql,$bd) or die (mysql_error());
}
?>
<head>
<title>Untitled Document</title>
</head>
<script language="javascript">
function  verifica() 
{ 
if (prueba.nombre.value=="") 
	{
	alert ("Hola! Por Favor Ingrese un Nombre...");
	return;
	}
prueba.opt.value=1;	
prueba.submit();
}	
</script>
<body>


<form name="prueba">
<input type="hidden" name="opt" />
Introduzca su nombre: <input type="text" name="nombre" />
<br />
<input type="submit" value="enviar" onclick="verifica()" />
</form>


</body>
</html>
Espero sus respuestas... estaré pendiente por si se necesitan más detalles.
  #2 (permalink)  
Antiguo 15/08/2008, 18:43
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 23 años
Puntos: 655
Respuesta: No puedo guardar variables en mi base de datos

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 15/08/2008, 19:36
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 9 meses
Puntos: 20
Respuesta: No puedo guardar variables en mi base de datos

El problema está en mysql_select_db. Defines $bd pero no la llamas después. Cambia estas primeras líneas:

Código PHP:
$bd=mysql_connect("localhost","root","") or die ("No puedo acceder a la base de datos");
mysql_select_db("registro"); 
por:

Código PHP:
$bd=mysql_connect("localhost","root","") or die ("No puedo acceder a la base de datos");
mysql_select_db("registro"$bd); 
suerte
  #4 (permalink)  
Antiguo 15/08/2008, 19:39
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: No puedo guardar variables en mi base de datos

Porque quieres pasar la variable por medio de GET si usas un formulario?
Utiliza $_POST en vez de $HTTP_GET_VARS.
  #5 (permalink)  
Antiguo 15/08/2008, 19:45
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 9 meses
Puntos: 20
Respuesta: No puedo guardar variables en mi base de datos

Cita:
Iniciado por Ronruby Ver Mensaje
Porque quieres pasar la variable por medio de GET si usas un formulario?
Utiliza $_POST en vez de $HTTP_GET_VARS.
Es verdad. Su formulario no tiene sentido. Lo arreglo:

FORMULARIO HTML:

Código:
<form name="prueba" method="POST">
Introduzca su nombre: <input type="text" name="nombre" />
<br />
<input type="submit" value="enviar" onclick="verifica()" name="boton"/>
</form>
(Atención a name="boton" puedes ponerle el nombre que quieras, pero luego usar el mismo en PHP. También fíjate que puse method="POST")


PHP:
Código PHP:
<?
$bd
=mysql_connect("localhost","root","") or die ("No puedo acceder a la base de datos");
mysql_select_db("registro"$bd);
if (
$_POST['boton'])
{
$nombre=$_POST['nombre'];
$sql="insert into usuario (nombre) values ('".$nombre."')";
$res=mysql_query($sql,$bd) or die (mysql_error());
}
?>
Los campos del formulario se han enviado por el método "POST" y con PHP se recogen con $_POST

Suerte
  #6 (permalink)  
Antiguo 17/08/2008, 09:36
Avatar de Hector Gonzalez  
Fecha de Ingreso: febrero-2007
Mensajes: 15
Antigüedad: 17 años, 9 meses
Puntos: 0
De acuerdo Respuesta: No puedo guardar variables en mi base de datos

Cita:
Iniciado por BrujoNic Ver Mensaje
Trasladado de BD a PHP. Favor no poner código de programación en BD.
Disculpa no volverá a pasar

Héctor González
  #7 (permalink)  
Antiguo 17/08/2008, 09:38
Avatar de Hector Gonzalez  
Fecha de Ingreso: febrero-2007
Mensajes: 15
Antigüedad: 17 años, 9 meses
Puntos: 0
De acuerdo Respuesta: No puedo guardar variables en mi base de datos

Cita:
Iniciado por david_M_G Ver Mensaje
El problema está en mysql_select_db. Defines $bd pero no la llamas después. Cambia estas primeras líneas:
Gracias! no me había dado cuenta de ese detalle

Héctor González
  #8 (permalink)  
Antiguo 17/08/2008, 09:41
Avatar de Hector Gonzalez  
Fecha de Ingreso: febrero-2007
Mensajes: 15
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: No puedo guardar variables en mi base de datos

Cita:
Iniciado por Ronruby Ver Mensaje
Porque quieres pasar la variable por medio de GET si usas un formulario?
Utiliza $_POST en vez de $HTTP_GET_VARS.
Si es verdad, el método POST es que se utiliza por ser más serguro, pero debería de funcionar en el método GET ¿no?.

Héctor González
  #9 (permalink)  
Antiguo 17/08/2008, 09:47
Avatar de Hector Gonzalez  
Fecha de Ingreso: febrero-2007
Mensajes: 15
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: No puedo guardar variables en mi base de datos

Cita:
Iniciado por david_M_G Ver Mensaje
Es verdad. Su formulario no tiene sentido. Lo arreglo:

FORMULARIO HTML:

Código:
<form name="prueba" method="POST">
Introduzca su nombre: <input type="text" name="nombre" />
<br />
<input type="submit" value="enviar" onclick="verifica()" name="boton"/>
</form>
(Atención a name="boton" puedes ponerle el nombre que quieras, pero luego usar el mismo en PHP. También fíjate que puse method="POST")


PHP:
Código PHP:
<?
$bd
=mysql_connect("localhost","root","") or die ("No puedo acceder a la base de datos");
mysql_select_db("registro"$bd);
if (
$_POST['boton'])
{
$nombre=$_POST['nombre'];
$sql="insert into usuario (nombre) values ('".$nombre."')";
$res=mysql_query($sql,$bd) or die (mysql_error());
}
?>
Los campos del formulario se han enviado por el método "POST" y con PHP se recogen con $_POST
Gracias voy a hacerlo asi, les cuento el resultado luego.

Héctor González
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:00.