Ir para conteúdo

POWERED BY:

Arquivado

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

Micilini Roll

[Resolvido] Funçao php nao funciona!

Recommended Posts

pessoal podem me dizer pq essa funçao nao funciona

 

<?
if($_GET['funçao'] == "votar"){
$opcao = $_POST['opcao'];
$ids = $_GET['id'];

$view = mysql_query("SELECT * FROM votos");
while($linha = mysql_fetch_array($view)){
$id_enquete = $linha['id_enquete'];
$id_usuario = $linha['id_user'];	

if($id_enquete == $ids && $id_user != $id_usuario){

$sql = mysql_query("UPDATE enquetes SET vt$opcao = vt$opcao +1, total = total +1 WHERE id = '$ids'");
$insert = mysql_query("INSERT INTO votos (id_enquete, id_user) value ('$ids','$id_user')");
header('location: paginas.php');

}if($id_enquete == $ids && $id_user == $id_usuario){
	echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=paginas.php'>
<script type=\"text/javascript\">
alert(\"Não é possivel votar mais de duas vezes.\");
</script>";
}
}
}
?>

 

ele chega areconheçer que:

 

if($id_enquete == $ids && $id_user == $id_usuario)

 

mas ele tambem reconheçe que:

 

if($id_enquete == $ids && $id_user != $id_usuario)

 

só que ele nao faz o update nen o insert o que pode ser,ele me joga pra esta tela:

 

 

o que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

IMPOSSÍVEL ele entrar nos dois if

 

agora o $id_user não existe

manda exibir as mensagens de erro para você ver o que está acontecendo de errado.

 

 

pessoal podem me dizer pq essa funçao nao funciona

 

<?
if($_GET['funçao'] == "votar"){
$opcao = $_POST['opcao'];
$ids = $_GET['id'];

$view = mysql_query("SELECT * FROM votos");
while($linha = mysql_fetch_array($view)){
$id_enquete = $linha['id_enquete'];
$id_usuario = $linha['id_user'];	

if($id_enquete == $ids && $id_user != $id_usuario){
IMPOSSÍVEL ele entrar nos dois if

agora o $id_user não existe
manda exibir as mensagens de erro para você ver o que está acontecendo de errado.


$sql = mysql_query("UPDATE enquetes SET vt$opcao = vt$opcao +1, total = total +1 WHERE id = '$ids'");
$insert = mysql_query("INSERT INTO votos (id_enquete, id_user) value ('$ids','$id_user')");
header('location: paginas.php');

}if($id_enquete == $ids && $id_user == $id_usuario){
	echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=paginas.php'>
<script type=\"text/javascript\">
alert(\"Não é possivel votar mais de duas vezes.\");
</script>";
}
}
}
?>

 

ele chega areconheçer que:

 

if($id_enquete == $ids && $id_user == $id_usuario)

 

mas ele tambem reconheçe que:

 

if($id_enquete == $ids && $id_user != $id_usuario)

 

só que ele nao faz o update nen o insert o que pode ser,ele me joga pra esta tela:

 

 

 

o que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse seu

SELECT * FROM votos

Você quer buscar todos os resultados?

não seria algo como ?

SELECT * FROM votos WHERE id_voto = $ids

 

Caso não seja isso, talvez seu erro está no sql de update ou insert, experimente logo após de mysq_query() colocar or die(mysql_error());

Assim tornará mais fácil ver se tem algum erro no seu sql, ou pode até colocar seu sql em uma variável e colocar um 'echo' nela,

daí sim executar ela diretamente no banco de dados, caso não dê certo ele vai te mostrar onde está o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok pessoal deixei minha funçao desse jeito coloquei o where e logo em seguida fechei as chaves do primeiro while ficando assim:

 

<?
if($_GET['funçao'] == "votar"){
$opcao = $_POST['opcao'];
$ids1 = $_GET['id'];

$view2 = mysql_query("SELECT * FROM votos WHERE id_enquete = '$ids1'");
while($linha = mysql_fetch_array($view2)){
$id_enquete = $linha['id_enquete'];
$id_usuario = $linha['id_user'];	
}
if($id_enquete == $ids1 && $id_user != $id_usuario){

$echos = mysql_query("UPDATE enquetes SET vt$opcao = vt$opcao +1, total = total +1 WHERE id = '$ids'");
$melao = mysql_query("INSERT INTO votos (id_enquete, id_user) value ('$ids1','$id_user')");



header('location: paginas.php');


}if($id_enquete == $ids1 && $id_user == $id_usuario){
	echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=paginas.php'>
<script type=\"text/javascript\">
alert(\"Não é possivel votar mais de duas vezes.\");
</script>";
}

}

 

na verdade deu certo,eu ia ate comentar que deu certo mais eu testei o seguinte:

 

1-eu me loguei como o usuario A e fiz o voto no radio button,automaticamente ele registra na tabela logo em seguida eu tentei votar novamente e me apareçe a mensagem de que eu ja realizei o meu voto

 

2-depois me logo com o usuario B e faço o mesmo procedimento que o usuario A realizou,votei e tentei votar novamente e apareçeu a mensagem

 

3-me loguei novamente como usuario A e tentei realizar o voto novamente e ele registrou meu voto!!!,era pra apareçer a mensagem que eu coloquei!,de que o usuario nao poderia mais realizar o voto. pq isto esta a aconteçer?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

PROBLEMA RESOLVIDO PESSOAL!

 

 

<?
if($_GET['funçao'] == "votar"){
$nts = $_POST['opcao'];
$ids = $_GET['id'];

$view2 = mysql_query("SELECT * FROM votos WHERE id_enquete = '$ids' && id_user= '$id_user'");
while($linha = mysql_fetch_array($view2)){
       $id_enquete = $linha['id_enquete'];
       $id_usuario = $linha['id_user'];
}

$rowsn = mysql_num_rows($view2);
if ($rowsn == 0) {
$echos = mysql_query("UPDATE enquetes SET vt$opcao = vt$opcao +1, total = total +1 WHERE id = '$ids'");
$melao = mysql_query("INSERT INTO votos (id_enquete, id_user) value ('$ids','$id_user')");
header('location: paginas.php');
}else{
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=paginas.php'>
<script type=\"text/javascript\">
alert(\"Não é possivel votar mais de duas vezes.\");
</script>";
}

}
?>

:clap:

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.