Ir para conteúdo
Jefferson andre

Variavel indefinida: sexo

Recommended Posts

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");
        }
    }
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

E qual seria a linha 66?

Seria essa?

1 hora atrás, Jefferson andre disse:

<input class="form-check-input" type="radio" name="sexo" id="sexo" value="M" <?php echo ($sexo=="M" ) ? "checked" : null; ?>/> Masculino

 

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites
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.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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;
    }
} else {
    echo "Não existe";
}
echo "<br/>";
$sexo = "";
if (isset($sexo)) {
    echo "Existe ";
    if (empty($sexo)) {
        echo "Sexo sem sexo.";
    } else {
        echo $sexo;
    }
} else {
    echo "Não existe";
}
echo "<br/>";
$sexo = "Masculino";
if (isset($sexo)) {
    echo "Existe ";
    if (empty($sexo)) {
        echo "Sexo sem sexo.";
    } else {
        echo $sexo;
    }
} else {
    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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por lezão
      Boa tarde, galera!
      Tudo bem com vcs?
       
      Estou precisando de uma limitador de palavras.
      Tenho um texto de 600 palavras e gostaria de que na pagina principal aparece se, apenas 30 palavras do texto.
      Achei esse codigo na innternet, mas ele não limita palavras, mas sim ele corta as palavras ficando assim:  "Tenho um texto de 600 palav..."
      ?php echo substr("$texto;", 0, 200); ? com uma variavel que limita as palavras ficaria assim: "Tenho um texto de 600 palavras". exibiria essas 6 palavras.
    • Por Luiz Henrique
      Olá pessoas,
       
      Tenho uma classe e dentro dela várias chamadas para métodos de acordo com a necessidade em outra classe (para obter dados DB), como são muitas e vou duplicar os arquivos, para ganhar tempo queria colocar o nome da classe em uma variável porém não funciona.
       
      use Class1; class Class2 { public $className = 'Class1'; ... $dados = $this->className::function(); // não funciona } Era para gerar isso:
      $dados = Class1::function();
      Se eu der um echo $this->$className, ele me retorno o nome da Class1 porém para executar um método dentro da Class1 não vai, diz que a classe Class1 não existe!
      Tem alguma forma de funcionar isso?
       
      Obrigado.
    • Por Boca
      Pessoas estou com uma duvida preciso de ajuda
      Tenho alguns campos chamados "horario_0, horario_1, horario_2, horario_3, horario_4, horario_5, horario_6 no meu banco de dados
      estou precisando que ela seja dinâmica dentro de um for
      exemplo:
       
      <?php for ($dia = 0; $dia < 7; $dia++): $resultadoBD->horario_$dia endfor; ?>  
    • Por SAS Junior
      Bom dia!
      Estou com uma dúvida, sou novo com sql, estou com um probleminha, todo dia preciso gerar lista de clientes pegar o id deles para fazer consulta posterior, como posso atribuir esses id's a uma variável e fazer a outra consulta por essa variável, é possível fazer isso? 
    • Por RickSilva
      Bom, preciso criar uma funçao que faz uma variavel string ter um valor durante um periodo de 5 segundos e depois outro valor durante os proximos 5 segundos, fazendo isso a todo momento. Por exemplo: Uma variavel cor que tenha como valor "preto" durante 5 segundos e depois receba o valor "branco".  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.