Ir para conteúdo

POWERED BY:

Arquivado

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

Jason Mello

Problema no switch dentro de um if

Recommended Posts

Olá,

estou com um problema pra colocar um switch dentro de um if.

Sou novo em PHP e não sei o que está acontecendo.

 

Me retorna o seguinte erro.

 

Parse error: syntax error, unexpected T_ELSE in...........

 

Alguém poderia me ajudar?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta ai o seu codigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
if(isset($_POST["user"]))

{


$laip = getRealIP();


require('config.php');

$sqle = "SELECT * FROM tb_ip WHERE ip='$laip'";

$resulte = mysql_query($sqle);

$rowe = mysql_fetch_array($resulte);

mysql_close($con);

if ($rowe["status"]=="upgraded")

{


echo "Erro: Você já está cadastrado com esse ip."; include('footer.php');

exit();


}


switch ($tag) {

case 1:

require('config.php');

$query = "INSERT INTO tb_usuario (nome, email, ip) VALUES('$user','$pnome','$email','$laip')";

mysql_query($query) or die(mysql_error());

break;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

faltou fechar a chave do primeiro if, deixe asim o codigo:

 

if(isset($_POST["user"])){
 
$laip = getRealIP();
 
require('config.php');
$sqle = "SELECT * FROM tb_ip WHERE ip='$laip'";
$resulte = mysql_query($sqle);        
$rowe = mysql_fetch_array($resulte);
mysql_close($con);
if ($rowe["status"]=="upgraded")
{
 
echo "Erro: Você já está cadastrado com esse ip."; include('footer.php');
exit();
 
}
 
switch ($tag) {
    case 1:
        require('config.php');
        $query = "INSERT INTO tb_usuario (nome, email, ip) VALUES('$user','$pnome','$email','$laip')";
        mysql_query($query) or die(mysql_error());
        break;
    }    
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpa, eu fecho a chave...

Faltou um pedaço do código.

Segue o código correto que estou usando.

 

 

if(isset($_POST["user"]))
{
$laip = getRealIP();
require('config.php');
$sqle = "SELECT * FROM tb_ip WHERE ip='$laip'";
$resulte = mysql_query($sqle);
$rowe = mysql_fetch_array($resulte);
mysql_close($con);
if ($rowe["status"]=="upgraded")
{
echo "Erro: Você já está cadastrado com esse ip."; include('footer.php');
exit();
}
switch ($tag) {
case 1:
require('config.php');
$query = "INSERT INTO tb_usuario (nome, email, ip) VALUES('$user','$pnome','$email','$laip')";
mysql_query($query) or die(mysql_error());
break;
}
}
else{
require('config.php');
$sqle = "SELECT * FROM tb_configurar WHERE item='atualizado' and tag='1'";
$resulte = mysql_query($sqle);
$rowe = mysql_fetch_array($resulte);
mysql_close($con);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hummm, vou dar uma organziada nesse codigo, posto (edito aqui) ja e voce me diz se o erro persiste...

 

 

Olha ai:

<?php
 
require('config.php');

if ( isset($_POST["user"]) )
   {
     $laip         = getRealIP();
     $sqle         = "SELECT * FROM tb_ip WHERE ip='$laip'";
     $resulte      = mysql_query($sqle);
     $rowe         = mysql_fetch_array($resulte);

     if ( $rowe["status"] == "upgraded" )
        { echo "Erro: Você já está cadastrado com esse ip.";
          include('footer.php');
          exit;
        }

     switch ($tag) {
       case 1:
           $query  = "INSERT INTO tb_usuario (nome, email, ip) VALUES('$user','$pnome','$email','$laip')";
           mysql_query($query);
           break;
     }

   }
else { $sqle       = "SELECT * FROM tb_configurar WHERE item='atualizado' and tag='1'";
       $resulte    = mysql_query($sqle);
       $rowe       = mysql_fetch_array($resulte);
     }

mysql_close($con);
 
?>

 

Olha essa query:

 

 

$query  = "INSERT INTO tb_usuario (nome, email, ip) VALUES('$user','$pnome','$email','$laip')";

Tem um valor a mais nela...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na última linha deu o seguinte erro agora...

Parse error: syntax error, unexpected $end in /home............

 

Segue o final do código

 

<? include('footer.php'); ?>

</form>
</fieldset>
</div></div>
Obrigado por enquanto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

Comentei alguns pontos do código, para ver onde possa estar ocorrendo o erro.

 

Não entendi de onde vem a variável $tag no switch.

 

Tente assim, e vá descomentando até achar o ponto exato do erro.

 

<?php

$_POST['user'] = "teste";

if(isset($_POST["user"])){

	/*
        $laip = getRealIP();
	require('config.php');
        $sqle = "SELECT * FROM tb_ip WHERE ip='$laip'";
	$resulte = mysql_query($sqle);        
	$rowe = mysql_fetch_array($resulte);
	mysql_close($con);
        */

	$rowe = array("status"=>"upgraded");

	if ($rowe["status"]=="upgraded") {
 		echo "Erro: Você já está cadastrado com esse ip."; 
		// include('footer.php');
		exit();
 	}
 	
	$tag = 1;
	
	switch ($tag) {
    	case 1:
		// require('config.php');
		// $query = "INSERT INTO tb_usuario (nome, email, ip) VALUES('$user','$pnome','$email','$laip')";
		// mysql_query($query) or die(mysql_error());
                echo $tag;
		break;
	}
 
}
else {
	/*
	require('config.php');
	$sqle = "SELECT * FROM tb_configurar WHERE item='atualizado' and tag='1'";
	$resulte = mysql_query($sqle);        
	$rowe = mysql_fetch_array($resulte);
	mysql_close($con);
	*/
}

?>

 

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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