Aqui tenho meus dados cadastrados:
Estou tentando programar o botão “alterar”, conforme abaixo:
<?php
require 'Database.php';
$idFamiliar = null;
if(!empty($_GET['idFamiliar']))
{
$idFamiliar = $_REQUEST['idFamiliar'];
}
if(null == $idFamiliar)
{
header("Location: listaFamiliar.php");
}
if(!empty($_POST))
{
$nameError = null;
$dataError = null;
$nomeFamiliar = $_POST['nomeFamiliar'];
$dataNasc = $_POST['dataNasc'];
$valid = true;
if(empty($nomeFamiliar))
{
$nameError = 'Informar o nome';
$valid = false;
}
if(empty($dataNasc))
{
$dataError = 'Informar a data';
$valid = false;
}
if($valid)
{
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE tb_familiar SET nomeFamiliar = ?, dataNasc = ? WHERE idFamiliar = ?";
$q = $pdo->prepare($sql);
$q->execute(array($nomeFamiliar, $dataNasc, $idFamiliar));
Database::disconnect();
header("Location: listaFamiliar.php");
}
else
{
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM tb_familiar WHERE idFamiliar = ?";
$q = $pdo->prepare($sql);
$q->execute(array($idFamiliar));
$data = $q->fetch(PDO::FETCH_ASSOC);
$idFamiliar = $data['idFamiliar'];
$nomeFamiliar = $data['nomeFamiliar'];
$dataNasc = $data['dataNasc'];
Database::disconnect();
}
}
?>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" media="screen">
<script src="bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
<div class="navbar navbar-default navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">HOME</a>
<a class="navbar-brand" href="listaFamiliar.php">FAMILIAR</a>
</div>
</div>
</div>
<form class="form-inline" action="alterarFamiliar.php?idFamiliar=<?php echo $idFamiliar ?>" method="post">
<div class="panel panel-default" style="margin-left: 150px; margin-right: 100px; margin-top: 0;">
<div class="panel-heading" style="color: navy;"><b>EDITAR FAMILIAR</b></div>
<div class="form-inline" style="margin-top: 10px; margin-left: 15px">
<div class="control-group">
<label class="control-label">ID</label>
<div class="controls">
<input name="nomeFamiliar" type="text" placeholder="nome" value="<?php echo !empty($nomeFamiliar)?$idFamiliar:''; ?>">
</div>
</div>
<div class="control-group <?php echo !empty($nameError)? 'error':'';?>">
<label class="control-label">Nome Familiar</label>
<div class="controls">
<input name="nomeFamiliar" type="text" placeholder="nome" value="<?php echo !empty($nomeFamiliar)?$nomeFamiliar:''; ?>">
<?php if(!empty($nameError)): ?>
<span class="help-block"><?php echo $nameError; ?></span>
<?php endif; ?>
</div>
</div>
<div class="control-group <?php echo !empty($dataError)? 'error':'';?>">
<label class="control-label">Data Nasc</label>
<div class="controls">
<input name="dataNasc" type="text" placeholder="data" value="<?php echo !empty($dataNasc)?$dataNasc:''; ?>">
<?php if(!empty($dataError)): ?>
<span class="help-block"><?php echo $dataError; ?></span>
<?php endif; ?>
</div>
</div>
</div>
<div class="panel-footer" style="margin-top: 90px;">
<button class="btn btn-primary">Alterar</button>
<a href="listaFamiliar.php" class="btn btn-default">Voltar</a>
</div>
</div>
</div>
</form>
</body>
</html>
Primeiramente, deveria clicar no botão “visualizar” e abrir outro form com os dados selecionados, para que possa fazer a edição das informações. Acontece que quando executo, não carrega os inputs com os dados, somente no momento que clico no botão alterar é que mostra os dados. Sei que estou fazendo algo de errado, mas não sei onde. Portanto, peço ajuda de vocês. Muito Obrigado.