The return of method registrarProduto()
is only returning false
, it always enters else
of if
of page productos.php. Even if he registered the product all right in the bank it only shows: Failed to register product! .
products.php
<?php
require 'classes/produtos.class.php';
$p = new Produtos();
if(empty($_SESSION['pLogin'])) {
?>
<script type="text/javascript">alert("Lammer não passa daqui
KKKKKKK!");</script>
<script type="text/javascript">window.location.href="index.php";
</script>
<?php
exit;
}
if(isset($_POST['produto']) && !empty($_POST['produto'])) {
$produto = addslashes($_POST['produto']);
$quantidade = addslashes($_POST['quantidade']);
$p->setProduto($produto);
$p->setQuantidade($quantidade);
$p->cadastrarProduto();
if($p->cadastrarProduto()) {
echo "Produto cadastrado com sucesso !";
} else {
echo "Falha ao cadastrar produto !";
}
}
?>
<br/>
<div align="center" class="produtos">
<h3>CADASTRAR PRODUTOS | AssCTF</h3>
<form method="post">
Produto<br/>
<input type="text" name="produto" /><br/><br/>
Quantidades<br/>
<input type="number" name="quantidade" /><br/><br/>
<input type="submit" name="Cadastrar Produto" />
</form>
</div>
<table align="center" width="400" border="1">
<th>Produtos</th>
<th>Quantidade</th>
<?php
$result = $p->selecionarProduto();
foreach ($result as $item) {
?>
<tr align="center">
<td><?php echo $item['produto']; ?></td>
<td><?php echo $item['quantidade']; ?></td>
</tr>
<?php
}
?>
</table>
products.class.php
<?php
session_start();
class Produtos {
private $db;
private $produto;
private $quantidade;
public function __construct() {
try {
$this->db = new PDO("mysql:dbname=projeto_oo;host=localhost",
"root", "");
} catch(PDOException $e) {
echo "FALHA: ".$e->getMessage();
}
}
public function getProduto() {
return $this->produto;
}
public function setProduto($value) {
$this->produto = $value;
}
public function getQuantidade() {
return $this->quantidade;
}
public function setQuantidade($value) {
$this->quantidade = $value;
}
public function cadastrarProduto() {
$sql = $this->db->prepare("SELECT * FROM produtos WHERE produto =
:produto");
$sql->bindValue(":produto", $this->produto);
$sql->execute();
if($sql->rowCount() == 0 ) {
$sql = $this->db->prepare("INSERT INTO produtos SET produto
= :produto, quantidade = :quantidade");
$sql->bindValue(":produto", $this->produto);
$sql->bindValue(":quantidade", $this->quantidade);
$sql->execute();
return true;
}
return false;
}
public function selecionarProduto() {
$sql = $this->db->prepare("SELECT * FROM produtos");
$sql->execute();
$array = array();
if($sql->rowCount() > 0) {
$array = $sql->fetchAll();
}
return $array;
}
}
?>