Ayuda con PCU
#1

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
Reply
#2

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.
Reply
#3

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 &copy Xabi</p><p>Diseсo realizado por &copy Ninoecf</p>		</div>	</body></html>
Reply
#4

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.
Reply
#5

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.
Reply
#6

vBulletin no encripta la contraseсa de esa forma, la forma correcta es: md5(password + salt), es decir: md5($password . $row["salt"]).
Reply
#7

ї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.
Reply
#8

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
Reply
#9

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.
Reply
#10

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.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)