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

Erro na validação do voto php


Brandow

Pergunta

Estou com esse erro quando eu vou votar no meu sistema de votação, quando o arquivo estava no vertrigo (programa de suporte php com mysql) da certo, mas quando eu ponho na minha hospedagem da esse erro.

Warning: Cannot modify header information - headers already sent by (output started at /home/tophabbo/public_html/top/vote.php:4) in /home/tophabbo/public_html/top/vote.php on line 165

e também parece que o coockie não está funcionando pois eu consigo votar toda hora, só que sempre da esse erro

<head>
<title>Top habbos - Votar</title>
</head>
<?php

// If the user hasn't said they are sure they want to vote.
if (!isset($_POST['submitted'])) {

    // Check if the ID was submitted, AND if it is numeric (a number)
    if (isset($_GET['id']) && is_numeric($_GET['id'])) {
    
        // Connect to our database
        require_once('mysql_connect.php');
        
        $id = mysql_real_escape_string($_GET['id']);
        
        $query = "SELECT id, name FROM dados_usuarios WHERE id = $id";
        $result = mysql_query($query) OR die (mysql_error());
        $row = mysql_fetch_array($result, MYSQL_ASSOC);
?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<style type="text/css">
<!--
.style2 {font-size: 24px}
-->
</style>
</head>

<body>
<link rel="stylesheet" type="text/css" href="../css/main.css" />
<link rel="stylesheet" type="text/css" href="../css/button.css" />
<script type="text/javascript" language="javascript" src="../lytebox.js"></script>
<link rel="stylesheet" href="../lytebox.css" type="text/css" media="screen" />
<style>
body{
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
background-image:url(http://yourimg.in/m/146a59y.png);
background-repeat:repeat-yx}
#contentBox {
    
    border: 1px solid #CCC;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -o-border-radius: 5px;
    -webkit-border-radius: 5px;
    margin-bottom: 20px;
    border-bottom: 3px solid #CCC;
    
}


#div {
float: center;
padding: 5px;
    border: 1px solid #CCC;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -o-border-radius: 5px;
    -webkit-border-radius: 5px;
    margin-bottom: 20px;
    border-bottom: 3px solid #CCC;
    background-color:#FFFFFF;
    height: 500px;
    width: 1000px;
    
}

h1 {
    color: #FFF;
    font-size: 16px;
    text-shadow: 1px 1px #000;
    margin-bottom: 0px;
}

h2 {    
    color: #FFF;
    font-size: 20px;
    text-shadow: 1px 1px black;
    margin-bottom: 3px;
}

h3 {    
    color: #FFF;
    font-size: 20px;
    text-shadow: 1px 1px black;
    padding-bottom: 0px;
    margin-bottom: -3px;
    margin-top: -2px;
}

h1 a:link, hover {
    color: #FFF;
}

h3 a:link, hover {
    color: #FFF;
    padding-left: 15px;
    
}

</style>
<center><div id="div" style=" width: 650px; height:500px; left: 32px; top: 10px;">
  <p align="center"><img src="../logo.png" width="563" height="122"></p>
  <div style="height:1px; background-color:#CCCCCC"></div>
  <span class="style2">Olá, bem vindo ao Top habbos, aqui você pode divulgar seu servidor de Habbo e conseguir vários usuários para ele.  <br><br>
  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
        <input type="submit" name="vote" value="Votar no <?php echo $row['name']; ?>" />
        <input type="hidden" name="submitted" value="TRUE" />
        <input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
        </form></span><br>
        <script type="text/javascript"><!--
google_ad_client = "ca-pub-7156540650710403";
/* Top abbos */
google_ad_slot = "9099004702";
google_ad_width = 250;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>
</center>
</body>
</html>
<br />
        
        
<?php
    } else {
        echo '<center><div id="div" style=" width: 650px; height:500px; left: 32px; top: 10px;">
  <p align="center"><img src="../logo.png" width="563" height="122"></p>
  <div style="height:1px; background-color:#CCCCCC"></div>
  <span class="style2">Você tem que escolher o Hotel para votar</div>
</center>';
    }
} else {
    // Connect to our database
    require_once('mysql_connect.php');
        
    $id = mysql_real_escape_string($_POST['id']);
    
    // Select the site we want to add 1 vote to
    $query = "SELECT id, votes, name FROM dados_usuarios WHERE id = $id";
    $result = mysql_query($query) OR die(mysql_error());
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
    
    $votes = $row['votes'];
    $id = $row['id'];
    $name = $row['name'];
    
    $cookie_name = 'vote_'.$id;
    
    if (!isset($_COOKIE['vote_'.$id])) {
        // Add 1 to the previous hit amount
        $votes++;
        
        // Update our websites hit amount
        $query = "UPDATE dados_usuarios SET votes = $votes WHERE id = $id";
        $result = mysql_query($query) OR die(mysql_error());
        
        setcookie("$cookie_name", $_SERVER['REMOTE_ADDR'], time()+86400);
        
                echo '<center><div id="div" style=" width: 650px; height:500px; left: 32px; top: 10px;">
  <p align="center"><img src="../logo.png" width="563" height="122"></p>
  <div style="height:1px; background-color:#CCCCCC"></div>
  <span class="style2">Obrigado por Votar neste hotel!</div>
</center></a><head><meta http-equiv="refresh" content="1; url=../index.php"></head>';
    } else {
        echo '<center><div id="div" style=" width: 650px; height:500px; left: 32px; top: 10px;">
  <p align="center"><img src="../logo.png" width="563" height="122"></p>
  <div style="height:1px; background-color:#CCCCCC"></div>
  <span class="style2">Você já votou hoje, volte amanhã</div>
</center></a><head><meta http-equiv="refresh" content="1; url=../index.php"></head>';
    }
}


?>

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

2 respostass a esta questão

Posts Recomendados

  • 0

Brandow, boa noite

O erro que está acontecendo acredito que seja pelo seguinte: você ta declarando um head com title no começo do código, depois você tem um trecho em PHP e depois você começa o cabeçalho da página novamente. Acredito que este erro esteja acontecendo porque você constrói duas vezes o cabeçalho (aconselho você a rever a lógica do código).

A questão dos cookies, não tem como funcionar porque a função setcookie está declarada de forma errada (estão faltando parâmetros). Veja a documentação dessa função no site do PHP (http://www.php.net).

Link para o comentário
Compartilhar em outros sites

  • 0

A função setcookie estava correta, os outros argumentos são opcionais.

Amigo estude html pois tinha alguns erros e, crie bibliotecas, deixara seu mais script mais "limpo", perdi muito tempo por causa que tinha codigo que poderia esta em outro lugar e referenciado a esse script.

Tive que sair correndo, tava apressado!

Não chequei se havia algum erro no script, espero ter ajudado!

<html>

<head>

<title>Top habbos - Votar</title>

</head>

<body>

<?php

// CONEXAO

require_once('mysql_connect.php');

// CASO não TENHA ENVIADO OS VALORES DO FORMULARIO

if ( !isset($_POST['submitted']) ){

// CASO EXISTA $_GET['id'] MOSTRA O FORMULARIO

if ( isset($_GET['id']) && is_numeric($_GET['id']) ) {

$id = mysql_real_escape_string($_GET['id']);

$query = "select name from dados_usuarios where id = $id";

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

$row = mysql_fetch_array($result, MYSQL_ASSOC);

$name = $row['name'];

?>

<form method=POST' action="<?php echo $_SERVER['PHP_SELF];?>">

<input type='submit' value="Votar no <?php echo $name;?>" />

<input type='hidden' name='id' value="<?php echo $id;?>" />

<input type='hidden' name='submitted' value='true' />

</form>

<?php

}

}

else{

// VERIFICA SE REALMENTE EXISTE $_POST['id']

if ( isset($_POST['id']) ){

// PEGA VALOR DO CAMPO ID DO FORMULARIO COM FILTRO

$id = mysql_real_escape_string($_POST['id']);

// NOME DO COOKIE PARA CHECAR NA CONDICAO SEGUINTE

$cookie_name = 'vote_'.$id;

if( !isset($_COOKIE[$cookie_name]) ){

// PRIMEIRA CONSULTA

$query = "select votes from dados_usuarios where id = $id";

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

$votes++;

// NOVA CONSULTA

$query = "UPDATE dados_usuarios SET votes = $votes WHERE id = $id";

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

}

else{

//CASO O COOKIE DO VOTO EXISTA

$result = false;

}

if( $result ){

// CASO TUDO OCORRA BEM NA CONSULTA, SETA O COOKIE!

setcookie("$cookie_name", "" . $_SERVER['PHP_SELF'], time()+86400);

//MOSTRA MSG

echo 'Ocorreu tudo bem!';

}

else{

if( isset($_COOKIE[$cookie_name]) ){

// MSG PARA QUEM já VOTOU

echo 'voce já votou!';

}

else{

// MOSTRA MSG DE ERRO QUE OCORREU DURANTE CONSULTA

echo 'Ocorreu algum erro inesperado! Tente novamente!';

}

}

}

// FECHA A PORTA QUE FOI "ABERTA"

mysql_close();

?>

</body>

</html>

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...