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

Não executa IF


acborba

Pergunta

alguém sabe me dizer porque não está executando o IF neste código? A inserção é feito com o tipo 3, mas não executa o IF. No banco de dados este código esta funcionando.

<?
include "conexao.inc";

$n=$_GET[nome];
$u=$_GET[usuario];
$s=$_GET[senha];
$t=$_GET[tipo];

$resultado=mysql_query("INSERT INTO usuario VALUES(idUsuario,'$n','$u','$s','$t')");

if (tipo==3) {
    $questionario=mysql_query("INSERT INTO questionario (questionario.idUsuario) 
                       VALUES SELECT usuario.idUsuario 
                       FROM usuario 
                       WHERE usuario.idUsuario = 
                       SELECT MAX(usuario.idUsuario) 
                       FROM usuario");

}
echo "USUARIO CADASTRADO COM SUCESSO!!!";
mysql_close($conexao);

?>

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

16 respostass a esta questão

Posts Recomendados

  • 0

tipo ele está trabalhando como constante.

Variável em php é $tipo

Coloque aspas simples nos valores das chaves do GET ex: $_GET['tipo'];

Link para o comentário
Compartilhar em outros sites

  • 0
tipo ele está trabalhando como constante.

Variável em php é $tipo

Coloque aspas simples nos valores das chaves do GET ex: $_GET['tipo'];

Não entendi qual a diferença. :huh:

Da outra forma também funciona, pelo menos sempre fiz assim e funcionou. :mellow:

Mas de um jeito ou de outro continua sem executar o IF.

Código modificado:

<?
include "conexao.inc";

$n=$_GET['nome'];
$u=$_GET['usuario'];
$s=$_GET['senha'];
$t=$_GET['tipo];

$resultado=mysql_query("INSERT INTO usuario VALUES(idUsuario,'$n','$u','$s','$t')");

if ($tipo==3) {
    $questionario=mysql_query("INSERT INTO questionario (questionario.idUsuario) 
                       VALUES SELECT usuario.idUsuario 
                       FROM usuario 
                       WHERE usuario.idUsuario = 
                       SELECT MAX(usuario.idUsuario) 
                       FROM usuario");

}
echo "USUARIO CADASTRADO COM SUCESSO!!!";
mysql_close($conexao);

?>

Link para o comentário
Compartilhar em outros sites

  • 0
tenta usar apenas =

if ($tipo=3) {

Se usares somente = ele vai atribuir 3 à variável tipo; sintaxe de PHP.

$t=$_GET['tipo']; tipo é entre aspas simples e não somente no começo;

E tua comparação é com $t e não com $tipo ¬¬

Link para o comentário
Compartilhar em outros sites

  • 0

Cole seu código modificado! =D

Link para o comentário
Compartilhar em outros sites

  • 0
Cole seu código modificado! =D

Estaé uma das últimas tentativas de várias.

<?
include "conexao.inc";

$n=$_GET['nome'];
$u=$_GET['usuario'];
$s=$_GET['senha'];
$t=$_GET['tipo'];

$resultado=mysql_query("INSERT INTO usuario VALUES(idUsuario,'$n','$u','$s','$t')");

if ($tipo==3) {
    $questionario=mysql_query("INSERT INTO questionario (questionario.idUsuario) 
                VALUES SELECT usuario.idUsuario 
                FROM usuario 
                WHERE usuario.idUsuario = 
                SELECT MAX(usuario.idUsuario) 
                FROM usuario");
}

echo "USUARIO CADASTRADO COM SUCESSO!!!";
mysql_close($conexao);

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Eu falei anteriormente!!!

Tu estás comparando $tipo == 3 sendo que tu colocaste $t = $_GET['tipo'] !!!

$t == 3

ou

$tipo = $_GET['tipo'];

Link para o comentário
Compartilhar em outros sites

  • 0

Já tentei isso e continua a mesma coisa.

Esse o código da pagina anterior, não sei se ajuda.

<tr>
              <td>Tipo:</td>
              <td><select name="tipo" >
                  <option value=1 selected="selected">Administrador</option>
                  <option value=2>CPA</option>
                  <option value=3>Aluno</option>
              </select></td>
            </tr>

Link para o comentário
Compartilhar em outros sites

  • 0

coloca essa linha antes da comparação

var_dump($tipo);
if($tipo == 3) {

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

  • 0

É a segunda que tá certa carinha

Agora ecoa dentro do teu if agora pra ver se entra ali. Se entrar e não executar a SQL, ela tá errada... E pelo que vi tá mesmo...

Executa ela sozinha num terminal no teu banco pra ver se ela ta certa

Link para o comentário
Compartilhar em outros sites

  • 0
É a segunda que tá certa carinha

Agora ecoa dentro do teu if agora pra ver se entra ali. Se entrar e não executar a SQL, ela tá errada... E pelo que vi tá mesmo...

Executa ela sozinha num terminal no teu banco pra ver se ela ta certa

Cara tava com um erro no SQL, que eu tinha arrumado só na hora de testar no banco e esqueci de passar pro codigo :blush: .

Falata uma chave no segundo SELECT e o $t ao invés de $tipo.

muito obrigado pela ajuda!!

ai vai o código funfando:

<?
include "conexao.inc";

$n=$_GET['nome'];
$u=$_GET['usuario'];
$s=$_GET['senha'];
$t=$_GET['tipo'];

$resultado=mysql_query("INSERT INTO usuario VALUES(idUsuario,'$n','$u','$s','$t')");

if ($t==3) {
    $questionario=mysql_query("INSERT INTO questionario (questionario.idUsuario) 
                VALUES SELECT usuario.idUsuario 
                FROM usuario 
                WHERE usuario.idUsuario = 
                (SELECT MAX(usuario.idUsuario) 
                FROM usuario)");
}

echo "USUARIO CADASTRADO COM SUCESSO!!!";
mysql_close($conexao);

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Disponha!

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
      652k
×
×
  • Criar Novo...