Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alan Arnese

Vincular dados usuário de login guardados em session com formulário qu

Recommended Posts

Bom dia galera do Imasters

 

Estou quebrando a cabeça com um sistema de área restrita onde os usuários após logar são remetidos pra uma pagina onde temos um formulario (questionário com com 54 perguntas que serão inseridos no banco de dados para futura consulta dos visitantes do site )

 

No caso cada usuário representa um município do estado de são paulo que nós forneceremos o login e senha.

 

Tenho uma tabela "usuários" onde armazeno o login e senha do mesmo, e uma tabela "perguntas" onde os dados são enviados após preenchimento do formulário

 

Ai que começa o problema, como vincular o id da pergunta com o id do usuário? para quando o usuário for logado os dados das perguntas sejam atrelados ao usuario correto e não a outros ?

 

armazenei os dados do usuario e senha em uma session ,vou postar os códigos

 

 

login.php

<form action="autentica_login.php" class="contactForm" name="cform" method="post">
                <p>*Campos obrigatorios</p>
                <div class="input_boxes">
                    <p><label for="name">Login</label><span class="name-missing">Preencha seu login</span><br />
                    <input id="name" type="text" value="" name="login" /></p>
                    <p><label for="e-mail">Senha</label><span class="email-missing">Preencha sua senha</span><br />
                    <input id="e-mail" type="password"  name="senha" /></p>
                   
                
                 <input class="submit" type="submit" name="submit" value="Entrar" onfocus="this.blur()"  />
                  </div>   
            </form>

autentica_login.php

<?php 

include "conexao_db.php";


?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<META NAME="keywords" CONTENT="COOPCENT ABC">
<meta name="description" content="COOPCENT ABC">
<meta name="robots" content="index,follow">
<meta http-equiv="content-language" content="pt">
<META NAME="author" CONTENT="Alan Arnese">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />


<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<title>Autenticando</title>


<script type="text/javascript">

function loginsuccessfully(){
setTimeout("window.location='cadastro_inserir_perguntas_bd.php'", 2000);

}

function loginfailed(){
setTimeout("window.location='index.php'", 2000);

}



</script>

</head>

<body>


<?php

$login = $_POST['login'];
$senha= $_POST['senha'];


$consulta = mysql_query("SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha' ") or die(mysql_error());
$conta_registros = mysql_num_rows($consulta);

if($conta_registros > 0){

session_start();
$_SESSION['login']=$_POST['login'];
$_SESSION['senha']=$_POST['senha'];

echo "<center>Dados enviados com sucesso, aguarde um instante.</center>";
echo "<script>loginsuccessfully()</script>";


}else {

echo "<center>Nome de usuario ou senha invalidos! Aguarde um instante para tentar novamente  </center>";
echo "<script>loginfailed()</script>";
}

?>


</body>

</html>

 

funcoes_bd_perguntas_cadastro.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php

include "conexao_db.php";

?>



<?php



$pergunta_1 = $_POST['pergunta_1'];

$pergunta_2 = $_POST['pergunta_2'];

$pergunta_3 = $_POST['pergunta_3'];

$pergunta_4 = $_POST['pergunta_4'];

$pergunta_5 = $_POST['pergunta_5'];

$pergunta_6 = $_POST['pergunta_6'];

$pergunta_7 = $_POST['pergunta_7'];

$pergunta_8_grupo_social = $_POST['pergunta_8_grupo_social'];
$pergunta_8_associacao = $_POST['pergunta_8_associacao'];
$pergunta_8_cooperativa = $_POST['pergunta_8_cooperativa'];
$pergunta_8_sociedade_mercantil = $_POST['pergunta_8_sociedade_mercantil'];


$pergunta_9_grupo_informal_1 = $_POST['pergunta_9_grupo_informal_1'];
$pergunta_9_grupo_informal_2 = $_POST['pergunta_9_grupo_informal_2'];
$pergunta_9_grupo_informal_3 = $_POST['pergunta_9_grupo_informal_3'];
$pergunta_9_grupo_informal_4 = $_POST['pergunta_9_grupo_informal_4'];

$pergunta_9_associacao_1 = $_POST['pergunta_9_associacao_1'];
$pergunta_9_associacao_2 = $_POST['pergunta_9_associacao_2'];
$pergunta_9_associacao_3 = $_POST['pergunta_9_associacao_3'];
$pergunta_9_associacao_4 = $_POST['pergunta_9_associacao_4'];

$pergunta_9_cooperativa_1 = $_POST['pergunta_9_cooperativa_1'];
$pergunta_9_cooperativa_2 = $_POST['pergunta_9_cooperativa_2'];
$pergunta_9_cooperativa_3 = $_POST['pergunta_9_cooperativa_3'];
$pergunta_9_cooperativa_4 = $_POST['pergunta_9_cooperativa_4'];

$pergunta_9_sociedade_mencantil_1 = $_POST['pergunta_9_sociedade_mencantil_1'];
$pergunta_9_sociedade_mencantil_2 = $_POST['pergunta_9_sociedade_mencantil_2'];
$pergunta_9_sociedade_mencantil_3 = $_POST['pergunta_9_sociedade_mencantil_3'];
$pergunta_9_sociedade_mencantil_4 = $_POST['pergunta_9_sociedade_mencantil_4'];

$pergunta_10_agricultura = $_POST['pergunta_10_agricultura'];
$pergunta_10_agricultura_integrantes = $_POST['pergunta_10_agricultura_integrantes'];

$pergunta_10_pecuaria = $_POST['pergunta_10_pecuaria'];
$pergunta_10_pecuaria_integrantes = $_POST['pergunta_10_pecuaria_integrantes'];

$pergunta_10_alimentos_bebidas = $_POST['pergunta_10_alimentos_bebidas'];
$pergunta_10_alimentos_bebidas_integrantes = $_POST['pergunta_10_alimentos_bebidas_integrantes'];

$pergunta_10_artefatos_artesanais = $_POST['pergunta_10_artefatos_artesanais'];
$pergunta_10_artefatos_artesanais_integrantes = $_POST['pergunta_10_artefatos_artesanais_integrantes'];

$pergunta_10_artefatos_textil_confeccoes = $_POST['pergunta_10_artefatos_textil_confeccoes'];
$pergunta_10_artefatos_textil_confeccoes_integrantes = $_POST['pergunta_10_artefatos_textil_confeccoes_integrantes'];

$pergunta_10_servicos = $_POST['pergunta_10_servicos'];
$pergunta_10_servicos_integrantes = $_POST['pergunta_10_servicos_integrantes'];

$pergunta_10_atividades_industriais_diversas = $_POST['pergunta_10_atividades_industriais_diversas'];
$pergunta_10_atividades_industriais_diversas_integrantes = $_POST['pergunta_10_atividades_industriais_diversas_integrantes'];

$pergunta_10_coleta_reciclagem_materiais = $_POST['pergunta_10_coleta_reciclagem_materiais'];
$pergunta_10_coleta_reciclagem_materiais_integrantes = $_POST['pergunta_10_coleta_reciclagem_materiais_integrantes'];

$pergunta_10_fisioterapicos_limpeza_higiene = $_POST['pergunta_10_fisioterapicos_limpeza_higiene'];
$pergunta_10_fisioterapicos_limpeza_higiene_integrantes = $_POST['pergunta_10_fisioterapicos_limpeza_higiene_integrantes'];

$pergunta_10_credito_financas_solidarias = $_POST['pergunta_10_credito_financas_solidarias'];
$pergunta_10_credito_financas_solidarias_integrantes = $_POST['pergunta_10_credito_financas_solidarias_integrantes'];

$pergunta_10_artes_cultura_esporte_recreacao = $_POST['pergunta_10_artes_cultura_esporte_recreacao'];
$pergunta_10_artes_cultura_esporte_recreacao_integrantes = $_POST['pergunta_10_artes_cultura_esporte_recreacao_integrantes'];

$pergunta_10_extrativismos = $_POST['pergunta_10_extrativismos'];
$pergunta_10_extrativismos_integrantes = $_POST['pergunta_10_extrativismos_integrantes'];

$pergunta_10_outros_producao_servicos = $_POST['pergunta_10_outros_producao_servicos'];
$pergunta_10_outros_producao_servicos_integrantes = $_POST['pergunta_10_outros_producao_servicos_integrantes'];

$pergunta_11 = $_POST['pergunta_11'];

$pergunta_12 = implode(",", $_POST['pergunta_12']);

if (!empty($pergunta_12)) {                
      $qtd = count($pergunta_12);
       for ($i = 0; $i < $qtd; $i++);
	   }

$pergunta_12_outro = $_POST['pergunta_12_outro'];

$pergunta_13 = implode(",", $_POST['pergunta_13']);

if (!empty($pergunta_13)) {                
      $qtd = count($pergunta_13);
       for ($i = 0; $i < $qtd; $i++);
	   }
	   
$pergunta_13_outro = $_POST['pergunta_13_outro'];

$pergunta_14 = $_POST['pergunta_14'];

$pergunta_15 = $_POST['pergunta_15'];

$pergunta_16 = $_POST['pergunta_16'];

$pergunta_17 = $_POST['pergunta_17'];

$pergunta_18 = $_POST['pergunta_18'];

$pergunta_19 = $_POST['pergunta_19'];

$pergunta_20 = $_POST['pergunta_20'];

$pergunta_21_nome = $_POST['pergunta_21_nome'];
$pergunta_21_telefone = $_POST['pergunta_21_telefone'];
$pergunta_21_email = $_POST['pergunta_21_email'];

$pergunta_22 = $_POST['pergunta_22'];

$pergunta_23 = $_POST['pergunta_23'];

$pergunta_24 = $_POST['pergunta_24'];

$pergunta_25 = $_POST['pergunta_25'];

$pergunta_26 = $_POST['pergunta_26'];

$pergunta_27 = $_POST['pergunta_27'];

$pergunta_28 = $_POST['pergunta_28'];

$pergunta_29 = implode(",", $_POST['pergunta_29']);

if (!empty($pergunta_29)) {                
      $qtd = count($pergunta_29);
       for ($i = 0; $i < $qtd; $i++);
	   }
	   
$pergunta_29_outro = $_POST['pergunta_29_outro'];

$pergunta_30_quantidade = $_POST['pergunta_30_quantidade'];
$pergunta_30_quantidade_cargo_funcao_profissionais = $_POST['pergunta_30_quantidade_cargo_funcao_profissionais'];

$pergunta_31 = $_POST['pergunta_31'];

$pergunta_32 = $_POST['pergunta_32'];

$pergunta_33 = $_POST['pergunta_33'];

$pergunta_34 = $_POST['pergunta_34'];

$pergunta_35 = $_POST['pergunta_35'];

$pergunta_36 = $_POST['pergunta_36'];

$pergunta_37 = $_POST['pergunta_37'];

$pergunta_38 = $_POST['pergunta_38'];

$pergunta_39 = $_POST['pergunta_39'];

$pergunta_40 = $_POST['pergunta_40'];

$pergunta_41 = $_POST['pergunta_41'];

$pergunta_42 = $_POST['pergunta_42'];

$pergunta_43 = implode(",", $_POST['pergunta_43']);

if (!empty($pergunta_43)) {                
      $qtd = count($pergunta_43);
       for ($i = 0; $i < $qtd; $i++);
	   }
	   
$pergunta_43_outro = $_POST['pergunta_43_outro'];

$pergunta_44 = $_POST['pergunta_44'];

$pergunta_45 = $_POST['pergunta_45'];

$pergunta_46 = $_POST['pergunta_46'];

$pergunta_47 = $_POST['pergunta_47'];

$pergunta_48 = $_POST['pergunta_48'];

$pergunta_49 = $_POST['pergunta_49'];

$pergunta_50 = $_POST['pergunta_50'];

$pergunta_51 = $_POST['pergunta_51'];

$pergunta_52 = $_POST['pergunta_52'];

$pergunta_53 = $_POST['pergunta_53'];

$pergunta_54_nome = $_POST['pergunta_54_nome'];
$pergunta_54_cargo_prefeitura_empreendimento = $_POST['pergunta_54_cargo_prefeitura_empreendimento'];
$pergunta_54_telefone_contato = $_POST['pergunta_54_telefone_contato'];
$pergunta_54_email = $_POST['pergunta_54_email'];




// Passando todas as variaveis pegas pelo $post
$query = "INSERT INTO perguntas (pergunta_1, pergunta_2, pergunta_3, pergunta_4, pergunta_5, pergunta_6, pergunta_7, pergunta_8_grupo_social, pergunta_8_associacao, pergunta_8_cooperativa, pergunta_8_sociedade_mercantil, pergunta_9_grupo_informal_1, pergunta_9_grupo_informal_2, pergunta_9_grupo_informal_3, pergunta_9_grupo_informal_4, pergunta_9_associacao_1, pergunta_9_associacao_2, pergunta_9_associacao_3, pergunta_9_associacao_4, pergunta_9_cooperativa_1, pergunta_9_cooperativa_2, pergunta_9_cooperativa_3, pergunta_9_cooperativa_4, pergunta_9_sociedade_mencantil_1, pergunta_9_sociedade_mencantil_2, pergunta_9_sociedade_mencantil_3, pergunta_9_sociedade_mencantil_4, pergunta_10_agricultura, pergunta_10_agricultura_integrantes, pergunta_10_pecuaria, pergunta_10_pecuaria_integrantes, pergunta_10_alimentos_bebidas, pergunta_10_alimentos_bebidas_integrantes, pergunta_10_artefatos_artesanais, pergunta_10_artefatos_artesanais_integrantes, pergunta_10_artefatos_textil_confeccoes,
 pergunta_10_artefatos_textil_confeccoes_integrantes, pergunta_10_servicos, pergunta_10_servicos_integrantes, pergunta_10_atividades_industriais_diversas, pergunta_10_atividades_industriais_diversas_integrantes, pergunta_10_coleta_reciclagem_materiais, pergunta_10_coleta_reciclagem_materiais_integrantes, pergunta_10_fisioterapicos_limpeza_higiene,
 pergunta_10_fisioterapicos_limpeza_higiene_integrantes, pergunta_10_credito_financas_solidarias, pergunta_10_credito_financas_solidarias_integrantes, pergunta_10_artes_cultura_esporte_recreacao, pergunta_10_artes_cultura_esporte_recreacao_integrantes, pergunta_10_extrativismos, pergunta_10_extrativismos_integrantes, pergunta_10_outros_producao_servicos, pergunta_10_outros_producao_servicos_integrantes
, pergunta_11, pergunta_12, pergunta_12_outro, pergunta_13, pergunta_13_outro, pergunta_14, pergunta_15, pergunta_16, pergunta_17, pergunta_18, pergunta_19, pergunta_20, pergunta_21_nome, pergunta_21_telefone, pergunta_21_email, pergunta_22, pergunta_23, pergunta_24, pergunta_25, pergunta_26, pergunta_27, pergunta_28, pergunta_29, pergunta_29_outro, pergunta_30_quantidade, pergunta_30_quantidade_cargo_funcao_profissionais, pergunta_31, pergunta_32, pergunta_33, pergunta_34, pergunta_35, pergunta_36, pergunta_37, pergunta_38, pergunta_39, pergunta_40, pergunta_41, pergunta_42, pergunta_43, pergunta_43_outro, pergunta_44, pergunta_45, pergunta_46, pergunta_47, pergunta_48, pergunta_49, pergunta_50, pergunta_51, pergunta_52, pergunta_53, pergunta_54_nome, pergunta_54_cargo_prefeitura_empreendimento, pergunta_54_telefone_contato, pergunta_54_email) 


VALUES

 ('$pergunta_1', '$pergunta_2', '$pergunta_3', '$pergunta_4', '$pergunta_5', '$pergunta_6', '$pergunta_7', '$pergunta_8_grupo_social', '$pergunta_8_associacao', '$pergunta_8_cooperativa', '$pergunta_8_sociedade_mercantil', '$pergunta_9_grupo_informal_1', '$pergunta_9_grupo_informal_2', '$pergunta_9_grupo_informal_3', '$pergunta_9_grupo_informal_4', '$pergunta_9_associacao_1', '$pergunta_9_associacao_2', '$pergunta_9_associacao_3', '$pergunta_9_associacao_4', '$pergunta_9_cooperativa_1', '$pergunta_9_cooperativa_2', '$pergunta_9_cooperativa_3', '$pergunta_9_cooperativa_4', '$pergunta_9_sociedade_mencantil_1', '$pergunta_9_sociedade_mencantil_2', '$pergunta_9_sociedade_mencantil_3', '$pergunta_9_sociedade_mencantil_4', '$pergunta_10_agricultura', '$pergunta_10_agricultura_integrantes', '$pergunta_10_pecuaria', '$pergunta_10_pecuaria_integrantes', '$pergunta_10_alimentos_bebidas', '$pergunta_10_alimentos_bebidas_integrantes', '$pergunta_10_artefatos_artesanais', '$pergunta_10_artefatos_artesanais_integrantes', '$pergunta_10_artefatos_textil_confeccoes
', '$pergunta_10_artefatos_textil_confeccoes_integrantes', '$pergunta_10_servicos', '$pergunta_10_servicos_integrantes', '$pergunta_10_atividades_industriais_diversas', '$pergunta_10_atividades_industriais_diversas_integrantes', '$pergunta_10_coleta_reciclagem_materiais', '$pergunta_10_coleta_reciclagem_materiais_integrantes', '$pergunta_10_fisioterapicos_limpeza_higiene',
 '$pergunta_10_fisioterapicos_limpeza_higiene_integrantes', '$pergunta_10_credito_financas_solidarias', '$pergunta_10_credito_financas_solidarias_integrantes', '$pergunta_10_artes_cultura_esporte_recreacao', '$pergunta_10_artes_cultura_esporte_recreacao_integrantes', '$pergunta_10_extrativismos', '$pergunta_10_extrativismos_integrantes', '$pergunta_10_outros_producao_servicos', '$pergunta_10_outros_producao_servicos_integrantes
', '$pergunta_11', '$pergunta_12', '$pergunta_12_outro', '$pergunta_13', '$pergunta_13_outro', '$pergunta_14', '$pergunta_15', '$pergunta_16', '$pergunta_17', '$pergunta_18', '$pergunta_19', '$pergunta_20', '$pergunta_21_nome', '$pergunta_21_telefone', '$pergunta_21_email', '$pergunta_22', '$pergunta_23', '$pergunta_24', '$pergunta_25', '$pergunta_26', '$pergunta_27', '$pergunta_28', '$pergunta_29', '$pergunta_29_outro', '$pergunta_30_quantidade', '$pergunta_30_quantidade_cargo_funcao_profissionais', '$pergunta_31', '$pergunta_32', '$pergunta_33', '$pergunta_34', '$pergunta_35', '$pergunta_36', '$pergunta_37', '$pergunta_38', '$pergunta_39', '$pergunta_40', '$pergunta_41', '$pergunta_42', '$pergunta_43', '$pergunta_43_outro', '$pergunta_44', '$pergunta_45', '$pergunta_46', '$pergunta_47', '$pergunta_48', '$pergunta_49', '$pergunta_50', '$pergunta_51', '$pergunta_52', '$pergunta_53', '$pergunta_54_nome', '$pergunta_54_cargo_prefeitura_empreendimento', '$pergunta_54_telefone_contato', '$pergunta_54_email')";
// Executa a query
$inserir = mysql_query($query);
if ($inserir) {
echo "Cadastro inserido com sucesso!";
} else {
echo "Não foi possível inserir o cadastro, tente novamente.";
// Exibe dados sobre o erro:
echo "Dados sobre o erro:" . mysql_error();
}


     
   
?>


Meu grande nó é vincular os dados de login e senha da session com os dados da tabela pergunta individualmente para cada usuário, para poder inserir as perguntas e editar posteriormente.

 

Desde já agradeço a ajuda pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo, para essa situação vc vai precisar de uma ligação NxN entre perguntas e usuários em seu banco de dados, essa terceira tabela, ao meu ver, terá os campos id_usuario, id_pergunta e resposta. Pra não precisar inserir de novo as perguntas no banco a cada resposta obtida, além disso, aconselho usar a PDO para manipular o banco, ou então mysqli.

 

Poste seu modelo do banco, isso vai nos ajudar a lhe ajudar.

 

Até.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi, você quer salvar as respostas devidamente identificadas pelo usuário que respondeu?

Se for esse o caso, vc ja tem o id do usuário na sua session... qual a dificuldade? Ja criou sua query? Deu erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tabela usuarios

 

tabela perguntas
Obrigado pela ajuda pessoal
Luiz Paulo Francis: como seria a ligação entre as 2 tabelas por essa terceira tabela só pra ter uma noção?
mu.silva: Então cara no caso quando o usuario loga ele vai pra pagina do formulario com os dados da session, mas ainda não tem nenhum vinculo entre as 2 tabelas, preciso quando o usuario digitar os dados no formulario e enviar seja vinculado as 2 tabelas como se o usuario x fosse dono do registo x da tabela perguntas, no caso vincular id com id

Compartilhar este post


Link para o post
Compartilhar em outros sites

guarda as respostas pegas por inputs,checkboxes,radios por $POST e guarda no bd

 

depois que eles registrarem, será usados os dados para consulta no site,pois os usuarios comuns do site sem login e senha vão fazer consultas baseadas nesses dados que serão preenchidos pelos usuarios de cada municipio, a fonte de alimentação do site será esses dados do formulario

 

por isso preciso ter controle para que cada usuario tenha seus próprios dados para serem editados,excluidos etc

 

Só preciso entender como vincular os dados do login da session com um id(registro) da tabela perguntas

 

Se for preciso remodelar as tabelas do banco de dados tranquilo, o importante é eu entender como vincular 2 tabelas para que o usuario x só tenha acesso ao registro x da tabela perguntas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, o mais correto seria você pensar em reformular o seu banco de dados. Ele está ferindo alguns princípios básicos. Mas para resolver o seu problema não é difícil.

 

Na sua tabela de perguntas tem o campo id_usuario (primeiro campo da tabela conforme a foto que você postou). Você deve alterar a sua query de modo que nesse campo você coloque o id do usuário logado. Ok até aqui??

Para pegar o id do usuário logado, faça a mesma coisa que você faz para salvar o login e a senha na session. Crie uma outra variável de sessão para armazenar esse id, e na hora de executar a query das perguntas use o id gravado nessa nova variável de sessão.

 

Fazendo isso dará certo.

 

Vale lembrar que como falaram aí em cima, a função msyql está depreciada, hoje você terá suporte, mas caso atualizem a versão do seu PHP para a próxima versão a ser lançado, você terá problemas.

 

Termine o que você já começou, mas pense em refatorar o sistema depois.

Se der certo avise, senão der certo, avise também. :)

Té+

Compartilhar este post


Link para o post
Compartilhar em outros sites

muito obrigado WellingtonBraga pela ajuda, irei quebrar a cabeça agora com as explanações que me deu, foi de muita ajuda para me dar uma luz de como vincular as tabelas

 

no caso então terei 2 sessões, uma sessão que pega os dados do login e senha da tabela usuarios e outra sessão que guarda o id da tabela perguntas.

 

no caso quando eu estiver as sessions criadas, como vinculo o id da session 1 com a session 2?

 

só essa dúvida que ainda ficou, enquanto isso vou quebrando a cabeça aqui

 

 

 

 

dupliquei o post sem querer,minha net está pessima hoje , e complementando, pretendo estudar PDO para colocar em ordem tudo que eu for desenvolver daqui pra frente, nesse caso não tenho tempo para fazer isso nesse projeto infelizmente, então estou tentando com o que sei, mas tenho ciencia que está depreciada essas funções ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai,

 

É mais simples do que você está pensando.

Você não terá necessariamente duas sessões, você terá que criar uma nova variável de sessão. Atualmente você tem duas: $_SESSION['login'] e $_SESSION['senha'].
Você criará uma nova, por exemplo $_SESSION["id_usuario]. Essa nova variável guardará o id do usuário que você pegou no select que fez no banco usando a query abaixo:

$consulta = mysql_query("SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha' ") or die(mysql_error());

Essa query te retorna todos os dados do usuário, inclusive o id, pegue esse id e coloque-o na variável de sessão nova que comentei acima.

Você não vai precisar de outra sessão se fizer isso.

Em seguida, atualize sua query de cadastro das perguntas de modo a inserir o id do usuario. Vai ficar mais ou menos assim:

$query = "INSERT INTO perguntas (id_usuario, pergunta_1, pergunta_2, pergunta_3, pergunta_4, pergunta_5, pergunta_6, pergunta_7, pergunta_8_grupo_social, pergunta_8_associacao, pergunta_8_cooperativa, pergunta_8_sociedade_mercantil, pergunta_9_grupo_informal_1, pergunta_9_grupo_informal_2, pergunta_9_grupo_informal_3, pergunta_9_grupo_informal_4, pergunta_9_associacao_1, pergunta_9_associacao_2, pergunta_9_associacao_3, pergunta_9_associacao_4, pergunta_9_cooperativa_1, pergunta_9_cooperativa_2, pergunta_9_cooperativa_3, pergunta_9_cooperativa_4, pergunta_9_sociedade_mencantil_1, pergunta_9_sociedade_mencantil_2, pergunta_9_sociedade_mencantil_3, pergunta_9_sociedade_mencantil_4, pergunta_10_agricultura, pergunta_10_agricultura_integrantes, pergunta_10_pecuaria, pergunta_10_pecuaria_integrantes, pergunta_10_alimentos_bebidas, pergunta_10_alimentos_bebidas_integrantes, pergunta_10_artefatos_artesanais, pergunta_10_artefatos_artesanais_integrantes, pergunta_10_artefatos_textil_confeccoes,
pergunta_10_artefatos_textil_confeccoes_integrantes, pergunta_10_servicos, pergunta_10_servicos_integrantes, pergunta_10_atividades_industriais_diversas, pergunta_10_atividades_industriais_diversas_integrantes, pergunta_10_coleta_reciclagem_materiais, pergunta_10_coleta_reciclagem_materiais_integrantes, pergunta_10_fisioterapicos_limpeza_higiene,
pergunta_10_fisioterapicos_limpeza_higiene_integrantes, pergunta_10_credito_financas_solidarias, pergunta_10_credito_financas_solidarias_integrantes, pergunta_10_artes_cultura_esporte_recreacao, pergunta_10_artes_cultura_esporte_recreacao_integrantes, pergunta_10_extrativismos, pergunta_10_extrativismos_integrantes, pergunta_10_outros_producao_servicos, pergunta_10_outros_producao_servicos_integrantes
, pergunta_11, pergunta_12, pergunta_12_outro, pergunta_13, pergunta_13_outro, pergunta_14, pergunta_15, pergunta_16, pergunta_17, pergunta_18, pergunta_19, pergunta_20, pergunta_21_nome, pergunta_21_telefone, pergunta_21_email, pergunta_22, pergunta_23, pergunta_24, pergunta_25, pergunta_26, pergunta_27, pergunta_28, pergunta_29, pergunta_29_outro, pergunta_30_quantidade, pergunta_30_quantidade_cargo_funcao_profissionais, pergunta_31, pergunta_32, pergunta_33, pergunta_34, pergunta_35, pergunta_36, pergunta_37, pergunta_38, pergunta_39, pergunta_40, pergunta_41, pergunta_42, pergunta_43, pergunta_43_outro, pergunta_44, pergunta_45, pergunta_46, pergunta_47, pergunta_48, pergunta_49, pergunta_50, pergunta_51, pergunta_52, pergunta_53, pergunta_54_nome, pergunta_54_cargo_prefeitura_empreendimento, pergunta_54_telefone_contato, pergunta_54_email)


VALUES

(".$_SESSION["id_usuario"].",'$pergunta_1', '$pergunta_2', '$pergunta_3', '$pergunta_4', '$pergunta_5', '$pergunta_6', '$pergunta_7', '$pergunta_8_grupo_social', '$pergunta_8_associacao', '$pergunta_8_cooperativa', '$pergunta_8_sociedade_mercantil', '$pergunta_9_grupo_informal_1', '$pergunta_9_grupo_informal_2', '$pergunta_9_grupo_informal_3', '$pergunta_9_grupo_informal_4', '$pergunta_9_associacao_1', '$pergunta_9_associacao_2', '$pergunta_9_associacao_3', '$pergunta_9_associacao_4', '$pergunta_9_cooperativa_1', '$pergunta_9_cooperativa_2', '$pergunta_9_cooperativa_3', '$pergunta_9_cooperativa_4', '$pergunta_9_sociedade_mencantil_1', '$pergunta_9_sociedade_mencantil_2', '$pergunta_9_sociedade_mencantil_3', '$pergunta_9_sociedade_mencantil_4', '$pergunta_10_agricultura', '$pergunta_10_agricultura_integrantes', '$pergunta_10_pecuaria', '$pergunta_10_pecuaria_integrantes', '$pergunta_10_alimentos_bebidas', '$pergunta_10_alimentos_bebidas_integrantes', '$pergunta_10_artefatos_artesanais', '$pergunta_10_artefatos_artesanais_integrantes', '$pergunta_10_artefatos_textil_confeccoes
', '$pergunta_10_artefatos_textil_confeccoes_integrantes', '$pergunta_10_servicos', '$pergunta_10_servicos_integrantes', '$pergunta_10_atividades_industriais_diversas', '$pergunta_10_atividades_industriais_diversas_integrantes', '$pergunta_10_coleta_reciclagem_materiais', '$pergunta_10_coleta_reciclagem_materiais_integrantes', '$pergunta_10_fisioterapicos_limpeza_higiene',
'$pergunta_10_fisioterapicos_limpeza_higiene_integrantes', '$pergunta_10_credito_financas_solidarias', '$pergunta_10_credito_financas_solidarias_integrantes', '$pergunta_10_artes_cultura_esporte_recreacao', '$pergunta_10_artes_cultura_esporte_recreacao_integrantes', '$pergunta_10_extrativismos', '$pergunta_10_extrativismos_integrantes', '$pergunta_10_outros_producao_servicos', '$pergunta_10_outros_producao_servicos_integrantes
', '$pergunta_11', '$pergunta_12', '$pergunta_12_outro', '$pergunta_13', '$pergunta_13_outro', '$pergunta_14', '$pergunta_15', '$pergunta_16', '$pergunta_17', '$pergunta_18', '$pergunta_19', '$pergunta_20', '$pergunta_21_nome', '$pergunta_21_telefone', '$pergunta_21_email', '$pergunta_22', '$pergunta_23', '$pergunta_24', '$pergunta_25', '$pergunta_26', '$pergunta_27', '$pergunta_28', '$pergunta_29', '$pergunta_29_outro', '$pergunta_30_quantidade', '$pergunta_30_quantidade_cargo_funcao_profissionais', '$pergunta_31', '$pergunta_32', '$pergunta_33', '$pergunta_34', '$pergunta_35', '$pergunta_36', '$pergunta_37', '$pergunta_38', '$pergunta_39', '$pergunta_40', '$pergunta_41', '$pergunta_42', '$pergunta_43', '$pergunta_43_outro', '$pergunta_44', '$pergunta_45', '$pergunta_46', '$pergunta_47', '$pergunta_48', '$pergunta_49', '$pergunta_50', '$pergunta_51', '$pergunta_52', '$pergunta_53', '$pergunta_54_nome', '$pergunta_54_cargo_prefeitura_empreendimento', '$pergunta_54_telefone_contato', '$pergunta_54_email')";

Note que eu não sei se a query acima vai funcionar direto, dá uma analisada nela, se precisar muda algo e tenta
executar. A minha idéia é só te dar uma base de como fazer.

 

 

 

Posta aí se der certo.

Ficou mais alguma dúvida?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por luiz0o
      Estou fazendo um projeto para faculdade, e tenho um formulário, esse formulário precisa enviar as respostas tanto para um banco de dados, mas também tem que enviar para uma API que envia para meu email, mas não sei como fazer essas duas coisas ao mesmo tempo
    • Por eduardodsilvaq
      Erro retornado no console do navegador: 400 bad request
      Rastreei o erro ate essa parte no arquivo admin-ajax.php mudando o valor de resposta de 0 para 1:
      if ( is_user_logged_in() ) { // If no action is registered, return a Bad Request response. if ( ! has_action( "wp_ajax_{$action}" ) ) { wp_die( '0', 400 ); } Tentei de tudo, mas infelizmente nao entendi oq realmente significa esse login e como ele funciona.
      Vi algumas pessoas tendo problema com o host, no meu caso estou usando hostinger. (Nao creio que isso e relevante mas ta ai.)
       
      Código utilizado:
       
      Javascript
      function formValidation() { event.preventDefault(); var name = document.forms["contactForm"]["name"].value; var email = document.forms["contactForm"]["email"].value; var subject = document.forms["contactForm"]["subject"].value; var message = document.forms["contactForm"]["message"].value; document.getElementById('status').innerHTML = ''; var errorMessage="<span class='error'>All fields are required.</span>"; var regEx = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; if (name.trim() == "" ||email.trim() == "" || subject.trim() == "" || message.trim() == "") { document.getElementById('status').innerHTML = errorMessage; return false; } if (!regEx.test(email)) { var errorMessage="<span class='error'>Invalid email.</span>"; document.getElementById('status').innerHTML = errorMessage; return false; } processContactSubmit(); return true; } function processContactSubmit() { var request = new XMLHttpRequest(); request.open("POST", "/wp-admin/admin-ajax.php?action=process_contact_form"); request.onreadystatechange = function() { if(this.readyState === 4 && this.status === 200) { document.getElementById("status").innerHTML = this.responseText; } }; var myForm = document.getElementById("contactForm"); var formData = new FormData(contactForm); request.send(formData); } functions.php
      add_action('wp_ajax_nopriv_process_contact_form', 'process_contact_form'); add_action('wp_ajax_process_contact_form', 'process_contact_form'); //Retirar essa parte para error no console, no contrario ira aparecer no navegador o numero 0. function process_contact_form() { $to = "Recipient Email Address"; $subject = $_POST["subject"]; $headers = "Testing"; $message = $_POST["message"]; $attachments = ""; $sent = wp_mail($to, $subject, $message, $headers, $attachments); if (! $sent) { echo "<span class='error'>Problem in sending mail.</span>"; } else { echo "<span class='success'>Hi, thank you for the message.</span>"; } wp_die(); } Html
      <form name="contactForm" id="contactForm" method="post" onsubmit="return formValidation()" action=""> <p class="comment-form-comment"><textarea id="message" name="message" required="" placeholder="" aria-required="true"></textarea></p> <p class="comment-form-author"><label for="author">Nome: </label> <input id="name" name="name" required="" size="30" type="text" value=" " /></p> <p class="comment-form-author about"><label for="author">Assunto: </label> <input id="subject" name="subject" required="" size="40" type="text" value=" " /></p> <p class="comment-form-email"><label for="email">Email: </label> <input id="email" name="email" required="" size="30" type="text" value="" /></p> <p class="form-submit"><input id="submit" class="submit" name="email_contato" type="submit" value="Enviar" /></p> </form>&nbsp; <h3><div id="status"></div></h3>  
    • Por cesarhtc
      Boa noite, estou precisando copiar tabelas oracle, como são muitas tabelas só quero copiar somente aquelas que foram alteradas em seus registros ou estrutura no dia (diariamente).
       
      desde já agradeço.
    • Por Alvaro_php
      Pessoal boa noite
      Tenho um sistema em Visual Basic 6 que utiliza um documento do Word que é enviado para as empresas, onde tenho algumas flags que são utilizadas para colocar no nome da empresa e endereço e que são enviadas via email

      Estou conseguindo converter esse documento do WORD em PDF sem problemas
      Private Sub ConverterWordParaPDF()

          On Error GoTo TrataErro
          Dim ObjWord2 As Word.Application
          Dim ObjWordDoc2 As Word.Document
          
          Set ObjWord2 = CreateObject('Word.Application')
          ObjWord2.Visible = False
          ObjWord2.DisplayAlerts = wdAlertsNone

          Set ObjWordDoc2 = ObjWord2.Documents.Open(App.Path + '\Documento.doc', True, True, False, Replace(Replace(Replace(Replace(Rs(1), '/', ''), '-', ''), '.', ''), '_', ''))

          ObjWordDoc2.ExportAsFixedFormat OutputFileName:= _
          App.Path + '\Documento.pdf', ExportFormat:=wdExportFormatPDF, _
          OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
          wdExportAllDocument, from:=1, To:=1, Item:=wdExportDocumentContent, _
          IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:= _
          wdExportCreateNoBookmarks, DocStructureTags:=True, BitmapMissingFonts:= _
          True, UseISO19005_1:=False
              
          ObjWord2.Visible = False
          ObjWord2.Quit (False)
          Set ObjWord2 = Nothing
      Exit Sub
      TrataErro:
        msgbox 'Erro ao converter o documento'
      End Sub

      Porém a senha que coloquei no word, não está ficando no arquivo pdf após a conversão, e também não achei nenhuma opção para incluir uma senha nesse novo arquivo

      Não estou usando o Crystal e o documento do word é um documento qualquer que o cliente usa, por isso que não da para utilizar o crystal

      Alguém sabe como que eu poderia fazer essa conversão e colocar a senha nesse novo arquivo ou teria alguma outra forma de converter esse documento para pdf que desse para colocar a senha

      Desde já agradeço a todos
    • Por rodrigomouran
      Galera, sou novo por aqui e em códigos PHP e Web, mas, tenho me virado. Porém esbarrei em um problema.
      Estou usando um banco PostgreSQL para desenvolvimento de uma aplicação simples para minha empresa onde eu quero digitar um código numérico no campo do formulário e ele me retornar 2 outros campos deste formulário preenchidos baseado no código pesquisado no banco.
      Tenho a minha página index.html com o conteúdo:
      <html> <head>   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>   <script type="text/javascript">   $(document).ready(function(){     $("input[name='usucod']").blur(function(){       var $usunom = $("input[name='usunom']");       var $pricod = $("input[name='pricod']");       $usunom.val('Carregando...');       $pricod.val('Carregando...');         $.getJSON(           'function.php',           { usucod: $( this ).val() },           function( json )           {             $usunom.val( json.usunom );             $pricod.val( json.pricod );           }         );     });   });   </script> </head> <body>   <form action="" method="post">     <label>Código: <input type="text" name="usucod" /></label>     <label>Nome: <input name="usunom" type="text" disabled="disabled" value="" /></label>     <label>Pricod: <input type="text" name="pricod" value="" /></label>   </form> </body> </html> e minha página function.php com o conteúdo:
      <?php   /**    * função que devolve em formato JSON os dados do cliente    */   function retorna( $usucod, $db )   {     $sql = "SELECT usucod, usunom, pricod FROM usuario WHERE usucod = {$usucod} ";     $query = $db->query( $sql );     $arr = Array();     if( $query->num_rows )     {       while( $dados = $query->fetch_object() )       {         $arr['usunom'] = $dados->usunom;         $arr['pricod'] = $dados->pricod;       }     }     else       $arr['usunom'] = 'não encontrado';     return json_encode( $arr );   } /* só se for enviado o parâmetro, que devolve os dados */ if( isset($_GET['usucod']) ) {   $db = pg_connect("host=XXX.XXX.XXX.XXX port=5432 dbname=banco user=usuario password=senha");   echo retorna( filter ( $_GET['usucod'] ), $db ); } function filter( $var ){   return $var; } Ao digitar o código, meus campos a serem preenchidos ficam somente com o valor 'carregando...' visível.
       
       
       
      Agradeço a ajuda!

×

Informação importante

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