проблем с анкета

val4o0o0

Registered
http://cs-gigabyte.com/index.php - анкетата е отстрани, четох за въпросната анкета, но първо ще обясня какъв е проблема, след като гласуваш не те редиректва правилно към индекса, а стои в страница с някаква грешка, но като си напишеш отново сайта гласът е зачетен, ето кода:

Код:
<?php 
$vote=$_POST['vote'];//Присвояваме стойноста на въпроса 
$ip= getenv("REMOTE_ADDR"); //Взимаме ИП адреса на потребителя 
define('IN_VALID', true); 
include('admin/conn.php');//Инклудваме конфиг файла 
$sql="SELECT * FROM otgovori WHERE o_id LIKE '$vote'";//Селектираме от таблицата с отговори отговора които съответства на $vote ( на изпратения отговор ) 
$rez=mysql_query($sql,$link); 
$red=mysql_fetch_array($rez); 

$v_id=$red['v_id']; 
$tvote=$red['rezultat']; 

$tvote++ ; 

$sql1="SELECT * FROM ip WHERE `uip` LIKE '$ip' AND `v_id` LIKE '$v_id' ";//Проверяваме дали този потребител вече не е гласувал 
$rez1=mysql_query($sql1,$link); 
$chekip=mysql_num_rows($rez1);//Проверяваме дали този потребител вече не е гласувал 

//Ако не е гласувал записваме в полето с ИД които сме приели от $vote стоиноста на $tvote 
if($chekip==0){ 
$sql="UPDATE otgovori SET rezultat='$tvote' WHERE o_id='$vote'"; 
$rez=mysql_query($sql,$link); 

$sql="INSERT ip (v_id , uip) VALUES ('$v_id', '$ip')"; 
$rez=mysql_query($sql,$link); 
} 
//Ако потребителя вече е гласувал ... 
else {echo "Вие вече сте гласували!";} 
mysql_close($link); 
//Пренасочваме го към страницата от която идва 
$refe=getenv("HTTP_REFERER"); 
header("Location: $refe"); 
?>

от тук идва проблемът:
Код:
//Пренасочваме го към страницата от която идва 
$refe=getenv("HTTP_REFERER"); 
header("Location: $refe");

някой може ли да го преправи за да работи ?
 
това е sendvote, а другия файл е poll.php, ето го:

Код:
<?php 
define('IN_VALID', true); 
include('admin/conn.php'); // Инклудваме конфиг файла 
$ip= getenv("REMOTE_ADDR"); //Взимаме ИП адреса на потребителя 
$sql="SELECT * FROM vaprosi ORDER BY v_id DESC LIMIT 0 , 1"; //Селектираме последния записан въпрос в БД 
$rez=mysql_query($sql,$link); 
$red=mysql_fetch_array($rez); 
$vapros=$red['vapros'];//Това е променливата с въпроса 
$v_id=$red['v_id']; //Това е променливата с ИД номера на въпроса 

$sql1="SELECT * FROM ip WHERE `uip` LIKE '$ip' AND `v_id` LIKE '$v_id' ";//Селектираме от таблицата с ИП адреси дали има записан ИП адреса на потребителя и ИД на въпроса , т.е. дали е гласувал вече. 
$rez1=mysql_query($sql1,$link); 
$chekip=mysql_num_rows($rez1); //Ако даден потребител е гласувал ще върне резултат по голям от 0 в противен случаи ще върне 0 

$sql1="SELECT * FROM ip WHERE `v_id` LIKE '$v_id'"; 
$rez1=mysql_query($sql1,$link); 
$broiip=mysql_num_rows($rez1); //Взимаме броя на общо гласувалите в анкетата като селектираме ИП адресите които са записани за даден въпрос 

echo $vapros."<br /><br />"; //Принтираме Въпроса 


//Проверяваме дали потребителя е гласувал ако не е изписваме формата за гласуване 
if($chekip==0){ 


$sql="SELECT * FROM otgovori WHERE v_id LIKE '$v_id'";//Селектираме всички отговори със ИД($v_id) на въпроса. 
$rez=mysql_query($sql,$link); 


echo"<form action=\"sendvote.php\" method=\"post\" >"; 

//С цикала while принтираме отговорите 
while($red=mysql_fetch_array($rez)){ 
//С радио бутона изпращаме $о_id ( ид на въпроса) към формата такаче да бъде променено точно това поле от БД. 
echo $red['otgovor']."<input type=\"radio\" name=\"vote\" value=\"".$red['o_id']."\" /><br />"; 
} 
echo"<br /><input type=\"submit\" value=\"Гласувай\" /></form>"; 
} 


//Тази част от кода се изпалнява ако потребителя вече е гласувал т.е. акo $chekip получи стоиност по голяма от 0 
else{ 
//Селектираме отговорите от таблица отговори за съответния въпрос 
$sql="SELECT * FROM otgovori WHERE v_id LIKE '$v_id'"; 
$rez=mysql_query($sql,$link); 

//Отново с цикъл ги принтираме 
while($red=mysql_fetch_array($rez)){ 

echo $red['otgovor']." <br /> <b>„</b>Гласували: <b>(".$red['rezultat'].")</b><b>“</b> "; 
$procent=$red['rezultat']*(100/$broiip) ;//Пресмятаме ги в проценти 

echo "<br />"; 
} 

} 

mysql_close($link); 
?>
 
не нестава, ето пак я дава грешката:

Код:
Warning: Cannot modify header information - headers already sent by (output started at /home/csgigaby/public_html/admin/conn.php:3) in /home/csgigaby/public_html/sendvote.php on line 32
 
<?php if ( !defined('IN_VALID') ) { die('<center><b>Greshka: Nqmate direkten dostup do tozi fail</b></center>'); } ?>

<?php
$user="user"; // Базаданни потребител
$password="pass"; // Базаданни парола
$database="db"; // Име на Базата данни
$link=mysql_connect('localhost',$user,$password);
$db=mysql_select_db($database);
?>
 
яяя пробвай с този конфиг

<?php
$host="localhost";
$dbusername="name";
$dbpassword="pass";
$db="DB name";

$db_conn = mysql_connect("$host", "$dbusername", "$dbpassword")
or die("Не мога да се свържа с BD!");

$conn=mysql_select_db("$db", $db_conn) or die("Не мога да се свържа с BD!");

mysql_query("SET NAMES UTF8");

?>

и замени моите с твоите файлове
sendvote.php

<?php
$vote=$_POST['vote'];//Присвояваме стойноста на въпроса
$ip= getenv("REMOTE_ADDR"); //Взимаме ИП адреса на потребителя
define('IN_VALID', true);
include('conn.php');//Инклудваме конфиг файла
$sql="SELECT * FROM otgovori WHERE o_id LIKE '$vote'";//Селектираме от таблицата с отговори отговора които съответства на $vote ( на изпратения отговор )
$rez=mysql_query($sql,$db_conn);
$red=mysql_fetch_array($rez);

$v_id=$red['v_id'];
$tvote=$red['rezultat'];

$tvote++ ;

$sql1="SELECT * FROM ip WHERE `uip` LIKE '$ip' AND `v_id` LIKE '$v_id' ";//Проверяваме дали този потребител вече не е гласувал
$rez1=mysql_query($sql1,$db_conn);
$chekip=mysql_num_rows($rez1);//Проверяваме дали този потребител вече не е гласувал

//Ако не е гласувал записваме в полето с ИД които сме приели от $vote стоиноста на $tvote
if($chekip==0){
$sql="UPDATE otgovori SET rezultat='$tvote' WHERE o_id='$vote'";
$rez=mysql_query($sql,$db_conn);

$sql="INSERT ip (v_id , uip) VALUES ('$v_id', '$ip')";
$rez=mysql_query($sql,$db_conn);
}
//Ако потребителя вече е гласувал ...
else {echo "Вие вече сте гласували!";}
mysql_close($db_conn);
//Пренасочваме го към страницата от която идва

header("Location: ./index.php");
?>

vote.php
<?php
define('IN_VALID', true);
include('conn.php'); // Инклудваме конфиг файла
$ip= getenv("REMOTE_ADDR"); //Взимаме ИП адреса на потребителя
$sql="SELECT * FROM vaprositest ORDER BY v_id DESC LIMIT 0 , 1"; //Селектираме последния записан въпрос в БД
$rez=mysql_query($sql,$db_conn);
$red=mysql_fetch_array($rez);
$vapros=$red['vapros'];//Това е променливата с въпроса
$v_id=$red['v_id']; //Това е променливата с ИД номера на въпроса

$sql1="SELECT * FROM ip WHERE `uip` LIKE '$ip' AND `v_id` LIKE '$v_id' ";//Селектираме от таблицата с ИП адреси дали има записан ИП адреса на потребителя и ИД на въпроса , т.е. дали е гласувал вече.
$rez1=mysql_query($sql1,$db_conn);
$chekip=mysql_num_rows($rez1); //Ако даден потребител е гласувал ще върне резултат по голям от 0 в противен случаи ще върне 0

$sql1="SELECT * FROM ip WHERE `v_id` LIKE '$v_id'";
$rez1=mysql_query($sql1,$db_conn);
$broiip=mysql_num_rows($rez1); //Взимаме броя на общо гласувалите в анкетата като селектираме ИП адресите които са записани за даден въпрос

echo $vapros."<br /><br />"; //Принтираме Въпроса


//Проверяваме дали потребителя е гласувал ако не е изписваме формата за гласуване
if($chekip==0){


$sql="SELECT * FROM otgovori WHERE v_id LIKE '$v_id'";//Селектираме всички отговори със ИД($v_id) на въпроса.
$rez=mysql_query($sql,$db_conn);


echo"<form action=\"sendvote.php\" method=\"post\" >";

//С цикала while принтираме отговорите
while($red=mysql_fetch_array($rez)){
//С радио бутона изпращаме $о_id ( ид на въпроса) към формата такаче да бъде променено точно това поле от БД.
echo $red['otgovor']."<input type=\"radio\" name=\"vote\" value=\"".$red['o_id']."\" /><br />";
}
echo"<br /><input type=\"submit\" value=\"Гласувай\" /></form>";
}


//Тази част от кода се изпалнява ако потребителя вече е гласувал т.е. акo $chekip получи стоиност по голяма от 0
else{
//Селектираме отговорите от таблица отговори за съответния въпрос
$sql="SELECT * FROM otgovori WHERE v_id LIKE '$v_id'";
$rez=mysql_query($sql,$db_conn);

//Отново с цикъл ги принтираме
while($red=mysql_fetch_array($rez)){

echo $red['otgovor']." <br /> <b>„</b>Гласували: <b>(".$red['rezultat'].")</b><b>“</b> ";
$procent=$red['rezultat']*(100/$broiip) ;//Пресмятаме ги в проценти

echo "<br />";
}

}

mysql_close($db_conn);
?>

EDITED!!!!
 
[phpBB Debug] PHP Notice: in file /home/csgigaby/public_html/includes/poll.php on line 7: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
при новите файлове
 
хммм не знам не виждам от къде идва грешката

препоръчвам ти http://web-tourist.net/login/login/view.php?st=2472 при мене бачка (първо изтрий таблиците vaprosi otgovori ip от phpmyadmin)

и използвай този конфиг файл

<?php
$host="mysql14.000webhost.com";
$dbusername="a4445847_poll";
$dbpassword="2oo495";
$db="a4445847_poll";

$db_conn = mysql_connect("$host", "$dbusername", "$dbpassword")
or die("Не мога да се свържа с BD!");

$conn=mysql_select_db("$db", $db_conn) or die("Не мога да се свържа с BD!");

mysql_query("SET NAMES UTF8");

$pass_admin = "123"; //parola s koqto 6te se vliza v admin_poll...

?>
 

Back
Горе