Ir ao conteúdo
  • Cadastre-se

PHP Array diz que está indefinida


Posts recomendados

Olá pessoas, estou tentando fazer um sistema de login e sou meio iniciante no php, porém está dando esses erros aqui:

 

Citação

Warning: Undefined array key "ONGnome" in C:\xampp\htdocs\tcc\login_form.php on line 9

Warning: Undefined array key "cONGsenha" in C:\xampp\htdocs\tcc\login_form.php on line 12

Warning: Undefined array key "user_type" in C:\xampp\htdocs\tcc\login_form.php on line 13

Warning: Undefined array key "user_type" in C:\xampp\htdocs\tcc\login_form.php on line 23

Warning: Undefined array key "user_type" in C:\xampp\htdocs\tcc\login_form.php on line 28

 

esse daqui é o código 

<?php

@include 'config.php';

session_start();

if(isset($_POST['submit'])){

   $name = mysqli_real_escape_string($conn, $_POST['ONGnome']);
   $email = mysqli_real_escape_string($conn, $_POST['ONGemail']);
   $pass = md5($_POST['ONGsenha']);
   $cpass = md5($_POST['cONGsenha']);
   $user_type = $_POST['user_type'];

   $select = " SELECT * FROM residuall_ong WHERE ONGemail  = '$email' && ONGsenha = '$pass' ";

   $result = mysqli_query($conn, $select);

   if(mysqli_num_rows($result) > 0){

      $row = mysqli_fetch_array($result);

      if($row['user_type'] == 'ong'){

         $_SESSION['ong_name'] = $row['ONGnome'];
         header('location:admin_page.php');

      }elseif($row['user_type'] == 'user'){

         $_SESSION['user_name'] = $row['ONGnome'];
         header('location:user_page.php');

      }
     
   }else{
      $error[] = 'email ou senha incorretos!';
   }

};
?>

Não tenho ideia do que pode está dando erro, quem puder ajudar, muito obrigada!

Link para o comentário
Compartilhar em outros sites

Olá. As mensagens dizem que dados da variavel $_POST não estão definidos ou seja, não estão sendo recebidos corretamente.

Verifique os nomes dos campos do formulário ou poste o código dele aqui.

Aproveite e tire o simbolo de @ dessa linha:

14 horas atrás, YukiHitsuke disse:
@include 'config.php';

porque dificulta a descobrir erros, ok?

Até + e disponha

Link para o comentário
Compartilhar em outros sites

 

   
<div class="form-container">

   <form action="" method="post">
      <h3>Login</h3>
      <?php
      if(isset($error)){
         foreach($error as $error){
            echo '<span class="error-msg">'.$error.'</span>';
         };
      };
      ?>
      <input type="email" name="ONGemail" required placeholder="insira seu email">
      <input type="password" name="ONGsenha" required placeholder="insira sua senha">
      <input type="submit" name="submit" value="entrar" class="form-btn">
      <p>não tem uma conta? <a href="register_form.php">registra-se</a></p>
   </form>

</div>

aqui está, senão me engano esse é o formulário, me desculpe se eu estiver pondo outra coisa é que eu sou nova no php 😕

Link para o comentário
Compartilhar em outros sites

Oi.. então, veja que seu formulario tem os campos "ONGemail", "ONGsenha" e o "submit".
estão faltando os campos:
"ONGnome", "cONGsenha" e "user_type".
É esse o problema; você precisa cria-los (ou tira-los do código).
postei um exemplo para você:

<form action="" method="post">
      <h3>Login</h3>
      <?php
      if(isset($error)){
         foreach($error as $error){
            echo '<span class="error-msg">'.$error.'</span>';
         };
      };
      ?>
      ONGemail:
      <input type="email" name="ONGemail" required placeholder="insira seu email" />
     <label> ONGnome:
      <input name="ONGnome" type="text" id="ONGnome" />
     </label>
      <p>ONGsenha:
        <input type="password" name="ONGsenha" required placeholder="insira sua senha" />
        <label>cONGsenha:
        <input name="cONGsenha" type="text" id="cONGsenha" />
        </label>
      </p>
      <p>
        <label>usertype:
        <select name="user_type" id="user_type">
          <option value="ong">ong</option>
          <option value="user">user</option>
        </select>
        </label>
      </p>
      <p>  
        <input type="submit" name="submit" value="entrar" class="form-btn" />
      </p>
      <p>não tem uma conta? <a href="register_form.php">registra-se</a></p>
   </form>

 

veja que se os dados estiverem corretos, se você escolher "ong" você será direcionada a uma pagina (admin_page.php); se escolher "user" vai para outra.

 

tente ai e boa sorte 😄

Link para o comentário
Compartilhar em outros sites

@fernando c Olá! Decidi seguir um pouco e manti o user_type

ficou assim:

nclude 'config.php';

session_start();

if(isset($_POST['submit'])){

   $email = mysqli_real_escape_string($conn, $_POST['ONGemail']);
   $pass = md5($_POST['ONGsenha']);
   $user_type = $_POST['user_type'];

   $select = " SELECT * FROM residuall_ong WHERE ONGemail  = '$email' && ONGsenha = '$pass' ";

   $result = mysqli_query($conn, $select);

   if(mysqli_num_rows($result) > 0){

      $row = mysqli_fetch_array($result);

      if($row['user_type'] == 'ong'){

         $_SESSION['ong_name'] = $row['ONGnome'];
         header('location:admin_page.php');

      }elseif($row['user_type'] == 'user'){

         $_SESSION['user_name'] = $row['ONGnome'];
         header('location:user_page.php');

      }
     
   }else{
      $error[] = 'email ou senha incorretos!';
   }

};
?>

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Login</title>

   <!-- custom css file link  -->
   <link rel="stylesheet" href="style.css">

</head>
<body>
   
<div class="form-container">

   <form action="" method="post">
      <h3>Login</h3>
      <?php
      if(isset($error)){
         foreach($error as $error){
            echo '<span class="error-msg">'.$error.'</span>';
         };
      };
      ?>
      <input type="email" name="ONGemail" required placeholder="insira seu email">
      <input type="password" name="ONGsenha" required placeholder="insira sua senha">
      <p>
        <label>usertype:
        <select name="user_type" id="user_type">
          <option value="ong">ong</option>
          <option value="user">user</option>
        </select>
        </label>
      </p>
      <input type="submit" name="submit" value="entrar" class="form-btn">
      <p>não tem uma conta? <a href="register_form.php">registra-se</a></p>
   </form>

porém ainda da alguns erros 

 

Citação

Warning: Undefined array key "user_type" in C:\xampp\htdocs\tcc\login_form.php on line 21

Warning: Undefined array key "user_type" in C:\xampp\htdocs\tcc\login_form.php on line 26

Se pudesse me ajudar ficarei imensamente agradecida

Link para o comentário
Compartilhar em outros sites

@fernando c Oi novamente! Decidi atualizar aqui o código:

 

<?php

include 'config.php';

session_start();

if(isset($_POST['submit'])){

   $name = mysqli_real_escape_string($conn, $_POST['ONGnome']);
   $email = mysqli_real_escape_string($conn, $_POST['ONGemail']);
   $pass = md5($_POST['ONGsenha']);
   $cpass = md5($_POST['cONGsenha']);
   $user_type = $_POST['ONGuser_type'];

   $select = " SELECT * FROM residuall_ong WHERE ONGemail  = '$email' && ONGsenha = '$pass' ";

   $result = mysqli_query($conn, $select);

   if(mysqli_num_rows($result) > 0){

      $row = mysqli_fetch_array($result);

      if($row['user_type'] == 'ong'){

         $_SESSION['ong_name'] = $row['ONGnome'];
         header('location:admin_page.php');

      }elseif($row['user_type'] == 'user'){

         $_SESSION['user_name'] = $row['ONGnome'];
         header('location:user_page.php');

      }
     
   }else{
      $error[] = 'email ou senha incorretos!';
   }

};
?>

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Login</title>

   <!-- custom css file link  -->
   <link rel="stylesheet" href="style.css">

</head>
<body>
   
<div class="form-container">

   <form action="" method="post">
      <h3>Login</h3>
      <?php
      if(isset($error)){
         foreach($error as $error){
            echo '<span class="error-msg">'.$error.'</span>';
         };
      };
      ?>
      <input type="email" name="ONGemail" required placeholder="insira seu email">
      <input type="password" name="ONGsenha" required placeholder="insira sua senha">
      <input type="submit" name="submit" value="entrar" class="form-btn">
      <p>não tem uma conta? <a href="tipos_registros.php">registra-se</a></p>
   </form>

</div>

</body>
</html>

porém continua dando os mesmos erros: 

Citação

Warning: Undefined array key "ONGnome" in C:\xampp\htdocs\tcc\login_form.php on line 9

Warning: Undefined array key "cONGsenha" in C:\xampp\htdocs\tcc\login_form.php on line 12

Warning: Undefined array key "ONGuser_type" in C:\xampp\htdocs\tcc\login_form.php on line 13

Warning: Undefined array key "user_type" in C:\xampp\htdocs\tcc\login_form.php on line 23

Warning: Undefined array key "user_type" in C:\xampp\htdocs\tcc\login_form.php on line 28

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!