Foros del Web » Programando para Internet » PHP »

Acceso a la BD

Estas en el tema de Acceso a la BD en el foro de PHP en Foros del Web. Hola, tengo esta comanda para acceder a la bd: Código PHP: @ $db_link  =  mysql_connect ( "localhost" ,  "$PHP_AUTH_USER" ,  "$PHP_AUTH_PW" )  el tema es ...
  #1 (permalink)  
Antiguo 17/12/2007, 05:29
 
Fecha de Ingreso: diciembre-2007
Mensajes: 41
Antigüedad: 16 años, 4 meses
Puntos: 0
Acceso a la BD

Hola,
tengo esta comanda para acceder a la bd:

Código PHP:
@$db_link mysql_connect("localhost""$PHP_AUTH_USER""$PHP_AUTH_PW"
el tema es que ese user y ese pass son unicos y estan editados en el config del php. He agregado usuarios con todos los privilegios con el phpadmin y no me deja conectarme a la bd con esos usuarios, y claro, me gustaria poder hacerlo para administrar más usuarios y asignarles los debidos privilegios pero solo me deja con uno.

Porque me pasa estos?

Gracias.
  #2 (permalink)  
Antiguo 17/12/2007, 09:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Acceso a la BD

Prueba cambiar $PHP_AUTH_USER por $_SERVER['PHP_AUTH_USER'].

Saludos.
  #3 (permalink)  
Antiguo 17/12/2007, 10:25
 
Fecha de Ingreso: diciembre-2007
Mensajes: 41
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Acceso a la BD

Gracias.
No me funciona.
Al principio del codigo tengo
Código PHP:
$PHP_AUTH_USER $_POST['PHP_AUTH_USER']; 
i entonces me manejo con $PHP_AUTH_USER
He intentado que el ordenador me muestre por pantalla diferentes valores:
Código PHP:
  echo $_SERVER['PHP_AUTH_USER'];
  echo 
$PHP_AUTH_USER;
  echo 
$_SERVER[$PHP_AUTH_USER]; 
Como soy bastante novato he probado de varias maneras pero la unica que funciona es echo $PHP_AUTH_USER

Quiza no tiene nada que ver con lo que tengo que hacer pero no me funciona.

Gracias.
  #4 (permalink)  
Antiguo 17/12/2007, 12:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Acceso a la BD

$PHP_AUTH_USER es una variable reservada de PHP que se levanta cuando haces un login con un realm (HTTP 401), si estas usando un formulario con $_POST cambia el nombre a la variable por otra cosa como $auth_user y $auth_pass.

Saludos.
  #5 (permalink)  
Antiguo 18/12/2007, 02:46
 
Fecha de Ingreso: diciembre-2007
Mensajes: 41
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Acceso a la BD

Tras la recomendación, hago lo siguiente:

$auth_user = $_POST['PHP_AUTH_USER'];

Ahora entonces tengo esto:

if (@$db_link = mysql_connect("localhost", $_SERVER[$auth_user], $_SERVER[$auth_pw]))

Pero tampoco me funciona...
Quiza es por las comillas y demas (que me hago un lio con tantos tipos de lenguajes de programación) o entendí mal.
Gracias.
  #6 (permalink)  
Antiguo 18/12/2007, 02:55
 
Fecha de Ingreso: diciembre-2007
Mensajes: 41
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Acceso a la BD

Indagando por internet he encontrado esto:

Código PHP:
<?php
echo "<pre>";
print_r($_SERVER);
echo 
"</pre>";
?>
Lo cual me ha devuelto:


Array
(
[HTTP_HOST] => localhost
[HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
[HTTP_ACCEPT] => text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
[HTTP_ACCEPT_LANGUAGE] => es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
[HTTP_ACCEPT_ENCODING] => gzip,deflate
[HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7
[HTTP_KEEP_ALIVE] => 300
[HTTP_CONNECTION] => keep-alive
[HTTP_REFERER] => http://localhost/xampp/pagweb/
[CONTENT_TYPE] => application/x-www-form-urlencoded
[CONTENT_LENGTH] => 33
[PATH] => C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32 \Wbem
[SystemRoot] => C:\WINDOWS
[COMSPEC] => C:\WINDOWS\system32\cmd.exe
[PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
[WINDIR] => C:\WINDOWS
[SERVER_SIGNATURE] =>
Apache/2.2.4 (Win32) DAV/2 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_autoindex_color PHP/5.2.3 Server at localhost Port 80


[SERVER_SOFTWARE] => Apache/2.2.4 (Win32) DAV/2 mod_ssl/2.2.4 OpenSSL/0.9.8e mod_autoindex_color PHP/5.2.3
[SERVER_NAME] => localhost
[SERVER_ADDR] => 127.0.0.1
[SERVER_PORT] => 80
[REMOTE_ADDR] => 127.0.0.1
[DOCUMENT_ROOT] => C:/xampp/htdocs
[SERVER_ADMIN] => admin@localhost
[SCRIPT_FILENAME] => C:/xampp/htdocs/xampp/PagWeb/seguridad.php
[REMOTE_PORT] => 1674
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => POST
[QUERY_STRING] =>
[REQUEST_URI] => /xampp/pagweb/seguridad.php
[SCRIPT_NAME] => /xampp/pagweb/seguridad.php
[PHP_SELF] => /xampp/pagweb/seguridad.php
[REQUEST_TIME] => 1197967893
[argv] => Array
(
)

[argc] => 0
)




Aquí veo que cuando inicio el script seguridad.php, $_SERVER no tiene ningun valor del tipo $PHP_AUTH_USER ni nada por el estilo. El valor se lo paso por POST des de un formulario así:

Código PHP:
<form name=auth method="post" action="seguridad.php">

<
b>user: </b><input type="user" name="PHP_AUTH_USER" style="border:1px solid black;" /><br /><br />
<
b>pass: </b><input name="PHP_AUTH_PW" type="password" style="border:1px solid black;" /><br />
<
br />
<
center>
<
input type="submit" value="login" style="border:1px solid black;"/>
</
center>
</
form
Nose quien me dijo que era un arduo camino lo del php... y desde luego tiene razón ;)
Gracias.
  #7 (permalink)  
Antiguo 18/12/2007, 09:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Acceso a la BD

Como te comente PHP_AUTH_USER y PHP_AUTH_PASSWD son variables RESERVADAS de php, necesitas cambiar el nombre de tus variables para que tu sistema funcione, y cuando vayas a conectarte con la base de datos hazlo directamente:

Código PHP:
if (@$db_link mysql_connect("localhost"$user_variable$passwd_variable)) 
No uses $_SERVER ya que esa variable es un arreglo reservado de PHP.

Saludos.
  #8 (permalink)  
Antiguo 18/12/2007, 13:20
 
Fecha de Ingreso: diciembre-2007
Mensajes: 41
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Acceso a la BD

Gracias! ya va ;)
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 23:55.