Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Alteração de perfil de usuário


D31v1d1

Pergunta

Bom dia, estou com um problema estranho alguém pode me ajudar?

Uso o wamp para fazer os teste locais e local funcionou perfeitamente, mas quando coloquei no ar aconteceu o seguinte problema, tenho uma tela para que seja feita alteração nos dados dos usuários cadastrados a pagina _editar.php, ela busca os campos cadastrados e mostra na tela

_editar.php

<?php

$ideditar = $_GET['i'];

//Verificador da sessão
require("inc/_verifica_admin.php");

//Verificador da sessão
require("inc/_verifica.php");

//Conecta ao banco
require("inc/conecta.inc");

//Seleciona todos os campos da tabela usuarios e apresenta
$consulta = "SELECT id, data, nome, login, senha, empresa, site, nivel, email FROM usuarios WHERE id = '$ideditar'";
$resultado = mysql_query($consulta,$conexao) or die( mysql_error());

while ($linha = mysql_fetch_row($resultado)) {

    $id = $linha[0];

    //Pega a data 
    $data = date("Y-m-d");
    
    $nome = $linha[2];
    $login = $linha[3];
    $senha = $linha[4];    
    $empresa = $linha[5];    
    $site = $linha[6];    
    $nivel = $linha[7];
    $email = $linha[8];
    
};

//Formata o campo data
$ndata = explode("-",$data);
$novadata = $ndata[2]."/".$ndata[1]."/".$ndata[0];

?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body>

<body>
<form id="form1" name="form1" method="post" action="?inc=usuarios/_alterar_admin&id=<?php echo $id; ?>">
  <table width="800" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td width="99" rowspan="14">&nbsp;</td>
      <td colspan="3">&nbsp;</td>
      <td width="99" rowspan="14">&nbsp;</td>
    </tr>
    <tr>
      <td height="21" align="right" class="form_escuro">Data&nbsp;&nbsp;</td>
      <td height="21" colspan="2" align="left"><label id="datau" /><?php echo $novadata; ?></label></td>
    </tr>
    <tr>
      <td height="21" width="82" align="right" class="form_escuro">* Nome&nbsp;&nbsp;</td>
      <td height="21" colspan="2" align="left"><input name="nomeu" type="text" id="nomeu" value="<?php echo $nome; ?>" class="entrada" /></td>
    </tr>
    <tr>
      <td width="263" height="12" align="right" class="form_escuro">E-mail&nbsp;&nbsp;</td>
      <td height="21" colspan="2" align="left"><input name="emailu" type="text" id="emailu" value="<?php echo $email; ?>" class="entrada" /></td>
    </tr>    
    <tr>
      <td height="21" width="82" align="right" class="form_escuro">* Login&nbsp;&nbsp;</td>
      <td height="21" colspan="2" align="left"><input name="loginu" type="text" id="loginu" value="<?php echo $login; ?>" class="entrada" /></td>
    </tr>
    <tr>
      <td height="21" width="82" align="right" class="form_escuro">* Senha&nbsp;&nbsp;</td>
      <td height="21" colspan="2" align="left"><input name="senhau" type="password" id="senhau" value="<?php echo $senha; ?>" class="entrada" /></td>
    </tr>        
    <tr>
      <td height="21" align="right" class="form_escuro">Empresa&nbsp;&nbsp;</td>
      <td height="21" colspan="2" align="left"><input name="empresau" type="text" id="empresau" value="<?php echo $empresa; ?>" class="entrada" /></td>
    </tr>
    <tr>
      <td height="21" align="right" class="form_escuro">Site&nbsp;&nbsp;</td>
      <td height="10" colspan="2" align="left"><input name="siteu" type="text" id="siteu" value="<?php echo $site; ?>" class="entrada" /></td>
    </tr>
    <tr>
      <td height="21" align="right" class="form_escuro">Nível&nbsp;&nbsp;</td>
      <td height="21" colspan="2" align="left"><select name="nivelu" class="entrada">
        <option value="<?php echo $nivel; ?>"><?php echo "Nível atual: $nivel"; ?></option>
        <option value="1">Nível 1 (Administrador)</option>
        <option value="2">Nível 2 (Usuário)</option>
  </select></td>
    </tr>
    <tr>
      <td height="10" colspan="3">&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td width="78" align="left"><label><input name="cadastrar" type="submit" id="cadastrar" value="Enviar" class="bt" /></label></td>
      <td width="442" align="left"><input name="cancelar" style="cursor: default;" id="cancelar" value="Cancelar" class="bt" onClick="history.back()" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="2">&nbsp;</td>
    </tr>
  </table>
</form>
</body>
</html>
ao chamar a tela _alterar_admin.php pega os campos enviados e faz um update no banco com os dados fornecidos na tela _editar.php _alterar_admin.php
<?php 

//Se os campos Nome, Login, Senha e E-mail foram deixados vazio ele não grava e manda uma mensagem de erro
if($_POST["nomeu"] == "" || $_POST["loginu"] == "" || $_POST["senhau"] == "" || $_POST["emailu"] == ""){
        header("Location: _index2.php?b=1&inc=_erro&erro=6");
} else {

//Se o campo nivel foi deixado vazio, é apresentado uma mensagem de erro
if ($_POST["nivelu"] == "") {
        header("Location: _index2.php?b=1&inc=_erro&erro=2");
        exit;
    } else {

//Senão ele continua e grava a alteração

//Pega o id do usuário
$idedit = $_GET["id"];

//Pega a data na hora da gravação e guarda na variável $data
$data = date("Y-m-d");

$nome = $_POST["nomeu"];
$login = $_POST["loginu"];
$senha = $_POST["senhau"];
$empresa = $_POST["empresau"];
$site = $_POST["siteu"];
$nivel = $_POST["nivelu"];
$email = $_POST["emailu"];

//Conecta ao banco
require("inc/conecta.inc");

$update = mysql_query("UPDATE usuarios SET
                    data = '".$data."',
                    nome = '".$nome."',
                    login = '".$login."',
                    senha = md5('".$senha."'),
                    empresa = '".$empresa."',
                    site = '".$site."',
                    nivel = '".$nivel."',
                    email = '".$email."'
                    WHERE id =" .$idedit);
            
mysql_query($update,$conexao);

mysql_close($conexao);

    };
};

?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<table width="800" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td align="center"><br /><br /><br /><br /><br /><img src="images/usuario.png" width="64" heigth="64" alt="" title="Alteração de Cadastro" /></td>
  </tr>
  <tr>
    <td align="center" class="titulo_noticia">Alteração realizada com sucesso!</p><br /><br /></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td align="center"><a href='_index2.php?b=1&inc=_principal'>Voltar para página inicial</a> - <a href='_index2.php?b=1&inc=usuarios/_lista_usuarios'>Visualizar usuários</a><br />
      <br /><br /><br /><br /><br /><br /><br /></td>
  </tr>
</table>

é ai que o problema está acontecendo ao fazer a alteração o sistema loga automaticamente com o usuário alterado

o estranho é que local funcionou sem nenhum erro ;)

Agradeço a ajuda e até!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Se register_globals estiver ativada (e no servidor provavelmente está), então sempre que você criar uma variável com o mesmo nome de uma sessão, a sessão passará a ter o mesmo valor da variável.

<?php
session_start();

$_SESSION['teste'] = 'EEEE';

$teste = 'AAAA';

echo $_SESSION['teste'];
?>

Em um servidor com register_globals desligado irá imprimier EEEE, se estiver ligado irá imprimir AAAA....

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...