Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Saudacoes, estou com um erro de variavel indefinida e nao estou conseguindo encontrar a solucao
Alguem pode me ajudar por favor ?
Mensagem de erro:
Notice: Undefined variable: sexo in C:\xampp\htdocs\projeto.crud.php-master\create.php on line 66
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="assets/css/bootstrap.min.css">
<title>Adicionar Contato</title>
</head>
<body>
<div class="container">
<div clas="span10 offset1">
<div class="card">
<div class="card-header">
<h3 class="well"> Adicionar Contato </h3>
</div>
<div class="card-body">
<form class="form-horizontal" action="create.php" method="post">
<div class="control-group <?php echo !empty($nomeErro)?'error ' : '';?>">
<label class="control-label">Nome</label>
<div class="controls">
<input size="50" class="form-control" name="nome" type="text" placeholder="Nome" required value="<?php echo !empty($nome)?$nome: '';?>">
<?php if(!empty($nomeErro)): ?>
<span class="help-inline"><?php echo $nomeErro;?></span>
<?php endif;?>
</div>
</div>
<div class="control-group <?php echo !empty($enderecoErro)?'error ': '';?>">
<label class="control-label">Endereço</label>
<div class="controls">
<input size="80" class="form-control" name="endereco" type="text" placeholder="Endereço" required value="<?php echo !empty($endereco)?$endereco: '';?>">
<?php if(!empty($emailErro)): ?>
<span class="help-inline"><?php echo $enderecoErro;?></span>
<?php endif;?>
</div>
</div>
<div class="control-group <?php echo !empty($telefoneErro)?'error ': '';?>">
<label class="control-label">Telefone</label>
<div class="controls">
<input size="35" class="form-control" name="telefone" type="text" placeholder="Telefone" required value="<?php echo !empty($telefone)?$telefone: '';?>">
<?php if(!empty($emailErro)): ?>
<span class="help-inline"><?php echo $telefoneErro;?></span>
<?php endif;?>
</div>
</div>
<div class="control-group <?php echo !empty($emailErro)?'error ': '';?>">
<label class="control-label">Email</label>
<div class="controls">
<input size="40" class="form-control" name="email" type="text" placeholder="Email" required value="<?php echo !empty($email)?$email: '';?>">
<?php if(!empty($emailErro)): ?>
<span class="help-inline"><?php echo $emailErro;?></span>
<?php endif;?>
</div>
</div>
<div class="control-group <?php echo !empty($sexoErro)?'error ': '';?>">
<label class="control-label">Sexo</label>
<div class="controls">
<div class="form-check">
<p class="form-check-label">
<input class="form-check-input" type="radio" name="sexo" id="sexo" value="M" <?php echo ($sexo=="M" ) ? "checked" : null; ?>/> Masculino
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="sexo" id="sexo" value="F" <?php echo ($sexo=="F" ) ? "checked" : null; ?>/> Feminino
</div>
</p>
<?php if(!empty($sexoErro)): ?>
<span class="help-inline"><?php echo $sexoErro;?></span>
<?php endif;?>
</div>
</div>
<div class="form-actions">
<br/>
<button type="submit" class="btn btn-success">Adicionar</button>
<a href="index.php" type="btn" class="btn btn-default">Voltar</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="assets/js/bootstrap.min.js"></script>
</body>
</html>
<?php
require 'banco.php';
if(!empty($_POST))
{
//Acompanha os erros de validação
$nomeErro = null;
$enderecoErro = null;
$telefoneErro = null;
$emailErro = null;
$sexoErro = null;
$nome = $_POST['nome'];
$endereco = $_POST['endereco'];
$telefone = $_POST['telefone'];
$email = $_POST['email'];
$sexo = $_POST['sexo'];
//Validaçao dos campos:
$validacao = true;
if(empty($nome))
{
$nomeErro = 'Por favor digite o seu nome!';
$validacao = false;
}
if(empty($endereco))
{
$enderecoErro = 'Por favor digite o seu endereço!';
$validacao = false;
}
if(empty($telefone))
{
$telefoneErro = 'Por favor digite o número do telefone!';
$validacao = false;
}
if(empty($email))
{
$telefoneErro = 'Por favor digite o endereço de email';
$validacao = false;
}
elseif (!filter_var($email,FILTER_VALIDATE_EMAIL))
{
$emailError = 'Por favor digite um endereço de email válido!';
$validacao = false;
}
if(empty($sexo))
{
$sexoErro = 'Por favor digite o campo!';
$validacao = false;
}
//Inserindo no Banco:
if($validacao)
{
$pdo = Banco::conectar();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO pessoa (nome, endereco, telefone, email, sexo) VALUES(?,?,?,?,?)";
$q = $pdo->prepare($sql);
$q->execute(array($nome,$endereco,$telefone,$email,$sexo));
Banco::desconectar();
header("Location: index.php");
}
}
?>>
Em 18/10/2019 at 13:39, Omar~ disse:
E qual seria a linha 66?
Seria essa?
Bem, nesse caso crie a variável antes de usar-la.
<?php
$sexo = isset($sexo) ? $sexo : false; // Mesmo que a variável original não exista criamos ela falsa mesmo assim ela sempre vai existir
<input type="radio" name="sexo" id="sexo" value="M" <?= ($sexo=="M" ? "checked" : null) ?> /> Masculino
Dica para usar o fórum....
Se seu problema é o PHP não poste toda estrutura HTML nem entradas de CSS, isso atrapalha quem quer lhe ajudar.
Obrigado pelas dicas e sugestões mas mesmo assim o mesmo erro eh apresentado.@Jefferson andre
Não sei se é uma questão de funcionalidade ou de entendimento, talvez o que esteja errado é a sua validação utilizando a função ISSET.
Veja se o código abaixo lhe ajuda a entender melhor o funcionamento do ISSET e do EMPTY.
No código que lhe apresento ele tem 3 situações.
Primeiro, a variável SEXO não existe.
Então ele passa pela validação e escreve Não Existe
Segundo, a variável SEXO existe, porém ela esta vazia.
Então ele passa pela validação e escreve Existe porem não existe SEXO definido, Sexo sem Sexo.
Terceiro, a variável SEXO existe e tem conteúdo nela.
Então ele passa pela validação e escreve Existe e escreve o SEXO definido.
Veja se te ajuda para o entendimento das funções e veja se o seu código está escrito de maneira correta.
<?php
if (isset($sexo)) {
echo "Existe ";
if (empty($sexo)) {
echo "Sexo sem sexo.";
} else {
echo $sexo;
} echo "Não existe";
}
echo "<br/>";
$sexo = ""; echo "Existe ";
if (empty($sexo)) {
echo "Sexo sem sexo.";
} else {
echo $sexo;
} echo "Não existe";
}
echo "<br/>";
$sexo = "Masculino"; echo "Existe ";
if (empty($sexo)) {
echo "Sexo sem sexo.";
} else {
echo $sexo;
} echo "Não existe";
}
echo "<br/>";
?>
Mas uma coisa é BEM CLARA.
Noticia, Indefinida variável: sexo em C:\xampp\htdocs\projeto.crud.php-master\create.php na linha 66;
Notice: Undefined variable: sexo in C:\xampp\htdocs\projeto.crud.php-master\create.php on line 66
Ou seja, na linha 66 deste arquivo CREATE.PHP você está usando a variável $sexo SEM declarar um valor antes, para teste e ver se esse erro some, caso não tenha ficado claro a explicação que dei, na linha 65, antes da validação desta linha 66 coloque
$sexo = "M";
e veja se o erro não some.
Espero ter ajudado.
Att.
***Felipe Coutinho***Olá amigo, saudações...
Tente desta forma:
<label for="sexo" class="control-label">Sexo<span class="required">*</span></label>
<div class="controls">
<select name="sexo" id="sexo" style="width:100%;" class="form-control">
<?php if ($result->sexo == 1) {
$feminino = 'selected';
$masculino = '';
} else {
$feminino = '';
$masculino = 'selected';
} ?>
<option value="1" <?php echo $feminino; ?>>Feminino</option>
<option value="2" <?php echo $masculino; ?>>Masculino</option>
</select>
</div>
Espero ter ajudado.Obrigado a todos pela ajuda
E qual seria a linha 66?
Seria essa?
>
1 hora atrás, Jefferson andre disse:
$sexo = isset($sexo) ? $sexo : false; // Mesmo que a variável original não exista criamos ela falsa mesmo assim ela sempre vai existir