Jump to content
Fórum Script Brasil
  • 0

Erro na validação do voto php


Brandow

Question

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>';
    }
}


?>

Edited by Brandow
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...