Ayuda con PCU -
Francociancio - 19.07.2013
Buenas. Tengo un pcu, para el gamemode OSRP V2 . Pero hay un problema. Para logearte, usa los datos de un foro "vbulletin", por lo que yo ya lo he hecho y conectado el pcu con el foro. Pero, cuando intento logearme, me logea con cualquier cuenta que yo coloque, y si por ejemplo, creo una cuenta llamada "Pedro_Picapiedras" con un email, luego me logeo con cualquier otros datos, y ese personaje se ve para certificar. Hay una parte llamada "personaje.php" donde te deberнa mostrar los personajes creados con ese email, pero no, muestra todos los personajes creados y podes seleccionarlos sin problema, teniendo acceso a todos. Quisiera saber si podrнan ayudarme, desde ya muchas gracias
Respuesta: Ayuda con PCU -
Fluid016 - 19.07.2013
Publica el cуdigo donde pienses que estб el problema yo te ayudo, si es que no te borran el tema.
No tiene mucho que ver con sa-mp el script, ya que es PHP no Pawn.
Respuesta: Ayuda con PCU -
Francociancio - 19.07.2013
Espero que no lo borren, ya que necesito mucha ayuda. Mira esto, acб toma los datos del usuario del foro para poder logearte:
Код:
else if($_POST['blogin'] == "Acceder" && !empty($_POST['logincuenta']) && !empty($_POST['loginpass']))
{
$conexion = mysqli_connect($host_foro, $user_foro, $password_foro, $database_foro);
$usuario = mysqli_real_escape_string($conexion, $_POST['logincuenta']);
$password = md5($_POST['loginpass']);
$sql = "SELECT email FROM user WHERE username = '".$usuario."' AND password = '".$password."'";
if($result = mysqli_query($conexion, $sql))
{
$row = mysqli_fetch_row($result);
$_SESSION['user_logged_in'] = 1;
$_SESSION['email'] = $row[0];
$_SESSION['usuario'] = $usuario;
mysqli_close($conexion);
ob_end_clean();
header("Location: personaje.php");
}
else
{
mysqli_close($conexion);
ob_end_clean();
header("Location: index.php");
}
}
else
{
ob_end_clean();
if($_SESSION['user_logged_in'] == 1) header("Location: personaje.php");
else if($_SESSION['user_logged_in'] == 2) header("Location: estadisticas.php");
else header("Location: index.php");
}
?>
No sй si el problema estarб ahн.
Йsta es la opciуn para mostrar el personaje en "personaje.php" :
Код:
<p>Selecciona un personaje:</p> <select name='ipersonaje'> <?php include("config.php"); $conexion = mysqli_connect($host_pcu, $user_pcu, $password_pcu, $database_pcu); $email = mysqli_real_escape_string($conexion, $_SESSION['email']); $sql = "SELECT id, Nombre FROM players WHERE Email = '".$email."'"; $result = mysqli_query($conexion, $sql); while($row = mysqli_fetch_array($result)) { echo "<option value='".$row['id']."'>".$row['Nombre']."</option>"; } mysqli_close($conexion); ?> </select> <br /><br /> <input type='submit' class='but' name='bacceso' value='Acceder'> </form> </div> </div> <div id="footer"> <p>PCU creado y desarrollado por © Xabi</p><p>Diseсo realizado por © Ninoecf</p> </div> </body></html>
Respuesta: Ayuda con PCU -
Fluid016 - 19.07.2013
Pero si me decнs que loguea bien, pero muestra mal los datos, pasame donde mostras los datos no se si en personaje.php o estadisticas.php.
Eso a simple vista estб bien.
EDIT: Si editas tu respuesta y no pones la razуn o un edit (como yo) no me doy cuenta porque no entro al tema, pon el cуdigo bien
porque asн como estб no se puede visualizar ponlo entre [PHP*][/PHP*]
EDIT 2: Sabes lo que vi, utilizas "email" en el login y "Email" para mostrar los datos
En los querys, te lee la mayъscula si "email" es correcto entonces "Email" no existe y si "Email" es correcto entonces "email" no existe, fнjate como lo tienes en la base de datos con mayъscula o sin mayъscula.
Respuesta: Ayuda con PCU -
Francociancio - 19.07.2013
En la base de datos de pcu (dуnde guarda los datos del jugador en el servidor) el email estб en mayъscula, asн: "Email" y en la base de datos del foro, donde toma los datos para el logeo, estб asн "email" . Eso tiene algo que ver?. Es en "personaje.php" por que ahн muestra los personajes.
Respuesta: Ayuda con PCU -
bm0z - 19.07.2013
vBulletin no encripta la contraseсa de esa forma, la forma correcta es: md5(password + salt), es decir: md5($password . $row["salt"]).
Respuesta: Ayuda con PCU -
Francociancio - 19.07.2013
їEn quй parte decнs que debo poner eso?. Porque reemplaze esto:
PHP код:
$password = md5($_POST['loginpass']);
por esto:
PHP код:
md5($password . $row["salt"]).
pero sigue igual, se puede logear con cualquier dato, y aparece para seleccionar los personajes registrados.
Respuesta: Ayuda con PCU -
Fluid016 - 19.07.2013
Quote:
Originally Posted by Francociancio
їEn quй parte decнs que debo poner eso?. Porque reemplaze esto:
PHP код:
$password = md5($_POST['loginpass']);
por esto:
PHP код:
md5($password . $row["salt"]).
pero sigue igual, se puede logear con cualquier dato, y aparece para seleccionar los personajes registrados.
|
No sй como guarda la contraseсa vbulletin pero si es como dice йl entonces tienes que seleccionar el salt en el query tambiйn.
$sql = "SELECT email FROM user WHERE username = '".$usuario."' AND password = '".$password."'";
por:
$sql = "SELECT email,salt FROM user WHERE username = '".$usuario."' AND password = '".$password."'";
para obtener el dato de salt
Respuesta: Ayuda con PCU -
Francociancio - 20.07.2013
Pero, їustedes que tratan de hacer?, porque, yo solo quiero que se puedan logear con los datos del foro, y no con otros datos. El logeo, sirve como registro tambiйn, por ahн mismo, te da la opciуn de registrar el personaje si no tenes uno, y la posibilidad de certificar el personaje si tenes uno.
Respuesta: Ayuda con PCU -
Fluid016 - 21.07.2013
Quote:
Originally Posted by Francociancio
Pero, їustedes que tratan de hacer?, porque, yo solo quiero que se puedan logear con los datos del foro, y no con otros datos. El logeo, sirve como registro tambiйn, por ahн mismo, te da la opciуn de registrar el personaje si no tenes uno, y la posibilidad de certificar el personaje si tenes uno.
|
Amm yo tambiйn me perdi un poco, segъn no se cuanto, tienes que utilizar
PHP код:
md5($password . $row["salt"])
Y por lo que veo tienes que obtener "salt" al loguear para juntarlo con la contraseсa que ingrese el usuario de esa forma loguearб correctamente y no con cualquier datos.
Pero igual tendrнa que salir: contraseсa incorrecta o como le hayas puesto.