Ajuda - Busca - Membros - Calendário
Versão Completa: (Resolvido) Chamar usuario ?id=....
Fórum Script Brasil > Programação & Desenvolvimento > PHP
Mateus Conti
Como que eu faço para chamar o usuario tipw assim...

Eu já tenho meu cadastro ai quando eu entrar no perfil, com o login e a senha o link fikar referente ao meu usuario cadastrado tipw no link aparecer... localhost/wamp/thinga/Perfil.php ai eu quero que apareca o chamado de cada usuario que ficaria assim

localhost/wamp/thinga/Perfil.php?id=22

No caso ai seria o usuario cadastrado com id 22, eu queria saber como eu coloko isso pois quando eu me conecto com meu usuario ele so aparece somente

localhost/wamp/thinga/Perfil.php

Pois ai não tem como por exemplo eu fazer a alteração de dados porque não ta especificando o usuario ( id ) que estou logado, somente que eu entrei na pagina com um usuario só não mostra qual usuario, espero que tenham entendido minha duvida obrigaod
Renato Penna
Quando você se loga, na página que verifica se usuário e senha estão corretos, você coloca que em caso de estar tudo certo você põe:

CODE
$str_sql="SELECT id FROM usuarios WHERE login = '".$_POST["login"]."' AND password = '".$_POST["password"]."'";
$sql = mysql_query($str_sql) or die(mysql_error());
$id = mysql_result($sql,0,"id");
header("Location: Perfil.php?id=".$id);
Mateus Conti
QUOTE(Renato Penna @ 10/05/2012 - 14:20) *
Quando você se loga, na página que verifica se usuário e senha estão corretos, você coloca que em caso de estar tudo certo você põe:

CODE
$str_sql="SELECT id FROM usuarios WHERE login = '".$_POST["login"]."' AND password = '".$_POST["password"]."'";
$sql = mysql_query($str_sql) or die(mysql_error());
$id = mysql_result($sql,0,"id");
header("Location: Perfil.php?id=".$id);


Chegando em casa vou testar imediantamente, putz tomara que de certo quebrei cabeça pra faze isso e for tão simples assim vo agradece muito biggrin.gif
Mateus Conti
CODE
<?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['usu_login'])) {
  $loginUsername=$_POST['usu_login'];
  $password=$_POST['usu_senha'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "Perfil/Perfil.php";
  $MM_redirectLoginFailed = "Sistema_login/erro.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_loginsenha, $loginsenha);
  
  $LoginRS__query=sprintf("SELECT usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
    
  
  $LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //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 );
  }
}
?>


Renato tem como você colokar o codigo pra mim ai...

eu coloquei mais não deu certo então deixei como tava antes

ve se você consegue

Agradeço..

O meu banco de dados é usuarios e contem usu_senha e usu_login
Mateus Conti
?

alguém pode ve isso
JaguA
Velho você precisa prestar mais atenção no código ou explica melhor o que quer... mas pelo o que eu entendi é que quando o usuario logar no sistema ele se redirecionando a pagina de perfil dele. então o código ficaria assim

olha eu montei de forma que eu creio que o seu campo ID chame usu_id se for so ID altere e observe onde que tive que deixar os campos para que funcionasse não adianta quere determina o ID do usuario antes da SELECT

CODE
<?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['usu_login'])) {
  $loginUsername=$_POST['usu_login'];
  $password=$_POST['usu_senha'];
  $MM_fldUserAuthorization = "";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_loginsenha, $loginsenha);
  
  $LoginRS__query=sprintf("SELECT usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
    
  
  $LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  $LoginRow = mysql_fetch_row($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    $MM_redirectLoginSuccess = "Perfil/Perfil.php?id=".$LoginRow['usu_id']."";
    $MM_redirectLoginFailed = "Sistema_login/erro.php";
    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //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 );
  }
}
?>
Mateus Conti
Agora ele ta chamando, ta aparecendo com campo

localhost/wamp/thinga/Perfil.php?id=

Só que ele não ta aparecendo o numero do id do usuario

só aparece assim

CODE
localhost/wamp/thinga/Perfil.php?id=


Sem numero de usuario
JaguA
Como eu disse no tópico anterior eu não sei a estrutura do seu BANCO DE DADOS então é muitissimo provavel que o campo ID que eu coloquei está errado...

verifica o nome do campo da ID no seu banco e coloque o nome correto la na variavel...

tenho 99% de certeza que é esse o problema...

qualquer coisa so fala.
Mateus Conti
QUOTE(JaguA @ 14/05/2012 - 12:22) *
Como eu disse no tópico anterior eu não sei a estrutura do seu BANCO DE DADOS então é muitissimo provavel que o campo ID que eu coloquei está errado...

verifica o nome do campo da ID no seu banco e coloque o nome correto la na variavel...

tenho 99% de certeza que é esse o problema...

qualquer coisa so fala.



Então no meu banco de dados é usu_id .

Banco de dados " nivel_acesso " - tabela " usuarios " que contem, "usu_id, usu_login, usu_senha, usu_nome, usu_sobrenome, usu_cidade, usu_estado e usu_pais"
JaguA
Já achei o erro e eu não havia visto...

la na variavel

CODE
$LoginRS__query=sprintf("SELECT usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));


SELECT usu_login, usu_senha

ele não faz o select do ID...
Mateus Conti
QUOTE(JaguA @ 14/05/2012 - 15:33) *
Já achei o erro e eu não havia visto...

la na variavel

CODE
$LoginRS__query=sprintf("SELECT usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));


SELECT usu_login, usu_senha

ele não faz o select do ID...



Verdade... Bom eu fis a alteração, acresentei o usu_id mais ainda não ta dando da uma olhada se tem alguma coisa de errado ou se falta alguma coisa

CODE
<?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['usu_login'])) {
  $loginUsername=$_POST['usu_login'];
  $password=sha1($_POST['usu_senha']);
  $MM_fldUserAuthorization = "usu_id";
  $MM_redirectLoginSuccess = "Perfil/Perfil.php?id=".$LoginRow['usu_id']."";
  $MM_redirectLoginFailed = "Sistema_login/erro.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_loginsenha, $loginsenha);
      
  $LoginRS__query=sprintf("SELECT usu_login, usu_senha, usu_id FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
  GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  
  $LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
    
    $loginStrGroup  = mysql_result($LoginRS,0,'usu_id');
    
    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //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 );
  }
}
?>
Mateus Conti
Opa pera ai parece q deu biggrin.gif

Eu coloquei

CODE
$MM_redirectLoginSuccess = "Perfil/Perfil.php?id=".$MM_fldUserAuthorization ['usu_id']."";


Só que eu não sei se ta certo mais quando eu entro

invez dele aparecer o id do usuario ele aparece assim

http://localhost/weylife/Perfil/Perfil.php?id=u

Só que quando eu vou no campo que eu criei " alterar senha "

ai ele aparece certo

http://localhost/weylife/Perfil/Perfil.php?id=61

Oque você me fala
JaguA
tenta assim

CODE
<?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['usu_login'])) {
  $loginUsername=$_POST['usu_login'];
  $password=sha1($_POST['usu_senha']);
    mysql_select_db($database_loginsenha, $loginsenha);
      
  $LoginRS__query=sprintf("SELECT usu_id, usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
  GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  
  $LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
    
    $loginStrGroup  = mysql_result($LoginRS,0,'usu_id');
    
    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;
  
  $LoginRow = mysql_fetch_row($LoginRS);
  $MM_fldUserAuthorization = "usu_id";
  $MM_redirectLoginSuccess = "Perfil/Perfil.php?id=".$LoginRow['usu_id']."";
  $MM_redirectLoginFailed = "Sistema_login/erro.php";
  $MM_redirecttoReferrer = false;
          

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
Mateus Conti
QUOTE(JaguA @ 15/05/2012 - 15:33) *
tenta assim

CODE
<?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['usu_login'])) {
  $loginUsername=$_POST['usu_login'];
  $password=sha1($_POST['usu_senha']);
    mysql_select_db($database_loginsenha, $loginsenha);
      
  $LoginRS__query=sprintf("SELECT usu_id, usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
  GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  
  $LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
    
    $loginStrGroup  = mysql_result($LoginRS,0,'usu_id');
    
    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;
  
  $LoginRow = mysql_fetch_row($LoginRS);
  $MM_fldUserAuthorization = "usu_id";
  $MM_redirectLoginSuccess = "Perfil/Perfil.php?id=".$LoginRow['usu_id']."";
  $MM_redirectLoginFailed = "Sistema_login/erro.php";
  $MM_redirecttoReferrer = false;
          

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


Ai ele não vai puxar porque $LoginRow não contem o ID, é o $MM_fldUserAuthorization

Ai ele puxa o ID, só q ta puxando como ?id=u , e não sei se ta certo ou errado mais ta puxando alguma coisa
JaguA
Você tentou esse código ? por que eu acrescentei uma linah de código nele foi por isso que eu dexei $LoginRow['usu_id'] fiz a meu modo para ve se resolvia.
Mateus Conti
QUOTE(JaguA @ 17/05/2012 - 01:54) *
Você tentou esse código ? por que eu acrescentei uma linah de código nele foi por isso que eu dexei $LoginRow['usu_id'] fiz a meu modo para ve se resolvia.



Vou tentar...

Mais não sei porque quando eu coloquei ese codigo ele puxou só que não deu nem um id,

deu ?id=

Sem nada...

Mais eu testo e falo para você mais tarde
JaguA
é por que tinha um outro erro que eu não tinha visto.
Mateus Conti
QUOTE(JaguA @ 17/05/2012 - 12:52) *
é por que tinha um outro erro que eu não tinha visto.



com a sua config. não ta aparecendo nem um id
JaguA
Tirei o LoginRow, e to usando o select que já exite dentro deste script.
tenta ae.
CODE
<?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['usu_login'])) {
  $loginUsername=$_POST['usu_login'];
  $password=sha1($_POST['usu_senha']);
    mysql_select_db($database_loginsenha, $loginsenha);
      
  $LoginRS__query=sprintf("SELECT usu_id, usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
  GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  
  $LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
    
    $loginStrGroup  = mysql_result($LoginRS,0,'usu_id');
    
    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;
  
  $MM_fldUserAuthorization = "usu_id";
  $MM_redirectLoginSuccess = "Perfil/Perfil.php?id=$loginStrGroup";
  $MM_redirectLoginFailed = "Sistema_login/erro.php";
  $MM_redirecttoReferrer = false;
          

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
Mateus Conti
QUOTE(JaguA @ 19/05/2012 - 09:48) *
Tirei o LoginRow, e to usando o select que já exite dentro deste script.
tenta ae.
CODE
<?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['usu_login'])) {
  $loginUsername=$_POST['usu_login'];
  $password=sha1($_POST['usu_senha']);
    mysql_select_db($database_loginsenha, $loginsenha);
      
  $LoginRS__query=sprintf("SELECT usu_id, usu_login, usu_senha FROM usuarios WHERE usu_login=%s AND usu_senha=%s",
  GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
  
  $LoginRS = mysql_query($LoginRS__query, $loginsenha) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
    
    $loginStrGroup  = mysql_result($LoginRS,0,'usu_id');
    
    if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;
  
  $MM_fldUserAuthorization = "usu_id";
  $MM_redirectLoginSuccess = "Perfil/Perfil.php?id=$loginStrGroup";
  $MM_redirectLoginFailed = "Sistema_login/erro.php";
  $MM_redirecttoReferrer = false;
          

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




EU TE AMO JAGUA biggrin.gifbiggrin.gif:D:D:D:biggrin.gifbiggrin.gif:D:D



DEU CERTO, nOSSAAA

Obrigado 10000000000000000000000000000000000000000 vezes rs

você fiko comigo até eu conseguir nossa rs vlw mesmo desculpa a expressao de amor mais fiquei contente agora kkkk

deu certinho

CODE
http://localhost/weylife/Perfil/Perfil.php?id=63
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2013 Invision Power Services, Inc.