Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Select e Insert não funcionam


Thiago0803

Pergunta

Bom dia, galera.

Estou com um problema bem parecido com o de um colega nosso do fórum, porém o dele não foi resolvido e pode não ser BEM igual o meu.

Fiz um formulário de Suporte para a empresa em que trabalho:

- Tenho um LOGIN que leva uma SESSION para as páginas.

- Um formulário com dados, como:Setor, Problema, Assunto, etc.

- Um Submit que me envia para o Mysql.

Códigos em PHP.

Se eu atribuir por ex. o valor de um $_POST["problema"] em uma variável, e der um echo ele imprime. Se eu tento incluir essa variável no banco ele não insere.

Se eu tento dar um select(atribuindo o valor a uma variavel também, ele não imprime essa var quando dou echo).

Vou postar o código aqui do meu envio.php, se precisarem de mais alguma coisa para que possam verificar eu posto aqui tb.

Agradeço!!

<?php 
$xassunto = $_POST['assunto'];
$xproblema = $_POST['problema'];
$xemail = $_POST['email'];
$xsetor = $_POST['setor'];


 if(($_POST['assunto'] == 1) || ($_POST['assunto'] == 2) || ($_POST['assunto'] == 3) || ($_POST['assunto'] == 4))
 $destino = 1;
 else if(($_POST['assunto'] == 5) || ($_POST['assunto'] == 6) || ($_POST['assunto'] == 7) || ($_POST['assunto'] == 8) || ($_POST['assunto'] == 9) || ($_POST['assunto'] == 10) || ($_POST['assunto'] == 11))
 $destino = 2;

  
 $musID = mysql_query('SELECT (UserID) From usuarios Where $_POST["login"] = UserName');
 $mptID = mysql_query("SELECT MAX(IDProtocolo) From protocolos");

$insert = "INSERT INTO Protocolos (IDProtocolo,UserID,Problema,Assunto,setor) values ('mpID + 1','$musID','$xproblema','$xassunto','xsetor')"; 

  echo 'Problema:   ';
  echo $xproblema;
  echo '\<BR>';
  echo 'Setor:   ';
  echo $xsetor;
  echo '<BR>';
  echo 'Insere:   ';
  echo $insere;
  echo '<BR>';
  echo 'E-mail:   ';
  echo $xemail;
  echo '<BR>';
  echo '   ';
  echo '<BR>';
  echo ('::::::');
  echo $ptID;
  echo '<BR>';
  echo ('Max. Protocol:    ');
  echo $musID;

E SIM, ele está conectado ao banco...

No inicio ele solicita um LOGIN e SENHA e faz a verificação com o banco:SE existe passa para a próxima página, senão ele mostra uma mensagem de erro!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Oi 'Thiago0803'

Não está parecendo ser um erro do MySQl. vou passar seu tópico para a área de PHP para que você seja melhor atendido, já que não conheço nada desta linguagem.

Movendo MySQl -->> PHP

Link para o comentário
Compartilhar em outros sites

  • 0

Uma parte que estava incorreta foi corrigida(o problema não se resolveu, mas vou mandar a correção):

- ANTIGA

$insert = "INSERT INTO Protocolos (IDProtocolo,UserID,Problema,Assunto,setor) values ('mpID + 1','$musID','$xproblema','$xassunto','xsetor')";
- ATUAL
$insert = "INSERT INTO Protocolos (IDProtocolo,UserID,Problema,Assunto,setor) values ('$mpID + 1','$musID','$xproblema','$xassunto','$xsetor')";

:huh:

Ninguém?

Editado por Thiago0803
Link para o comentário
Compartilhar em outros sites

  • 0

Bom Thiago0803, você disse que está conectado ao banco, pois verifica o login e redireciona para a próxima página, mas e nessa "próxima" página, existe a conexão com o banco?

Pois não à vi no seu código, e todas as páginas que se comunicam com o banco devem ter a conexão.

Caso isso já está certo, e mesmo assim não funciona, exibe alguma erro?

Link para o comentário
Compartilhar em outros sites

  • 0

Então...

Deixa eu explicar, pode ser que esteja aí o erro sim!Mas vamos lá:

Paginas:

1 - Login.php ~> Logar.php ~> Formulario.php ~> Restrito.php ~> envio.php;

Login:Contém um formulario USUARIO E SENHA que verifica no banco se existe ou não, se não existe ele mostra o erro "Blablabla, não existe".(função do logar.php)

ANTES DISSO ELE POSSUI A CONEXÃO COM O BANCO.

$userBusca = mysql_query("SELECT * FROM usuarios WHERE UserName='".$_POST["login"]."' AND UserPass='".$_POST["senha"]."'") or die(mysql_error());

if(mysql_num_rows($userBusca) == 1)
{
    @session_start();
    $_SESSION["login"]=$_POST["login"];
    $_SESSION["senha"]=$_POST["senha"];
header("Location:formulario.php");
}
else
{
    echo '<href="java script:history.go(-1)">Usuario e/ou senha invalidos </a>';
}

?>
Bom...Seguido disso, temos o formulario.php. Formulario:Contém os campos para o usuário preencher que estão corretos e com os valores atribuídos às variáveis destinadas e imprimem o valor correto no echo, ou seja, com os campos nada errado. Quando verificamos o formulario.php ele chama o restrito.php que contém:
<?php
    @session_start();
if (isset($_SESSION["login"])) {}
else {
header("Location:Login.php");
}
?>

No caso, o restrito está para verificar se a SESSION foi iniciada corretamente no logar.php!!

Seguido disso, quando clickamos em ENVIAR(submit), os dados são incluídos(insert) e selecionados(select) com informações do banco. Função do envio.php(que postei o código logo acima).

Consegue concluir algo, +-? =\

Pode mesmo ser o que você disse, mas não consigo ver o erro....

Link para o comentário
Compartilhar em outros sites

  • 0

Então, na página envio.php existe conexão com a base de dados?

Pelo que vi, você faz a conexão só na página de login, mas não nas outras páginas, como disse acima, todas as páginas aonde terá algum tipo de "contato" com a base de dados, precisa da conexão.

Link para o comentário
Compartilhar em outros sites

  • 0

Esse é o meu config.php(que faz a conexão com o banco e é chamado no inicio(logar.php)).

<?php
//Conectando no Banco.
$conexao = mysql_connect("localhost","root","thiago") or die(mysql_error());
mysql_select_db("dbsuporte",$conexao) or die(mysql_error());
?>

Eu preciso disso em cada página?

Eu imaginei, mas não sei se seria exatamente esse código...

Oh My God!

Gay moment!!

I LOVE YOU aiuhiuahuaihoaui...

Consegui ;DD

Noss...As vezes é preciso ouvir o que você já sabe de alguém auihouiehuaiohiu!!

Eu imaginei que era isso e nem tentei =DD

porque sei lá porque...kkk

Valeu maninho!

Pode fechar se quiser =]

RESOLVIDO!!

(config.php configurado no envio.php)

Link para o comentário
Compartilhar em outros sites

  • 0

Agora sobrou um probleminha, mas é algo de código mesmo!!

Se eu não conseguir eu posto novamente com a dúvida...

Uma dúvida rapidinho...

Pode ser aqui,aproveitando o embalo?

Posso fazer isso?

$mptID = mysql_query("SELECT MAX(IDProtocolo) From protocolos");

$mptID = $mptID + 1;

Eu posto em outro ;DD

valeu!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...