entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

las rutas no cargan por algun error con la conexion

recibo el siguiente mensaje cuando intento acceder o registrarme en mi formulario
aparentemente si se puede conectar al servidor pero mas abajo aparece lo contrario, la verdad que es un poco dificil de comprender, mi script de conexion esta ubicado en otra carpeta pero contiene el mismo archivo de conexion de la ruta relativa.
sin embargo si incluyo mi archivo de conexion ubicado en la carpeta
F:\xamp\htdocs\local\demo\avanzado\sistema\model\ pasandole la ruta por una url de esta manera localhost://demo/avanzado/sistema/model/conexion.php tampoco funciona y devuelve el mismo error de conexion, a este punto creo que se deba por cuestiones de rutas.

aviso que antes de poner el codigo dejare la ruta del archivo en negrita

"F:\xamp\htdocs\local\modulos\conexion.php"

<?php

$server = "localhost";
$username = "root";
$db ="test";
$conex = mysql_connect($server, $username, "");

mysql_select_db($db, $conex) or die ("Error: No se puede usar la base de datos. ".mysql_error());
echo "<h2>conexion exitosa</h2>";

?>

cuando intento logearme o registrarme recibo el siguiente error

conexion exitosa(este mensaje es mandado por el script de conexion)

Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in F:\xamp\htdocs\local\demo\avanzado\sistema\model\verificador.php on line 24

Warning: mysql_query(): A link to the server could not be established in F:\xamp\htdocs\local\demo\avanzado\sistema\model\verificador.php on line 24
Error en la query: Access denied for user ''@'localhost' (using password: NO)**

F:\xamp\htdocs\local\demo\avanzado\sistema\model\verificador.php


<body style="background-color: darkblue; color:skyblue; font-weight: bold;">

<?php

$uname = $_POST['uname'];
$pw = $_POST['password'];
$email = $_POST['email'];

$ruta_conexion = "http://localhost/modulos/conexion.php"; 
require($ruta_conexion);

// require("../model/conexion.php"); // esto si funciona

$comando = "SELECT * FROM users WHERE email ='$email' AND password ='$pw' ";

$consulta = mysql_query($comando) or die ("Error en la query: ".mysql_error()); // esta es la linea que genera el error
echo "verifica realizada";

mysql_close($conex);

?>

tampoco funciona el otro script para la registracion
tengo el mismo error en la linea 20

F:\xamp\htdocs\local\demo\avanzado\sistema\model\register.php


<body style="background-color: darkblue; color:skyblue; font-weight: bold;">

<?php

$uname    =    $_POST['uname'];
$pw       =    $_POST['pass'];
$email    =    $_POST['email'];
// $telefono =    $_POST['telefono'];
$ruta_conexion = "http://localhost/modulos/conexion.php"; 

$table = "users";

require("$ruta_conexion");

/* los siguientes lineas impide repetir registrar al mismo usuario */

$comando   = "SELECT * FROM $table WHERE email ='$email' AND name ='$uname' ";

$consulta = mysql_query($comando) or die ("Error en la query: ".mysql_error()); // linea 20

$verificador = mysql_num_rows($consulta) ;

// echo $verificador;
if ($verificador > 1)
    { 
      echo "<h1>esta email no puede ser reutilizada</h1>";
    }

/* la siguente condicion registra un nuevo usuario */
else
  {
   $sql = "INSERT INTO $table (id, name, email, password) VALUES (id, '$uname', '$email', '$pw')";

  $insertar = mysql_query($sql) or die ("Error en la query: ".mysql_error());
    echo "register succesfily!";

  }

mysql_close($conex);
?>

1 Respuesta

3votos

Leonardo-Tadei Puntos196760

Hola @steven,

no es un problema de rutas.
El mensaje de error dice que falla al ejecutar

$conex = mysql_connect($server, $username, "");

como si alguno de los 3 datos fuera incorrecto para ingresar. Luego, las demás sentencias que usan a $conex fallan, porque la conexión no está establecida.

El mensaje "conexion exitosa" va a aparecer siempre, conecte o no conecte, porque no está puesto en un IF que verifique si se realizó la conexión o no.

Revisá que con estos valores puedas ver la DB desde otro programa. Estás usando ahora:

$server = "localhost";
$username = "root";
$db ="test";

Saludos cordiales

steven comentado hace 5 días

ahora no tengo ninguna password, por eso quiero darle una pero no se con que comando se hace, no puedo hacero desde la interfaz grafica de phpmyadmin porque tengo un problema con xamp

he probado tu codigo y cuando inserto una password me devuelve error porque tengo mi servidor sin ninguna pass

steven comentado hace 5 días

sabes si es posible iniciar mi servidor mysql desde la consola, he probado hacerlo con net start mysql pero me dice que el nombre del servicio no es valido

Leonardo-Tadei comentado hace 5 días

Voy a adivinar:

no hay ninguna estructura encapsulando la conexión.

En alguna parte entre la llamada a mysql_connect() y la llamada a mysql_query(), hay un mysql_close() que cierra todo, y por eso el identificador de la conexión ya no existe.

Mis 2 centavos.

steven comentado hace 5 días

no lo se creo que es por lo que dijo @magarzon sobre las peticiones , de todos modos para que lo compruebes te vuelvo a mostrar el codigo

F:\xamp\htdocs\local\demo\avanzado\sistema\model\conexion.php


<?php

global $conex; 
$conex = mysql_connect("localhost", "root", "admin");

if($conex){
mysql_select_db("test", $conex) or die ("Error: No se puede usar la base de datos. ".mysql_error());

echo "conexion establecida";
}
?>

F:\xamp\htdocs\local\demo\avanzado\sistema\model\verificador.php

<body style="background-color: darkblue; color:skyblue; font-weight: bold;">

<?php

$uname = $_POST['uname'];
$pw = $_POST['password'];
$email = $_POST['email'];

require("http://localhost/demo/avanzado/sistema/model/conexion.php");

$comando = "SELECT * FROM users WHERE email ='$email' AND password ='$pw' ";

$consulta = mysql_query($comando, $conex) or die ("Error en la query: ".mysql_error());
if($consulta)
{echo "verifica realizada";
}

mysql_close($conex);

?>

output

**conexion establecida
Warning: mysql_query(): Access denied for user ''@'localhost' (using password: NO) in F:\xamp\htdocs\local\demo\avanzado\sistema\model\verificador.php on line 22

Warning: mysql_query(): A link to the server could not be established in F:\xamp\htdocs\local\demo\avanzado\sistema\model\verificador.php on line 22
Error en la query: Access denied for user ''@'localhost' (using password: NO)**

magarzon comentado hace 5 días

@Leonardo-Tadei es por lo que yo decía.

Nunca había trabajado con urls en los requires, pero he hecho esta prueba:

index.php:

<?php
echo 'index process id: '.getmypid().'<br/>';
require('http://localhost/test.php');

test.php:

<?php
echo 'test process id ':getmypid().'<br/>';

Y la salida que me da es esta:

index process id: 30359
test process id: 30360

Es decir, como me esperaba, es manejado por diferentes procesos, por lo que no pueden compartir variables, solo la salida.

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Actividad Reciente

  • azuriguel ganó una medalla hace 29 minutos

    Humano Verificado - Verificó su email
  • rferreras ganó una medalla hace 46 minutos

    Club de los 100 - Received total of 100 points
  • rferreras ganó una medalla hace 48 minutos

    Humano Verificado - Verificó su email
  • asantosz ganó una medalla hace 1 hora

    Club de los 100 - Received total of 100 points
  • fmaciask ganó una medalla hace 5 horas

    Humano Verificado - Verificó su email
  • ShamiiCooper preguntó hace 12 horas

    Instancia de UpdatePanel
  • ShamiiCooper ganó una medalla hace 12 horas

    Regular - Primera visita hace más de 90 días
  • test123 ganó una medalla hace 17 horas

    Club de los 100 - Received total of 100 points
  • tetete ganó una medalla hace 17 horas

    Club de los 100 - Received total of 100 points
  • Testttt ganó una medalla hace 17 horas

    Club de los 100 - Received total of 100 points

¿Eres Usuario Apple?

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta