Leandromx 0 Denunciar post Postado Novembro 9, 2007 Oi pessoal Bom dia, Bom deixa eu explicar, esses dias eu postei aqui mas acho que eu não soube explicar. procurei no forum e não achei o que queria... Eu preciso fazer o seguinte. O usuário LOGA NO SITE. Quando ele estiver logado terá a opção - ALTERAR DADOS. Ele mesmo pode fazer essa alteração dos dados cadastrais dele entendeu? Eu não sei como faz isso, só sei fazer pegando a ID e alterar ( aquilo que todos sabem). Alguém poderia me dar uma força nesse requisito??? Compartilhar este post Link para o post Compartilhar em outros sites
GuttoSP 2 Denunciar post Postado Novembro 9, 2007 - Quando o usuário efetuar login, crie uma sessão com a ID do mesmo; - Faça um select no BD usando como critério o valor da sessão; - Crie um formulário que exiba os dados do usuário para edição - Ao enviar os dados, faça um update usando novamente como critério o valor da sessão. Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Novembro 9, 2007 Oi Gutto, Então fazer o login eu faço tranquilo, sei até fazer aparecer. "Bem vindo NOME DO LOGADO." Eu preciso saber como faço para quando ele clicar em alterar os dados trazer no formulário os dados dele. Eu sei fazer somente pegando a ID mas com session eu já não sei. Poderia me ajudar?? Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Novembro 9, 2007 Tipo se você estiver utilizando SESSION basta apenas você criar uma variavel de sessão com a ID dele e dai na hora de alterar os dados você pega o ID que esta nessa sua variavel de sessão... Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Novembro 9, 2007 Estou utilizando Session Sim... Mas estou com dúvida na minha consulta da página alteradados não sei como ficaria utilizando sessions Compartilhar este post Link para o post Compartilhar em outros sites
GuttoSP 2 Denunciar post Postado Novembro 9, 2007 Depois de criar a sessão, faça um select. PHP $seleciona = mysql_query("SELECT * FROM tabela WHERE id = '" . $_SESSION["id"] . "'") or die (mysql_error()); Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Novembro 9, 2007 Hum.. estou fazendo já Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Novembro 9, 2007 Eu fiz um pequeno teste aqui para ver se mudo o login.. somente para teste.. Vou postar como estou fazendo.. Minha Página que restringe tudo <?php /* restritos.php */ session_start(); if (isset($_SESSION['MeuLogin'])) { $login = $_SESSION['MeuLogin']['login']; $hora = $_SESSION['MeuLogin']['hora']; $chave = "1a2cf8gk68gj67gf784kh69fo6"; // chave secreca $ip = $_SESSION['REMOTE_ADDR']; // pegando ip do usuario if ($_SESSION['MeuLogin']['chave'] != md5($login . $chave . $ip . $hora)) { // verificado se a chave é válida header("Location: login.php?erro=$login Login invalido"); } // atualizando a chave com novo horario de acesso $hora = time(); $chave = md5($login . $chave . $ip . $hora); // registrando os novos dados na session. $_SESSION['MeuLogin'] = array("id" => $codLogin,"login" => $login,"chave" => $chave,"hora" => $hora); } else { header("location: login.php?erro=Aceso restrito"); } ?> A página que loga <?php /* logar.php */ include("config.php"); session_start(); // pegando dados do formulario $login = str_replace("'","",$_POST["login"]); $senha = $_POST["senha"]; $senha = md5($senha); // verificado login no banco de dados dbcon(); $query = mysql_query("select * from login where login = '$login' and senha = '$senha'"); if (!$query) { die("Erro ao select da tabela login. Técnico:" . mysql_error()); } // verificando se encontrou registros do login e senha no banco de dados. if (mysql_num_rows($query) > 0) { $dados = mysql_fetch_array($query); // pegando dados do banco. $login = $dados["login"]; $chave = "1a2cf8gk68gj67gf784kh69fo6"; // chave secreca $ip = $_SERVER["REMOTE_ADR"]; // ip do usuario $hora = time(); // pegado horario atual. $chave = md5($login . $chave . $ip . $hora); // registrando a session com um array com o codLogin, login e a chave. $_SESSION['MeuLogin'] = array("id" => $codLogin,"login" => $login,"chave" => $chave,"hora" => $hora); // redirecionando para a pagina registrada. header("location: AreaRestrita.php"); } else { // redirecionando para o formulario de login com o erro. header("location: login.php?erro=Usuário ou senha Inválida"); } ?> Form de login <?php /* login.php */ if (isset($_GET["erro"])) { echo "<p>ERRO: " . $_GET["erro"] . "</p>"; } ?> <form action="logar.php" name="login" method="post" enctype="multipart/form-data"> <label>Login:</label><input type="text" name="login"><br /> <label>Senha:</label><input type="password" name="senha"><br /> <input type="submit" value="Conectar"> </form> Página que mostra se estiver certo o login <?php /* AreaRestrita.php */ require("restritos.php"); ?> <p> Página de acesso Registro. Bem vindo <b><? echo $login; ?></b>! <a href="logout.php">logout</a></p> <a href="alterar.dados.php">Alterar dados </a> Essa página que fiz por ultimo para alterar os dados Só fiz de teste para puxar o usuario do login para alterar <? session_start(); ?> <? mysql_connect("localhost", "root", ""); // host, login , senha mysql_select_db("login"); // nome do banco de dados $seleciona = mysql_query("SELECT * FROM login WHERE codLogin = '" . $_SESSION["login"] . "'") or die (mysql_error()); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Alterar os dados de teste</title> </head> <body> <form method="post" name="form1" action=""> <table align="center"> <tr valign="baseline"> <td nowrap align="right">Login:</td> <td><input type="text" name="login" value="<?php echo $seleciona['login']; ?>" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right"> </td> <td><input type="submit" value="Update record"></td> </tr> </table> <input type="hidden" name="MM_update" value="form1"> <input type="hidden" name="codLogin" value="<?php echo $seleciona['Login']; ?>"> </form> <p> </p> </body> </html> Não sei mais o que fazer... Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Novembro 9, 2007 Alguém poderia só me ajudar a montar a paginade alterar os dados??? Só isso... Compartilhar este post Link para o post Compartilhar em outros sites
Bruno.Jr 0 Denunciar post Postado Novembro 9, 2007 Estou atras disso tbm.. Só falta isso... Compartilhar este post Link para o post Compartilhar em outros sites
Bruno.Jr 0 Denunciar post Postado Novembro 9, 2007 Eu consegui fazer esse formulario mas não tras os dados.. Usei o Dreamweavers <?php require_once('../Connections/conecta.php'); ?> <?php function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue; switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) { $updateSQL = sprintf("UPDATE login SET login=%s, senha=%s WHERE codLogin=%s", GetSQLValueString($_POST['login'], "text"), GetSQLValueString($_POST['senha'], "text"), GetSQLValueString($_POST['codLogin'], "int")); mysql_select_db($database_conecta, $conecta); $Result1 = mysql_query($updateSQL, $conecta) or die(mysql_error()); $updateGoTo = "home.php"; if (isset($_SERVER['QUERY_STRING'])) { $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?"; $updateGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $updateGoTo)); } $colname_mudar = "-1"; if (isset($_SESSION['login'])) { $colname_mudar = (get_magic_quotes_gpc()) ? $_SESSION['login'] : addslashes($_SESSION['login']); } mysql_select_db($database_conecta, $conecta); $query_mudar = sprintf("SELECT * FROM login WHERE login = '%s'", $colname_mudar); $mudar = mysql_query($query_mudar, $conecta) or die(mysql_error()); $row_mudar = mysql_fetch_assoc($mudar); $totalRows_mudar = mysql_num_rows($mudar); ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> </head> <body> <form method="post" name="form1" action="<?php echo $editFormAction; ?>"> <table align="center"> <tr valign="baseline"> <td nowrap align="right">Login:</td> <td><input type="text" name="login" value="<?php echo $row_mudar['login']; ?>" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right">Senha:</td> <td><input type="text" name="senha" value="<?php echo $row_mudar['senha']; ?>" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right"> </td> <td><input type="submit" value="Update record"></td> </tr> </table> <input type="hidden" name="MM_update" value="form1"> <input type="hidden" name="codLogin" value="<?php echo $row_mudar['codLogin']; ?>"> </form> <p> </p> </body> </html> <?php mysql_free_result($mudar); ?> Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Novembro 9, 2007 Tbm tentei assim e não deu.... Compartilhar este post Link para o post Compartilhar em outros sites