login y bienvenido

Iniciado por pajaras, 13 Septiembre 2010, 20:48 PM

0 Miembros y 1 Visitante están viendo este tema.

pajaras

Hola a todos/as. La cuestión es la siguiente:
Cuando un usuario se registra lo guardo en una base de datos, luego cuando se loguea quiero que se redireccione a otra pagina y ponga:

Bienvenido, NICK!

este nick debe de coincidir con el nick de la persona que se ha logueado y que tengo en la base de datos, no lo consigo hacer funcionar, alguna ayuda?

gracias, el pajaras

Shell Root

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

pajaras

Hola shellroot, lo estoy haciendo con dreamweaver, tengo la pagina de login.php y cuando es correcto lo redirecciona a login_succed.php En esta ultima pagina he creado una variable de sesion detras de bienvenido, pero no me funciona, tambien lo e intentado con cookies, pero no lo consigo hacer. De codigo entinendo pero no demasiado, que codigo quieres el de juego de registro?

gracias

PD: quisiera crear un juego de registro en login_succed.php e insertar la variable apodo detras de bienvenido.
este apodo lo puedo obtener del userID y podria pasar el userID de una pagina a otra, pero como? URL?

Shell Root

Lo que tengas de login y para mostrar el nick, diferenciando cada pagina porfavor.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

pajaras

login:

<?php require_once('Connections/conn_eeibairsoft.php'); ?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['apodo'])) {
  $loginUsername=$_POST['apodo'];
  $password=$_POST['pwd'];
  $MM_fldUserAuthorization = "userGroup";
  $MM_redirectLoginSuccess = "login_succed.php";
  $MM_redirectLoginFailed = "login_failed.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_conn_eeibairsoft, $conn_eeibairsoft);
     
  $LoginRS__query=sprintf("SELECT apodo_nick, pwd, userGroup FROM tbl_users WHERE apodo_nick='%s' AND pwd='%s'",
  get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
   
  $LoginRS = mysql_query($LoginRS__query, $conn_eeibairsoft) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
   
    $loginStrGroup  = mysql_result($LoginRS,0,'userGroup');
   
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;        

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];   
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>



login_succed.php :
<?php require_once('Connections/conn_eeibairsoft.php'); ?>
<?php
$colname_rs_loginsucced = "-1";
if (isset($_GET['userID'])) {
  $colname_rs_loginsucced = (get_magic_quotes_gpc()) ? $_GET['userID'] : addslashes($_GET['userID']);
}
mysql_select_db($database_conn_eeibairsoft, $conn_eeibairsoft);
$query_rs_loginsucced = sprintf("SELECT userID, username, pwd, apodo_nick FROM tbl_users WHERE userID = %s", $colname_rs_loginsucced);
$rs_loginsucced = mysql_query($query_rs_loginsucced, $conn_eeibairsoft) or die(mysql_error());
$row_rs_loginsucced = mysql_fetch_assoc($rs_loginsucced);
$totalRows_rs_loginsucced = mysql_num_rows($rs_loginsucced);


?>

Shell Root

#5
Ok, cuando se ejecuta correctamente y se inserta el usuario en la base de datos, podes usar la siguiente función para retomar el nick que puso en el registro.

Código (php) [Seleccionar]

function fCallNick($sID){
 $sSQL = 'SELECT sNick FROM tblusers WHERE(sID ='.$sID.')';
 $sQuery = mysql_query($sSQL);
 if($sQuery){
   $sResult = mysql_fetch_array($sQuery);
   return $sResult[0];
 }else{
   return mysql_error();
 }
}#jejeje creo que así, ando leyendo un libro de porno y no esque este muy concentrado en estó.


El retorno de la función, la guardas en una SESSION o COOKIE,
Código (php) [Seleccionar]
SESSION['sNick'] = fCallNick('001');
para despues mostrarla en el otro archivo.
Código (php) [Seleccionar]
echo SESSION['sNick'];
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

~ Yoya ~

#6
Bueno, te explico con un ejemplo de como lo podrías hacer...

Login.php
Código (php) [Seleccionar]

<?php
session_start
();
/*$connecion = mysql_connect('127.0.0.1', 'root', 'pass');
mysql_select_db('ejemplo', $connecion);*/


$user 'admin';
$pass 'hola';

$sql printf("select user, pass from login where user='%s' AND pass='%s'"mysql_real_escape_string($user), mysql_real_escape_string($pass));//Costumbre xD
if(mysql_query($sql){
$_SESSION['user'] = $user;

//Aqui el header para redireccion
}

?>


login_succed.php
Código (php) [Seleccionar]
<?php
session_start
();
if(!isset(
$_SESSION['user'])){
exit;
//Si no esta definida la session user, finalizamos el script
}

//Aunque bueno, esto no es necesario, ya que si existe la session user, es porque 
//Te haz logueado correctamente y nose porque lo quieres ocupar
$sql printf("select user from login where user='%s'"mysql_real_escape_string($_SESSION['user']));

if(
mysql_query($sql){
echo 
"Bienvenido ".$_SESSION['user'];
}

?>
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.