Problema com cadastro de doação
27/06/2016
0
Estou fazendo um projeto final do curso de t.i, so que estou com um problema no cadastro das doações, quando logo com admin o cadastro e feito com sucesso, mas quando eu logo com doador nao cadastrar, obs: quando tento colocar o valor por sessao para puxar o doador logado e jogar no input para aparecer o nome dele e puxar, para saber quem doou a doação. Quando nao tem um valor atribuido, ou seja , deixo uma lista de varios doadores no select cadastrar normalmente, so que preciso restringir.
formdoacao
<?php
require_once '../Controle/DAO/classeDoadorDAO.php';
session_start();
if (isset($_SESSION['DoadorLogado']) && $_SESSION['DoadorLogado'] == 1) {
$DoadorLogado = true;
$IdDoadorLogado = $_SESSION['IdDoadorLogado'];
$NomeDoadorLogado = $_SESSION['NomeDoadorLogado'];
}
if (isset($_SESSION['iddoador']) && $_SESSION['iddoador'] != NULL) {
$idDoador=$_SESSION['iddoador'];
} else {
$idDoador=0;
}
// $idBeneficiario = $_SESSION['idbeneficiario'];
?>
<html>
<head>
<meta charset="UTF-8">
<title>Formulário</title>
<link rel="stylesheet" href="css/form.css">
</head>
<body>
<div class="area">
<form id="formDoacao"
name="formDoacao"
method="POST"
action="../Controle/controladorDoacao.php?ACAO=cadastrar"
enctype="multipart/form-data">
<legend>Doação</legend>
<input class="idDoacao" name="idDoacao"
type="hidden"
value=""><br /><br />
<label for="nome">Nome:</label>
<input class="nome" name="nome"
type="text"
value=""><br /><br />
<label for="descricao">Descrição:</label>
<input class="descricao" name="descricao"
type="text"
value=""><br /><br />
<input type="file" id="img" name="img" value="" />
<br /><br />
<input class="dataentrada" name="dataentrada"
type="hidden"
value=""><br /><br />
<input class="datasaida" name="datasaida"
type="hidden"
value=""><br /><br />
<?php
if (isset($DoadorLogado) && $DoadorLogado=TRUE) {
echo "<input type='text' name='doador' value='" . $NomeDoadorLogado . "' >";
} else {
$doadorDAO = new classeDoadorDAO();
$doadores = $doadorDAO->selecionarDoador($idDoador);
}
?>
<br><br>
<button class="btn btn-cadastrar" name="submit" type="submit" value="Cadastrar">Cadastrar</button>
<a href="../index.php" class="btn btn-voltar">Voltar para página inicial</a><br>
<br>
</form>
</div>
</body>
</html>
classedoadorDAO
public function selecionarDoador($idDoador) {
try {
$pdo = conexao::getInstance();
$sql = "SELECT iddoador, nome FROM doador;";
$stmt = $pdo->prepare($sql);
$stmt->execute();
echo "<select name='doador'>";
echo"<option value=''>Selecione Doador</option>";
While ($doador = $stmt->fetchObject(__CLASS__)) {
if($doador->iddoador == $idDoador){
echo"<option value='" . $doador->iddoador . "' selected>" . $doador->nome . "</option>";
}else{
echo"<option value='" . $doador->iddoador . "'>" . $doador->nome . "</option>";
}
}
echo ' </select>';
} catch (Exception $exc) {
echo $exc->getTraceAsString();
}
}
Por gentileza, alguém saberia me informar o que está errado.
formdoacao
<?php
require_once '../Controle/DAO/classeDoadorDAO.php';
session_start();
if (isset($_SESSION['DoadorLogado']) && $_SESSION['DoadorLogado'] == 1) {
$DoadorLogado = true;
$IdDoadorLogado = $_SESSION['IdDoadorLogado'];
$NomeDoadorLogado = $_SESSION['NomeDoadorLogado'];
}
if (isset($_SESSION['iddoador']) && $_SESSION['iddoador'] != NULL) {
$idDoador=$_SESSION['iddoador'];
} else {
$idDoador=0;
}
// $idBeneficiario = $_SESSION['idbeneficiario'];
?>
<html>
<head>
<meta charset="UTF-8">
<title>Formulário</title>
<link rel="stylesheet" href="css/form.css">
</head>
<body>
<div class="area">
<form id="formDoacao"
name="formDoacao"
method="POST"
action="../Controle/controladorDoacao.php?ACAO=cadastrar"
enctype="multipart/form-data">
<legend>Doação</legend>
<input class="idDoacao" name="idDoacao"
type="hidden"
value=""><br /><br />
<label for="nome">Nome:</label>
<input class="nome" name="nome"
type="text"
value=""><br /><br />
<label for="descricao">Descrição:</label>
<input class="descricao" name="descricao"
type="text"
value=""><br /><br />
<input type="file" id="img" name="img" value="" />
<br /><br />
<input class="dataentrada" name="dataentrada"
type="hidden"
value=""><br /><br />
<input class="datasaida" name="datasaida"
type="hidden"
value=""><br /><br />
<?php
if (isset($DoadorLogado) && $DoadorLogado=TRUE) {
echo "<input type='text' name='doador' value='" . $NomeDoadorLogado . "' >";
} else {
$doadorDAO = new classeDoadorDAO();
$doadores = $doadorDAO->selecionarDoador($idDoador);
}
?>
<br><br>
<button class="btn btn-cadastrar" name="submit" type="submit" value="Cadastrar">Cadastrar</button>
<a href="../index.php" class="btn btn-voltar">Voltar para página inicial</a><br>
<br>
</form>
</div>
</body>
</html>
classedoadorDAO
public function selecionarDoador($idDoador) {
try {
$pdo = conexao::getInstance();
$sql = "SELECT iddoador, nome FROM doador;";
$stmt = $pdo->prepare($sql);
$stmt->execute();
echo "<select name='doador'>";
echo"<option value=''>Selecione Doador</option>";
While ($doador = $stmt->fetchObject(__CLASS__)) {
if($doador->iddoador == $idDoador){
echo"<option value='" . $doador->iddoador . "' selected>" . $doador->nome . "</option>";
}else{
echo"<option value='" . $doador->iddoador . "'>" . $doador->nome . "</option>";
}
}
echo ' </select>';
} catch (Exception $exc) {
echo $exc->getTraceAsString();
}
}
Por gentileza, alguém saberia me informar o que está errado.
Anderson Henrique
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)