Ir ao conteúdo

Posts recomendados

Postado

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!

Postado

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

Postado

 

   
<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 😕

Postado

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 😄

Postado

@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

Postado

@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

 

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...