Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

renatosilva94

Editar perfil de usuário logado e esconder link ao visitar outras pági

Recommended Posts

Novamente mais uma dúvida aqui no fórum, gostaria de saber como faço para editar o perfil do usuário LOGADO e quando ele visite a página de outra empresa ele não possa ver essas opções de edição.

 

 

<div class="edicoesEmpresa">

<div class="alinharEdicao">
<?php
$id = ($_GET['id']);
include 'edicaoCampos.php';
$linha = sobreEmpresa($id);
?>
<form name="editarSobre" action="editarPerfil2.php?id=<?php echo ($id); ?>" method="post">
<p class="branco">
<label>Sobre: </label>
<input type="text" name="sobreEmpresa1" required="required" value="<?php echo $linha['sobreEmpresa']; ?>">
</p>
<p class="branco">
<label> Endereço </label>
<input type="text" name="endereco1" required="required" value="<?php echo $linha['endereco']; ?>">
</p>
<p class="branco">
<label> Apartamento/Sala </label>
<input type="text" name="apart_sala1" required="required" value="<?php echo $linha['apart_sala']; ?>">
</p>
<p class="branco">
<label> Logradouro </label>
<input type="text" name="logradouro1" required="required" value="<?php echo $linha['logradouro']; ?>">
</p>
<p class="Editar">
<input type="submit" value="Salvar Alterações">
</p>

 

esse é o codigo da pagina que edita e na página inicial de cada uma tem isso

 

 

<a href="Classes/editarPerfil.php?id=<?php echo($linha['idusuario']); ?>"><img src="icones/editar/editarperfil.png" class="iconesperfil"> Editar Perfil </a>

<br>
<br>
<a href="cadastroServico.php?id=<?php echo($linha['idusuario']); ?>"><img src="icones/editar/cadastrarservico.png" class="iconesperfil"> Cadastrar um Serviço </a>

 

obrigado a quem puder me ajudar :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou cara :) porém estava com o problema que mudando o id na URL ele poderia editar mesmo assim, porém arrumei e agora não consigo salvar, sabe oque pode ser ?

 

 

<?php

session_start();
if($_SESSION['id'] == $_GET['id']){
include 'DAL/EmpresaDAL.php';
function sobreEmpresa($id){
$objDAL = new EmpresaDAL();
$sql = $objDAL->sobreEmpresa($_GET['id']);
$linha = mysqli_fetch_array($sql);
return $linha;
}
$linha = sobreEmpresa($id);
?>
<form name="editarSobre" action="editarPerfil2.php?id=<?php echo ($id); ?>" method="post">
<p class="branco">
<label>Sobre: </label>
<input type="text" name="sobreEmpresa1" required="required" value="<?php echo $linha['sobreEmpresa']; ?>">
</p>
<p class="branco">
<label> Endereço </label>
<input type="text" name="endereco1" required="required" value="<?php echo $linha['endereco']; ?>">
</p>
<p class="branco">
<label> Apartamento/Sala </label>
<input type="text" name="apart_sala1" required="required" value="<?php echo $linha['apart_sala']; ?>">
</p>
<p class="branco">
<label> Logradouro </label>
<input type="text" name="logradouro1" required="required" value="<?php echo $linha['logradouro']; ?>">
</p>
<p class="Editar">
<input type="submit" value="Salvar Alterações">
</p>
</form>
<?php
} else {
echo "<script>"
. " alert('Você não está autorizado a realizar está ação.');"
. " history.go(-1);"
. "</script>";
} ?>

ele DIZ que salvou , porém não efetua as mudanças


obs: eu tenho um alert na parte que salva perfil pra dizer que salvou e o erro que está dando no php é o seguinte

 

Notice: Undefined variable: id in C:\Program Files (x86)\EasyPHP-DevServer14.1VC11\data\localweb\CiaDoEventoV4\Classes\editarPerfil.php on line 59
obrigado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou logado com a EMPRESA X, ela só pode editar o perfil dela e não da EMPRESA Y como dava pra fazer antes, isso foi corrigido, porém precisava também arrumar na url para ela não poder editar

 

http://localhost/CiaDoEventoV4/Classes/editarPerfil.php?id=15

 

se eu trocasse para 14 conseguia editar, porém agora não consigo salvar pois está dizendo que a variavel ID não está definida

 

Edição de Perfil

<?php

session_start();
if($_SESSION['id'] == $_GET['id']){
include 'DAL/EmpresaDAL.php';
function sobreEmpresa($id){
$objDAL = new EmpresaDAL();
$sql = $objDAL->sobreEmpresa($_GET['id']);
$linha = mysqli_fetch_array($sql);
return $linha;
}
$linha = sobreEmpresa($id);
?>
<form name="editarSobre" action="editarPerfil2.php?id=<?php echo ($id); ?>" method="post">
<p class="branco">
<label>Sobre: </label>
<input type="text" name="sobreEmpresa1" required="required" value="<?php echo $linha['sobreEmpresa']; ?>">
</p>
<p class="branco">
<label> Endereço </label>
<input type="text" name="endereco1" required="required" value="<?php echo $linha['endereco']; ?>">
</p>
<p class="branco">
<label> Apartamento/Sala </label>
<input type="text" name="apart_sala1" required="required" value="<?php echo $linha['apart_sala']; ?>">
</p>
<p class="branco">
<label> Logradouro </label>
<input type="text" name="logradouro1" required="required" value="<?php echo $linha['logradouro']; ?>">
</p>
<p class="Editar">
<input type="submit" value="Salvar Alterações">
</p>
</form>
<?php
} else {
echo "<script>"
. " alert('Você não está autorizado a realizar está ação.');"
. " history.go(-1);"
. "</script>";
} ?>

 

Classe EmpresaDAL

public function sobreEmpresa($idusuario) {

$servidor = "localhost";
$usuarioBD = "root";
$senhaBD = "";
$banco = "ciadoevento";
$conecta = mysqli_connect($servidor, $usuarioBD, $senhaBD, $banco) or die (mysqli_errno($conecta));
$str = "SELECT * FROM usuario WHERE idusuario = " .$idusuario;
$query = mysqli_query($conecta,$str);
if($query){
return $query;
} else {
return false;
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você não usa a informação da sessão para a parte da edição?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas esse idusuario é pra poder mostrar as informações da pessoa na página de perfil usando o echo, eu preciso somente que as informações sejam salvas no banco depois de editadas... eu conseguia fazer isso antes mas com esse problema do id deu treta.


sei que não estou me expressando direito, mas tenho quase certeza que a unica alteração a ser feita é na pagina de editar o perfil

 

 

<?php

session_start();
if($_SESSION['id'] == $_GET['id']){
include 'DAL/EmpresaDAL.php';
function sobreEmpresa($id){
$objDAL = new EmpresaDAL();
$sql = $objDAL->sobreEmpresa($_GET['id']);
$linha = mysqli_fetch_array($sql);
return $linha;
}
$linha = sobreEmpresa($id);
?>
<form name="editarSobre" action="editarPerfil2.php?id=<?php echo ($id); ?>" method="post">
<p class="branco">
<label>Sobre: </label>
<input type="text" name="sobreEmpresa1" required="required" value="<?php echo $linha['sobreEmpresa']; ?>">
</p>
<p class="branco">
<label> Endereço </label>
<input type="text" name="endereco1" required="required" value="<?php echo $linha['endereco']; ?>">
</p>
<p class="branco">
<label> Apartamento/Sala </label>
<input type="text" name="apart_sala1" required="required" value="<?php echo $linha['apart_sala']; ?>">
</p>
<p class="branco">
<label> Logradouro </label>
<input type="text" name="logradouro1" required="required" value="<?php echo $linha['logradouro']; ?>">
</p>
<p class="Editar">
<input type="submit" value="Salvar Alterações">
</p>
</form>
<?php
} else {
echo "<script>"
. " alert('Você não está autorizado a realizar está ação.');"
. " history.go(-1);"
. "</script>";
} ?>

pois foi oque meu professor falou, mas não consegui tirar o resto da duvida devido ao horario, ele falou "tu precisa fazer a mesma coisa que tu fez na página de perfil empresas, com algumas alterações.

Foi isso que eu fiz no perfil empresa

 

 

<?php

include 'Classes/DAL/EmpresaDAL.php';
$objDAL = new EmpresaDAL();
$sql = $objDAL->sobreEmpresa($_GET['id']);
$linha = mysqli_fetch_array($sql);
if($_SESSION['id'] == $_GET['id']){
?>
<a href="Classes/editarPerfil.php?id=<?php echo($linha['idusuario']); ?>"><img src="icones/editar/editarperfil.png" class="iconesperfil"> Editar Perfil </a>
<br>
<br>
<a href="cadastroServico.php?id=<?php echo($linha['idusuario']); ?>"><img src="icones/editar/cadastrarservico.png" class="iconesperfil"> Cadastrar um Serviço </a>
<?php
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa a cabeça, se a pessoa poderá editar apenas os próprio dados, porque não utilizar o id que já está na sessão? É a coisa mais óbvia...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

<?php

include 'Classes/DAL/EmpresaDAL.php';
$objDAL = new EmpresaDAL();
$sql = $objDAL->sobreEmpresa($_GET['id']);
$linha = mysqli_fetch_array($sql);
if($_SESSION['id'] == $_GET['id']){
?>
<form name="editarSobre" action="Classes/editarPerfil2.php?id=<?php echo ($id); ?>" method="post">
<p class="branco">
<label>Sobre: </label>
<input type="text" name="sobreEmpresa1" required="required" value="<?php echo $linha['sobreEmpresa']; ?>">
</p>
<p class="branco">
<label> Endereço </label>
<input type="text" name="endereco1" required="required" value="<?php echo $linha['endereco']; ?>">
</p>
<p class="branco">
<label> Apartamento/Sala </label>
<input type="text" name="apart_sala1" required="required" value="<?php echo $linha['apart_sala']; ?>">
</p>
<p class="branco">
<label> Logradouro </label>
<input type="text" name="logradouro1" required="required" value="<?php echo $linha['logradouro']; ?>">
</p>
<p class="Editar">
<input type="submit" value="Salvar Alterações">
</p>
</form>
<?php
} else {
echo "<script>"
. " alert('Você não está autorizado a realizar está ação.');"
. " history.go(-1);"
. "</script>";
}?>

 

Nenhum erro, porém ele não grava no banco agora...

ultima forma, tem um erro sim quando inspeciona o elemento...

consegui pessoal, obrigado pela ajuda de todos, faltava só uma variavel ID asudhsudsahduashdu

aqui está o código para quem estava com a mesma duvida que eu, um abraço!

 

 

<?php

$id = ($_GET['id']);
include 'Classes/DAL/EmpresaDAL.php';
$objDAL = new EmpresaDAL();
$sql = $objDAL->sobreEmpresa($_GET['id']);
$linha = mysqli_fetch_array($sql);
if($_SESSION['id'] == $_GET['id']){
?>
<form name="editarSobre" action="Classes/editarPerfil2.php?id=<?php echo ($id); ?>" method="post">
<p class="branco">
<label>Sobre: </label>
<input type="text" name="sobreEmpresa1" required="required" value="<?php echo $linha['sobreEmpresa']; ?>">
</p>
<p class="branco">
<label> Endereço </label>
<input type="text" name="endereco1" required="required" value="<?php echo $linha['endereco']; ?>">
</p>
<p class="branco">
<label> Apartamento/Sala </label>
<input type="text" name="apart_sala1" required="required" value="<?php echo $linha['apart_sala']; ?>">
</p>
<p class="branco">
<label> Logradouro </label>
<input type="text" name="logradouro1" required="required" value="<?php echo $linha['logradouro']; ?>">
</p>
<p class="Editar">
<input type="submit" value="Salvar Alterações">
</p>
</form>
<?php
} else {
echo "<script>"
. " alert('Você não está autorizado a realizar está ação.');"
. " history.go(-1);"
. "</script>";
}?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.