É mandado fazer um método no arquivo usuario_controller.php, para receber o id do usuário:
<?php
...
public function getUsuario($_SESSION["usuario_id"]) {
$sql = "SELECT * FROM Usuarios WHERE id = $id";
return $_SESSION['usuario_id'];
}
Não há instruções específicas para criar o método, apenas é dito para fazer de acordo com os conhecimentos obtidos nas etapas anteriores, embora eu discorde que os conhecimentos anteriores sejam suficientes para deduzir a escrita dessa função.
As instruções são as seguintes:
"Na página de edição, vamos iniciar a sessão e criar uma variável $usuario, que vai receber um usuário do método getUsuario($_SESION[‘usuario_id’]), que deve ser criado no seu respectivo controller. Esse método recebe como parâmetro o id do usuário, que armazenamos na variável $_SESSION, seleciona o usuário através da instrução “SELECT * FROM Usuarios WHERE id = $id” e retorna o resultado obtido. Nosso código na view fica como na imagem a seguir".
Na imagem vem esse código que deve ser usado para criar o arquivo editar_usuario.php
if (isset($_POST['editar'])) {
$objUsuario = new Usuario($_POST['nome'], $_POST['email'], $_POST['senha'], $_POST['endereco']);
$controllerUsuario = new UsuarioController();
$resposta = $controllerUsuario->Editar($usuario['ID'],$objUsuario);
// $resposta = $controllerUsuario->editaUsuario($usuario['ID'],$objUsuario); // Mudei o nome do método pois não existe método com o nome editaUsuario.
if($resposta == "Sucesso"){
$usuario = $controllerUsuario->getUsuario($_SESSION["usuario_id"]); // Não entendi o objetivo dessa linha. Ela está declarada na abertura da sessão.
echo "Conta salva com sucesso!";
}else{
echo $resposta;
}
}
Mas a linha 32 do usuario_controller.php:
public function getUsuario($_SESSION["usuario_id"]) {
gera o seguinte erro quando acionado o botão para logar no index.php:
Parse error: syntax error, unexpected token "[", expecting ")" in /opt/lampp/htdocs/ecommerce/Controllers/usuario_controller.php on line 32
Já pesquisei muito sobre essa escrita, mas não encontro nada parecido para comparar com o essa construção suugerida no curso.
Vou passar o link do arquivo php_senac.zip com os arquivos index.php e usuario_controller.php, caso seja necessário analisar mais detalhes do código. Também passo a apostila com as instruções do curso.
É lamentável que a tutoria do curso é deficiente no auxílio ao aluno. Tenho encontrado muita dificuldade para realizar a última etapa do curso, que trata da alteração e exclusão de registros no banco de dados.
Pergunta
Lúcio Flávio da Silva Sales
Estou tentando terminar a parte de alteração de dados de usuário num curso do SENAC, mas o negócio está enrolado.
Inicialmente vem uma imagem com o código abaixo para ser acrescentado na view index.php, que chama a sessão e busca o id do usuário:
if($resposta == "Sucesso") {
session_start();
$_SESSION["usuario_id"] = $objUsuario->getId();
header("Location: http://localhost/ecommerce/Views/Produto/listagem_produtos.php");}
É mandado fazer um método no arquivo usuario_controller.php, para receber o id do usuário:
<?php
...
public function getUsuario($_SESSION["usuario_id"]) {
$sql = "SELECT * FROM Usuarios WHERE id = $id";
return $_SESSION['usuario_id'];
}
Não há instruções específicas para criar o método, apenas é dito para fazer de acordo com os conhecimentos obtidos nas etapas anteriores, embora eu discorde que os conhecimentos anteriores sejam suficientes para deduzir a escrita dessa função.
As instruções são as seguintes:
"Na página de edição, vamos iniciar a sessão e criar uma variável $usuario, que vai receber um usuário do método getUsuario($_SESION[‘usuario_id’]), que deve ser criado no seu respectivo controller. Esse método recebe como parâmetro o id do usuário, que armazenamos na variável $_SESSION, seleciona o usuário através da instrução “SELECT * FROM Usuarios WHERE id = $id” e retorna o resultado obtido. Nosso código na view fica como na imagem a seguir".
Na imagem vem esse código que deve ser usado para criar o arquivo editar_usuario.php
session_start();
$usuario = $controllerUsuario->getUsuario($_SESSION["usuario_id"]);
if (isset($_POST['editar'])) {
$objUsuario = new Usuario($_POST['nome'], $_POST['email'], $_POST['senha'], $_POST['endereco']);
$controllerUsuario = new UsuarioController();
$resposta = $controllerUsuario->Editar($usuario['ID'],$objUsuario);
// $resposta = $controllerUsuario->editaUsuario($usuario['ID'],$objUsuario); // Mudei o nome do método pois não existe método com o nome editaUsuario.
if($resposta == "Sucesso"){
$usuario = $controllerUsuario->getUsuario($_SESSION["usuario_id"]); // Não entendi o objetivo dessa linha. Ela está declarada na abertura da sessão.
echo "Conta salva com sucesso!";
}else{
echo $resposta;
}
}
Mas a linha 32 do usuario_controller.php:
public function getUsuario($_SESSION["usuario_id"]) {
gera o seguinte erro quando acionado o botão para logar no index.php:
Parse error: syntax error, unexpected token "[", expecting ")" in /opt/lampp/htdocs/ecommerce/Controllers/usuario_controller.php on line 32
Já pesquisei muito sobre essa escrita, mas não encontro nada parecido para comparar com o essa construção suugerida no curso.
Vou passar o link do arquivo php_senac.zip com os arquivos index.php e usuario_controller.php, caso seja necessário analisar mais detalhes do código. Também passo a apostila com as instruções do curso.
http://luciocatende.com/php_senac.zip
É lamentável que a tutoria do curso é deficiente no auxílio ao aluno. Tenho encontrado muita dificuldade para realizar a última etapa do curso, que trata da alteração e exclusão de registros no banco de dados.
Agradeço se alguém puder me ajudar.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.