1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Buscar o ID do usuario logado no PHP

Boa tarde, tenho que pegar o id do usuário logado e colocar no insert, mas ele não dá certo.

login.php


<?php
  session_start();
  include_once("funcoes.php");
  include_once("conexao.php");

  $email = mysqli_real_escape_string($bd, $_POST["email"]);
  $senha = mysqli_real_escape_string($bd, $_POST["senha"]);

  $sql = "select * from professor where email = '$email' and senha = '$senha'";

  $resultado = mysqli_query($bd, $sql);

  //se o número de linhas resultante é 1
  if ( mysqli_num_rows($resultado) == 1 ) {
    session_start(); //inicia a sessão
    $dados = mysqli_fetch_assoc($resultado);

    //coloca na sessão alguns dados ...
    $_SESSION["idprof"] = $dados["idprof"];
    $_SESSION["email"] = $email;
    $_SESSION["senha"] = $senha;

    mysqli_close($bd);
    header("location: pagina_inicial.php");  
  }else {
    unset($_SESSION['email']);
    unset($_SESSION['senha']);
    unset($_SESSION['idprof']);
    header("location: index.php?mensagem=Login ou senha não conferem");
  }
?>

tento colocar o id do usuario aqui cadastro_prova.php


<?php
    session_start();
    include_once("conexao.php");

    $mensagem = "";

    /*
         ==> Declarar uma variável para cada campo da tabela
    */

    $idprova = "";
    $descricao = "";
    $disciplina = "";
    $dtprova = "";
    $idquestao = "";
    //$idprof = $_SESSION['idprof'];

    $podeAlterar = "";

    if (! isset($_POST["acao"])) {
        $descr_acao = "Incluir";
    } else{
        $acao = $_POST["acao"];
        if (strtoupper($acao) == "INCLUIR" || strtoupper($acao) == "SALVAR") {
            /*
                ==> Atribur os dados recebidos por POST às variáveis (exceto a chave primária)
            */                    
            $descricao = mysqli_real_escape_string($bd, $_POST["descricao"]);
            $disciplina = mysqli_real_escape_string($bd, $_POST["disciplina"]);
            $dtprova = mysqli_real_escape_string($bd, $_POST["dtprova"]);
            $idquestao = mysqli_real_escape_string($bd, $_POST["idquestao"]);
            $idprof = mysqli_real_escape_string($bd, $_POST["idprof"]);
        }

        if (strtoupper($acao) == "SALVAR" || strtoupper($acao) == "EXCLUIR" || strtoupper($acao) == "BUSCAR") {
            /*
                ==> Atribur a chave primária
            */
            $idprova = $_POST["idprova"];

        } else if (strtoupper($acao) == "INCLUIR") {
            /*
                ==> Montar um comando SQL do tipo INSERT declarando todas as colunas e valores (observe a necessidade de aspas em campos do tipo caracter e do tipo data.
            */



            $sql = "INSERT into prova (descricao, disciplina, dtprova, idprof)
                    //values ('$descricao', '$disciplina', '$dtprova', $idprof)";

            mysqli_query($bd, $sql);

            $idprova = mysqli_insert_id($bd);
            echo $idprova;

            //inicia uma string para botar todos os inserts
            $sql = "";

            //para cada Item dentro do $_POST
            foreach($_POST as $idquestao => $valor){
                //se a string que veio no rotulo de post for um numero assumimos que é um id de questão válido
                if(is_numeric($idquestao)){
                    //adiciona ao query o insert
                    $sql = "INSERT INTO questao_prova(idprova, idquestao) VALUES($idprova, $idquestao)";
                    //executa o query de insert
                    mysqli_query($sql);
                }
            }

            if ( ! mysqli_query($bd, $sql)) {
                $mensagem = "<h3>Ocorreu um erro ao inserir os dados</h3>
                <h3>Erro: ".mysqli_error($bd)."</h3>
                <h3>Código: ".mysqli_errno($bd)."</h3>";
                $descr_acao = "Incluir";
            }else{
                $descr_acao = "Salvar";
                $idprova = mysqli_insert_id($bd);
            }
            //header("location: prova.php");
        }else if (strtoupper($acao) == "BUSCAR"){
            $descr_acao = "Salvar";
            $sql = "SELECT * from prova where idprova = $idprova";
            $resultado = mysqli_query($bd, $sql);

            if (mysqli_num_rows($resultado) == 1) {
                $dados = mysqli_fetch_assoc($resultado);
                $idprova = $dados["idprova"];
                $descricao = $dados["descricao"];
                $disciplina = $dados["disciplina"];
                $dtprova = $dados["dtprova"];
                $idprof = $dados["idprof"];
            }
        }
    }

    $sql_listar = "SELECT idquestao, enunciado, tipo from questao order by idquestao";
    $lista = mysqli_query($bd, $sql_listar);

        if (mysqli_num_rows($lista) > 0 ) {
        $tabela = "<table border='1'>";
        $tabela = $tabela."<tr><th>Idquestao</th><th>Enunciado</th><th>Tipo</th><th>Selecionar</th></tr>";

        while ($dados = mysqli_fetch_assoc($lista)) {
            $vidquestao = $dados["idquestao"];
            $venunciado = $dados["enunciado"];
            $vtipo = $dados["tipo"];

                $selecionar = "<center>
                               <input type='checkbox' name='$idquestao' value='submit'>
                               </center>";

                $tabela = $tabela."<tr><td><center>$vidquestao</center></td><td>$venunciado</td><td><center>$vtipo</center></td><td>$selecionar</td></tr>";
            }
            $tabela = $tabela."</table>";
        }else{
            $tabela ="Não há Questões Cadastrados para listar";
        }
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Cadastro de Prova</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="Login/css/util.css">
    <link rel="stylesheet" type="text/css" href="Login/css/main.css">
</head>
<body style="background-color: #EEE9E9">
    <?php include("navbar.php") ?>
    <?php include_once("boots.php"); ?>
    <?php  
        $msg = "";
        if ( isset( $_GET["mensagem"] ) )
            $msg = $_GET["mensagem"];
    ?>
    <form method="POST"><br>
        <span class="login100-form-title p-70"> Cadastro de Prova </span><br>

            <label for="descricao">Descrição: </label>
            <input type="text" id="descricao" class="col-sm-6 col-form-label" name="descricao" size="200" maxlength="200" placeholder="Descricao" value="<?php echo $descricao; ?>" <?php echo $podeAlterar; ?>> <br><br>

            <label for="disciplina">Disciplina: </label>
            <input type="text" id="disciplina" class="col-sm-6 col-form-label" name="disciplina" size="60" maxlength="60" placeholder="Disciplina" value="<?php echo $disciplina; ?>" <?php echo $podeAlterar; ?>> <br><br>

            <label for="dtprova">Data: </label>
            <input type="date" id="dtprova" class="col-form-label" name="dtprova"value="<?php echo $dtprova; ?>" <?php echo $podeAlterar; ?>> <br><br>

            <fieldset>
                <legend>Questões Cadastrados</legend>
                <?php echo $tabela; ?>
            </fieldset>

            <div>
                <br>
                <a href="prova.php" class="btn btn-dark">Cancelar</a> 
                <input type="submit" tabindex="1" class="btn btn-dark" name="acao" value="<?php echo $descr_acao; ?>" <?php echo $podeAlterar; ?> >
            </div>
    </form>
    <div id="dropDownSelect1"></div>
</body>
</html>
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags php html ou faça a sua própria pergunta.