Foros del Web » Programando para Internet » PHP »

Conectarse a una base de datos desde un formulario

Estas en el tema de Conectarse a una base de datos desde un formulario en el foro de PHP en Foros del Web. Quiero conectarme a una base de datos pero donde el usuario y la contraseña de conexión provengan de un form. Adjunto código que no funciona. ...
  #1 (permalink)  
Antiguo 28/02/2008, 08:38
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 2 meses
Puntos: 0
Conectarse a una base de datos desde un formulario

Quiero conectarme a una base de datos pero donde el usuario y la contraseña de conexión provengan de un form. Adjunto código que no funciona. Si pongo la contraseña y el user directamente entre "" si que va.

Es un problema del formato de la variable o algo por el estilo???

$user=$_GET['usuario'];
$pass=$_GET['password'];
$host="localhost";

function Conectarse()
{
if (!($link=mysql_connect($host,$user,$pass)))
{
echo "Error conectando a la base de datos.";
exit();
}
else {
echo "Conexión con la base de datos conseguida";
}
if (!mysql_select_db("qda460",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
else
{
echo "Base de datos seleccionada";
}
return $link;
}

$link=Conectarse();
  #2 (permalink)  
Antiguo 28/02/2008, 09:08
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: Conectarse a una base de datos desde un formulario

Hola, entonces el problema esta en como estas recibiendo las variables recuerda que si en el metodo del formulario estas enviando las variables por get recibes con get y si es por post recibes por post, lo que yo probaria seria mostrar las variables para ver que valores estan trayendo asi puedes determinar mejor el problema. Proba haciendo.
Código PHP:
echo $_GET["usuario"];
echo 
$_GET["password"
Por cierto, esta duda encaja mas en el foro de php. Tambien seria mejor que incluyeras el form desde donde envias las variables, por las dudas que el problema este en el formulario.
Espero que te sirva.
Saludos
__________________
->Aprender es un proceso que incluye el error..

Última edición por cala932; 28/02/2008 a las 09:09 Razón: Mi POST 600 jaja
  #3 (permalink)  
Antiguo 28/02/2008, 10:55
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Conectarse a una base de datos desde un formulario

Los valores de las variables son correctos, ya lo había probado a mostrarlos por pantalla

Al ser un problema de conexión a base de datos y no de formulario he decido postearlo here.

Saludos
  #4 (permalink)  
Antiguo 28/02/2008, 11:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Conectarse a una base de datos desde un formulario

¿Qué error te devuelve la conexión? Mensaje o número, posteá lo que MySQL te está respondiendo.
  #5 (permalink)  
Antiguo 28/02/2008, 17:08
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: Conectarse a una base de datos desde un formulario

Holas eso, hace un echo mysql_error($link).

Nos vemos
__________________
->Aprender es un proceso que incluye el error..
  #6 (permalink)  
Antiguo 28/02/2008, 17:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Conectarse a una base de datos desde un formulario

Cuando una operación falla, MySQL responde con un mensaje de error que tanto PHP, como cualquier otro lenguaje puede recuperar, y además un número de error (por ejemplo: 1045, significa que el error estuvo en la clave, 1064 es un error de sintaxis, y así sucesivamente).
Mi pregunta no es si responde con un echo mysql_error($link). , sino cuál es el mensaje que contiene la variable y que manda el motor de MySQL. Allí está la clave.
  #7 (permalink)  
Antiguo 28/02/2008, 19:06
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Conectarse a una base de datos desde un formulario

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
  #8 (permalink)  
Antiguo 29/02/2008, 04:27
 
Fecha de Ingreso: febrero-2008
Mensajes: 6
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Conectarse a una base de datos desde un formulario

El error que me sale es el siguiente

Warning: mysql_connect(): Access denied for user 'UNKNOWN_USER'@'localhost' (using password: YES)

Y no lo entiendo. Con la siguiente sentencia funciona

if (!($link=mysql_connect($host,"DEMO","DEMO")))

pero si el user y el password lo cambio por variables no rula y eso que saco previamente con un echo el valor de las variables y coincide.

if (!($link=mysql_connect($host,$user,$pass))).

He probado con ' ' con " " y nada de nada.

Saludos.
  #9 (permalink)  
Antiguo 29/02/2008, 05:25
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: Conectarse a una base de datos desde un formulario

manda el codigo php de la consulta completo o por lo menos el query y el form para ver donde esta el fallo de conexion


la conexion deberia de ser

Código PHP:
mysql_connect('localhost','tu_user','tu_clave')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('tu_base_datos')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); 
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 17:17.