Foros del Web » Programando para Internet » PHP »

Variables externas

Estas en el tema de Variables externas en el foro de PHP en Foros del Web. Hola a todos y gracias por leerme, esta es una muy sencilla pero que me da problemas. He creado una aplicación para incluir clientes en ...
  #1 (permalink)  
Antiguo 07/07/2008, 06:39
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Variables externas

Hola a todos y gracias por leerme, esta es una muy sencilla pero que me da problemas. He creado una aplicación para incluir clientes en un registro en el que cada uno tiene su carpeta con archivos a la que sólo se puede acceder logueado, y un pequeño entorno para que un administrador pueda cambiar cosas.

Al final todo funciona bien (chapuza aquí y allá, un poco de script de aquí y de allá) pero puedo decir que al no haber estudiado programación php tengo graaaaandes lagunas. Una de ellas es que no uso un .php de configuración de conexión al servidor, nombre de tabla sql,..., pues quiero hacer php que conecte y pase el nombre de la tabla y variables varias, de manera que con hacer un include en cada php listos.

He hecho esto pero me da acces Denied:

Código PHP:
<?php 
//DATOS
$localhost="localhost";
$usuario="miusuario";
$clave="miclave";
$basededatos="mibd";
$tabla="cliente";
//
function conectarse() 

   if (!(
$link=mysql_connect($localhost,$usuario,$clave))) 
   { 
      echo 
"Error conectando a la base de datos."
      exit(); 
   } 
   if (!
mysql_select_db($basededatos,$link)) 
   { 
      echo 
"Error seleccionando la base de datos."
      exit(); 
   } 
   return 
$link

?>

A todos los archivos le pongo el include con esto y así sólo dependo de un archivo, sin embargo falla algo. Si pongo en lugar de la variables el dato dentro del mysql_connect sí me funciona. ¿Cuál es el fallo?

Gracias
__________________
Chanante!
  #2 (permalink)  
Antiguo 07/07/2008, 08:05
Avatar de liebe13  
Fecha de Ingreso: octubre-2006
Ubicación: peru
Mensajes: 224
Antigüedad: 17 años, 6 meses
Puntos: 3
Respuesta: Variables externas

oe men ahi el mio con menos lineas y hace lo mismo espero q t sirva

<?
$servidorBD="localhost";
$usuarioBD="root";
$passBD="123456";
$nombreBD="bdps";
$conectar = mysql_connect($servidorBD,$usuarioBD,$passBD) or die("Imposible conectar a sql");
mysql_select_db($nombreBD,$conectar) or die("Imposible conectar con la base de datos");
?>
  #3 (permalink)  
Antiguo 07/07/2008, 08:10
Avatar de alapaco  
Fecha de Ingreso: septiembre-2003
Ubicación: Caballito - Buenos Aires - Argentina - América del Sur - Planeta Tierra - Sistema Solar - Vía Láctea
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: Variables externas

Cual es el error que te da ??
__________________
__________________
Álvaro Lapacó
  #4 (permalink)  
Antiguo 07/07/2008, 09:13
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Respuesta: Variables externas

Gracias por las respuestas y me da que el título del post no es idóneo pero gracias igual. El error es que no debe pillar las variables:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'davidcas'@'localhost' (using password: NO)

Gracias por el código que usas Liebel13, si lo mío no llega a funcionar usaré el tuyo, en todo caso me gustaría saber cuál es el error, por qué esto funciona:

if (!($link=mysql_connect("localhost","miusuario","mi clave")))...

y esto no:

$localhost="localhost";
$usuario="miusuario";
$clave="miclave";
if (!($link=mysql_connect($localhost,$usuario,$clave) ))

Un saludo
__________________
Chanante!
  #5 (permalink)  
Antiguo 07/07/2008, 09:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Variables externas

Es muy raro que el segundo código que expones no te sirva... y respecto a tu primer código el problema es que debes de hacer globales las variables de tu función interna.

Saludos.
  #6 (permalink)  
Antiguo 07/07/2008, 09:22
Avatar de alapaco  
Fecha de Ingreso: septiembre-2003
Ubicación: Caballito - Buenos Aires - Argentina - América del Sur - Planeta Tierra - Sistema Solar - Vía Láctea
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: Variables externas

El error es claro, los datos de login son incorrectos.
Si probas conectarte a la base de datos con algún programa de base de datos, te podes loguear bien ??
__________________
__________________
Álvaro Lapacó
  #7 (permalink)  
Antiguo 07/07/2008, 13:01
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Respuesta: Variables externas

Gracias de nuevo!, los datos que he puesto son los buenos, puestos "a pelo" me conecta y todo funciona bien. En cuanto a lo de la variables globales, no sé muy bien cómo debe hacerse. Seguiré probando cosas.

Gracias
__________________
Chanante!
  #8 (permalink)  
Antiguo 07/07/2008, 13:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Variables externas

Código PHP:
<?php 
//DATOS
$localhost="localhost";
$usuario="miusuario";
$clave="miclave";
$basededatos="mibd";
$tabla="cliente";
//
function conectarse() 

   global 
$localhost;
   global 
$usuario;
   global 
$clave;
   global 
$basededatos;
   if (!(
$link=mysql_connect($localhost,$usuario,$clave))) 
   { 
      echo 
"Error conectando a la base de datos."
      exit(); 
   } 
   if (!
mysql_select_db($basededatos,$link)) 
   { 
      echo 
"Error seleccionando la base de datos."
      exit(); 
   } 
   return 
$link

?>
Saludos.
  #9 (permalink)  
Antiguo 08/07/2008, 00:11
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Respuesta: Variables externas

Pues empieza a funcionar, muchas gracias!!
__________________
Chanante!
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:04.