I've been trying to resolve this php
deal for weeks, but I've done everything and nothing works. (It is a visitor control system)
Below is my code.
form-visitors (html in php) .php
<!DOCTYPE html>
<?php
include_once ("./classes/visitante.classe.php.php");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />
<title>Controle de Visitantes</title>
<style type="text/css">
<!--
.style1 {
color: #FF0000;
font-size: x-small;
}
.style3 {color: #0000FF; font-size: x-small; }
</style>
<!---->
</script>
</head>
<body>
<form name="form-cadastrarVisitantes" method="POST" >
<form id="visitantes" name="visitantes" method="post" action="visitantes.php" >
<table width="625" border="0">
<tr>
<td width="69">Nome:</td>
<td width="546"> <input name="nome" type="text" placeholder="Insira o nome do cidadão" required="required" id="nome" size="70" maxlength="60" />
<span class="style1">*</span></td>
</tr>
<tr>
<td>RG:</td>
<td><input name="rg" type="number" placeholder="999.999.999-99" required="required" id="rg" size="11" maxlength="11"/>
<span class="style1">*</span></td>
</tr>
<tr>
<td>Sexo:</td>
<td><input name="sexo" type="radio" value="Masculino" checked="checked" />
Masculino
<input name="sexo" type="radio" value="Feminino" />
Feminino <span class="style1">*</span> </td>
</tr>
<tr>
<td>Telefone:<td/>
<input name="telefone" type="number" placeholder="(99)99999-9999" required="required" id="telefone" />
<span class="style3">Apenas números</span> </td>
</tr>
<tr>
<td>Estado:</td>
<td><select name="estado" required="required" id="estado">
<option>Selecione...</option>
<option value="DF">DF</option>
<option value="MG">MG</option>
<option value="PR">PR</option>
<option value="RJ">RJ</option>
<option value="RS">RS</option>
<option value="SC">SC</option>
<option value="SP">SP</option>
</select>
<span class="style1">*</span></td>
</tr>
<tr>
<td>Cidade:</td>
<td><input name="cidade" type="text" placeholder="Insira a cidade do cidadão" required="required" id="cidade" maxlength="20" />
<span class="style1">*</span></td>
</tr>
<tr>
<td>Endereco:</td>
<td><input name="endereco" type="text" placeholder="Insira a rua do cidadão" required="required" id="endereco" maxlength="20" />
<span class="style1">*</span></td>
</tr>
<tr>
<td colspan="2"><p>
<input name="cadastrar" type="submit" id="cadastrar" value="Concluir o cadastro!" />
<input name="limpar" type="reset" id="limpar" value="Limpar campos preenchidos!" />
<span class="style1">Campos com * são obrigatórios!</span></p>
<p> </p></td>
</tr>
</form>
</body>
<?php
if (isset($_POST["nome"]) ){
$id = 0;
$nome = $_POST["nome"];
$rg = $_POST["rg"];
$telefone = $_POST["telefone"];
$estado = $_POST["estado"];
$cidade = $_POST["cidade"];
$endereco = $_POST["endereco"];
$sexo = $_POST["sexo"];
$visitante = new Visitantes ($id, $nome, $rg, $telefone, $estado, $cidade, $endereco, $sexo);
$visitante->cadastrarVisitante();
}
?>
</table>
</html>
visitors.class.php
<?php
class Visitantes {
private $id;
private $nome;
private $rg;
private $telefone;
private $estado;
private $cidade;
private $endereco;
private $sexo;
function __construct($id, $nome, $rg, $telefone, $estado, $cidade, $endereco, $sexo)
{
$this->id = $id;
$this->nome = $nome;
$this->rg = $rg;
$this->telefone = $telefone;
$this->estado = $estado;
$this->cidade = $cidade;
$this->endereco = $endereco;
$this->sexo = $sexo;
}
function setId($id) {
$this->id = $id;
}
function setNome($nome) {
$this->nome = $nome;
}
function setRg($rg) {
$this->rg = $rg;
}
function setTelefone($telefone) {
$this->telefone = $telefone;
}
function setEstado($estado) {
$this->estado = $estado;
}
function setCidade($cidade) {
$this->cidade = $cidade;
}
function setEndereco($endereco) {
$this->endereco = $endereco;
}
function setSexo($sexo) {
$this->sexo = $sexo;
}
function getId() {
return $this->id;
}
function getNome() {
return $this->nome;
}
function getRg() {
return $this->rg;
}
function getTelefone() {
return $this->telefone;
}
function getEstado() {
return $this->estado;
}
function getCidade() {
return $this->cidade;
}
function getEndereco() {
return $this->endereco;
}
function getSexo() {
return $this->sexo;
}
function cadastrarVisitante(){
include ("conexao.php");
{
$sql = "INSERT INTO visitantes (id, nome, rg, telefone, estado, cidade, endereco, sexo)
VALUES ('$id', '$nome', '$rg', '$telefone', '$estado', '$cidade', '$endereco', '$sexo')";
$query = mysqli_query($link,$sql) or die (mysqli_error($link));
echo "Erro ao adicionar a DB.";
echo '<script type="text/javascript">
alert("Salvo com Sucesso!");
window.history.go(-1);
</script>';
echo "<script>location.href='listarVisitantes.php';</script>";
mysqli_close($link);
}
}
}
function buscarVisitante($visitanteBuscado){
try {
$pdo = new PDO('mysql:host=localhost;port=80;dbname=visitantes', 'bernardo', 'qweqweqwe1');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$consulta = $pdo->query("SELECT id, nome, MASK(rg, '### ### ### ##'), telefone, estado, cidade, endereco, sexo FROM visitante");
if($visitanteBuscado != ""){
$consulta = $pdo->query("SELECT id, nome, rg, telefone, estado, cidade, endereco FROM visitante WHERE nome like '%".$visitanetBuscado."%'or cns like '%".$visitanteBuscado."%';");
}
echo "<div class='panel panel-info'>";
echo "<div class='panel-heading'>Visitante</div>";
include_once ("C:/xampp/htdocs/recepcao/buscarVisitante.php");
echo "<table class=table>";
echo "<thead>";
echo "<tr>";
echo "<th>Nome</th>";
echo "<th>RG</th>";
echo "<th>Telefone</th>";
echo "<th>Estado</th>";
echo "<th>Cidade</th>";
echo "<th>Endereco</th>";
echo "<th>Sexo</th>";
echo "<th>Editar</th>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
while ($linha = $consulta->fetch(PDO::FETCH_ASSOC)) {
echo "<tr>";
echo "<td>". $linha["nome"] ."</td>";
echo "<td>". $linha["MASK(rg, '### ### ### ##')"] ."</td>";
echo "<td>". $linha["telefone"] ."</td>";
echo "<td>". $linha["estado"] ."</td>";
echo "<td>". $linha["cidade"] ."</td>";
echo "<td>". $linha["endereco"] ."</td>";
echo "<td>". $linha["sexo"] ."</td>";
echo "<td><a href='atualizarVisitante.php?id=$linha[id]'><button type='button' class='btn btn-default' aria-label='Left Align' >
<span class='glyphicon glyphicon-pencil' aria-hidden='true'></span>
</button></a></td>";
echo "</tr>";
}
echo "</tbody>";
echo "</table>";
echo "<div class='panel-footer panel-info'>
<form name='form-index' method='POST'>
<button type='button' class='btn btn-default' onClick='history.go(-1)' style='margin-left:10px;'>Voltar</button>
</form>
</div>";
echo "</div>";
} catch(PDOException $e) {
echo 'Erro ao buscar';
echo $e;
}
}
function buscaVisitante () {
try {
$pdo = new PDO('mysql:host=localhost;port=80;dbname=visitas', 'bernardo', 'qweqweqwe1');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$consulta = $pdo->query("SELECT id, nome, rg, telefone, estado, cidade, endereco, sexo FROM visitante WHERE id =".$this->id.";");
echo "<form name='form-atualizar-Visitante' method='POST' >";
while ($linha = $consulta->fetch(PDO::FETCH_ASSOC)) {
echo "<div class='form-group'>";
echo "<label for='nome'>Nome</label>";
echo "<input type='text' class='form-control' id='nome' 0 aria-describedby='emailHelp' placeholder='' name='nome' value='". $linha['nome'] ."'>";
echo "</div>";
echo "<div class='form-group'>";
echo "<label for='rg'>RG</label>";
echo "<input type='text' class='form-control' id='rg' 0 aria-describedby='emailHelp' placeholder='' name='rg' value='". $linha['rg'] ."'>";
echo "<label for='telefone'>Telefone</label>";
echo "<input type='date' class='form-control' id='telefone' 0 aria-describedby='emailHelp' placeholder='' name='telefone' value='". $linha['telefone'] ."'>";
echo "</div>";
echo "<div class='form-group'>";
echo "<label for='estado'>Estado</label>";
echo "<input type='text' class='form-control' id='estado' 0 aria-describedby='emailHelp' placeholder='' name='estado' value='". $linha['estado'] ."'>";
echo "</div>";
echo "<div class='form-group'>";
echo "<label for='cidade'>Cidade</label>";
echo "<input type='text' class='form-control' id='cidade' 0 aria-describedby='emailHelp' placeholder='' name='cidade' value='". $linha['cidade'] ."'>";
echo "</div>";
echo "<div class='form-group'>";
echo "<label for='endereco'>Endereco</label>";
echo "<input type='text' class='form-control' id='endereco' 0 aria-describedby='emailHelp' placeholder='' name='endereco' value='". $linha['endereco'] ."'>";
echo "</div>";
echo "<div class='form-group'>";
echo "<label for='sexo'>Sexo</label>";
echo "<input type='text' class='form-control' id='sexo' 0 aria-describedby='emailHelp' placeholder='' name='sexo' value='". $linha['sexo'] ."'>";
echo "</div>";
}
echo "<div class='panel-footer panel-info'>
<form name='form-index' method='POST'>
<button type='button' class='btn btn-info' onclick='atualizar()'>Salvar</button>
<button type='button' class='btn btn-info' onClick='history.go(-1)' style='margin-left:10px;'>Voltar</button>
</form>
</div>";
echo "</form>";
echo "<script type='text/javascript'>
function atualizar() {
var nome = document.getElementById('nome');
var rg = document.getElementById('rg');
var telefone = document.getElementById('telefone');
var estado = document.getElementById('estado');
var cidade = document.getElementById('cidade');
var endereco = document.getElementById('endereco');
var sexo = document.getElementById('sexo');
var end = '?id=$this->id&&nome='+nome.value+'&rg='+rg.value+'&telefone='+telefone.value+'&telefone='+telefone.value+'&estado='+estado.value+'&cidade='+cidade.value+'&endereco='+endereco.value+'&sexo='+sexo.value;
window.location.replace('./atualizarVisitante.php'+end);
}
</script>";
} catch(PDOException $e) {
echo 'Não foi possível encontrar este visitante!';
}
}
function atualizarVisitante() {
if (isset ( $this->id )) {
try {
$pdo = new PDO('mysql:host=localhost;port=80;dbname=visitas', 'bernardo', 'qweqweqwe1');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('UPDATE visitante SET nome = :nome, rg = :rg, telefone = :telefone, estado = :estado, cidade = :cidade, endereco = :endereco, sexo = :sexo WHERE id = :id');
$stmt->execute(array(
':id' => $this->id,
':nome' => $this->nome,
':rg' => $this->rg,
':telefone' => $this->telefone,
':estado' => $this->estado,
':cidade' => $this->cidade,
':endereco' => $this->endereco,
':sexo' => $this->sexo,
));
echo $stmt->rowCount();
echo "
<script>
var mensage = alert('Visitante atualizado com sucesso!');
window.location.replace('./listarVisitantes.php');
</script>";
} catch(PDOException $e) {
echo 'Error: ' . $e->getMessage();
}
}
}
function excluirVisitante($id) {
if (isset( $id )) {
try {
$pdo = new PDO('mysql:host=localhost;port=80;dbname=visitas', 'bernardo', 'qweqweqwe1');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('DELETE FROM visitante WHERE id = :id');
$stmt->bindParam(':id', $id);
$stmt->execute();
echo $stmt->rowCount();
echo "
<script>
var mensage = alert('Visitante excluído com sucesso!');
window.location.replace('./listarVisitantes.php');
</script>";
} catch(PDOException $e) {
echo 'Error: ' . $e->getMessage();
}
}
}
?>
connection.php
<?php
$link = mysqli_connect('localhost', 'bernardo', 'qweqweqwe1', 'visitas');
if (!$link) {
die('Erro ao conectar ao banco: ' . mysqli_error());
}
echo 'Conectado com sucesso! ';
?>
Do not notice other functions in PDO. I'm just focusing on the function RegisterServer.
Error:
Notice: Undefined variable: id in C:\xampp\htdocs\recepcao\classes\visitante.classe.php.php on line 87
Notice: Undefined variable: nome in C:\xampp\htdocs\recepcao\classes\visitante.classe.php.php on line 87
Notice: Undefined variable: rg in C:\xampp\htdocs\recepcao\classes\visitante.classe.php.php on line 87
Notice: Undefined variable: telefone in C:\xampp\htdocs\recepcao\classes\visitante.classe.php.php on line 87
Notice: Undefined variable: estado in C:\xampp\htdocs\recepcao\classes\visitante.classe.php.php on line 87
Notice: Undefined variable: cidade in C:\xampp\htdocs\recepcao\classes\visitante.classe.php.php on line 87
Notice: Undefined variable: endereco in C:\xampp\htdocs\recepcao\classes\visitante.classe.php.php on line 87
Notice: Undefined variable: sexo in C:\xampp\htdocs\recepcao\classes\visitante.classe.php.php on line 87
Duplicate entry '' for key 'rg'