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

Problema com update - CRUD PHP


Gabrielvt14

Pergunta

Olá. Estou tendo problemas quando tento executar um UPDATE no meu sistema em php. Uso o MySQL.

Tenho o código do arquivo editar:

<?php

	require_once 'init.php';

	// resgata os valores do formulario
	$nome = isset($_POST['nome']) ? $_POST['nome']: null;
	$nascimento = isset($_POST['nascimento']) ? $_POST['nascimento']: null;
	$email = isset($_POST['email']) ? $_POST['email']: null;
	$senha = isset($_POST['senha']) ? $_POST['senha']: null;
	$seg_senha = password_hash($senha, PASSWORD_DEFAULT);

	// Validação para evitar dados vazios
	if (empty($nome) || empty($nascimento) || empty($email) || empty($senha)) {
		echo 'Volte e preencha todos os campos.';
		exit;
	}

	// Atualiza o banco
	$pdo = db_connect();
	$sql = "UPDATE usuarios SET nome = :nome, nasc = :nasc, email = :email, senha = :senha WHERE id = :id";
	$stmt = $pdo->prepare($sql);
	$stmt->bindParam(':nome', $nome);
	$stmt->bindParam(':nasc', $nascimento);
	$stmt->bindParam(':email', $email);
	$stmt->bindParam(':senha', $seg_senha);
	$stmt->bindParam(':id', $id);

	if ($stmt->execute()){
		header('Location: ../index1.php');
	}else{
		echo 'Erro ao atualizar usuario.';
		print_r($stmt->errorInfo());
	}

Agora o arquivo com formulario para edição de usuario:

<?php

	require_once 'core/init.php';

	// Pega o id da URL
	$id = isset($_GET['id']) ? (int)$_GET['id']: null;

	// Valida o id
	if (empty($id)) {
		echo 'ID para alteração não definido';
		exit;
	}

	// Busca os dados do usuario a ser editado
	$pdo = db_connect();
	$sql = "SELECT nome, nasc, email, senha FROM usuarios WHERE id = :id";
	$stmt = $pdo->prepare($sql);
	$stmt->bindParam(':id', $id, PDO::PARAM_INT);

	$stmt->execute();

	$user = $stmt->fetch(PDO::FETCH_ASSOC);

	// Se o método fetch() não retornar um array, significa que o ID não corresponde a um usuário válido
	if(!is_array($user)){
		echo 'Nenhum usuario encontrado.';
		exit;
	}

?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Edição de usuario</title>


<script>
src="http://code.jquery.com/jquery-1.12.4.min.js"
integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
crossorigin="anonymous">
</script>

    <!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>



</head>
<body>
<!-- ==================== NAVBAR INICIO - BOOTSTRAP ==================== -->
	<nav class="navbar navbar-inverse">
  <div id="inicio" class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#inicio"><b>Hoo</b></a>
    </div>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
      <ul class="nav navbar-nav">
      	<li><a href="index1.php"><u>Home</u></a></li>
  	  </ul>
      <ul class="nav navbar-nav navbar-right">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Perfil <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li role="separator" class="divider"></li>
            <li><a href="">Sair</a></li>
          </ul>
        </li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </div><!-- /.container-fluid -->
</nav>
<!-- ==================== NAVBAR FIM - BOOTSTRAP ==================== -->


<!-- ==================== TABLE INICIO - BOOTSTRAP ==================== -->
<div class="panel panel-success	" style="width: 60%; margin: 0 auto; padding: 20px">
		<div class="panel-heading">
			<center>
				<b>EDITAR USUARIO</b>
			</center>
		</div>

		<div class="panel-body">

			<form method="POST" action="core/editar.php">
  				<div class="form-group">
   					 <input type="hidden" value="" name="id" class="form-control" id="exampleInputId1"></a>
   				</div>
   				<div class="form-group">
    				<label for="nome">Nome</label>
   					 <input type="text" value="<?php echo $user['nome'] ?>" name="nome" class="form-control" id="nome" placeholder="Nome"></a>
  				</div>

  				<div class="form-group">
    				<span class="label label-default">Data de nascimento</span>
    				<input type="date" value="<?php echo $user['nasc'] ?>" data-date="" data-date-format="DD MMMM YYYY" class="form-control" for="nasc" name="nascimento">
  				</div>

  				<div class="form-group">
    				<label for="email">E-MAIL</label>
    				<input type="email" value="<?php echo $user['email'] ?>" name="email" class="form-control" id="email" placeholder="E-MAIL">
  				</div>

  				<div class="form-group">
    				<label for="senha">Senha</label>
    				<input type="password" value="<?php echo $user['senha'] ?>" name="senha" class="form-control" id="senha" placeholder="Senha">
  				</div>

  				<input type="hidden" name="id" value="<?php echo $id ?>">

  			<button type="submit" class="btn btn-default">Finalizar edição</button>
			</form>
		</div>
	</div>
<!-- ==================== TABLE INICIO - BOOTSTRAP ==================== -->
</body>
</html>

 

Quando altero os campos e clico no botão ele não retorna erro algum, somente retorna para a página index1.php, como mandei no header. Mas no banco o campo "alterado" continua do mesmo jeito, como se não tivesse feito alteração algumA.

Alguém poderia me auxiliar?

Grato!

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...