При гласуване на дава точки?

daemon666

Registered
Здравейте! Значи въпросът ми е следния: Как да направя така, че като се гласува за сайта ми в BGTOP ( примерно ) и да прибавя по 20 точки на всеки гласувал и до него ( линкът за BG TOP ) да има таймер с обратно проене от 24:00 до 00:00 ( когато пак ще може да се гласува )?
Точките са - $point

Благодаря Ви много! +1
 
Ами направи си едно поле в users с името points

и използвай системата за bgtop в web-tourist

http://web-tourist.net/login/login/view.php?st=2296

като ще промениш файла

vote.php по следния начин

<?php
ob_start();
include("conf.php");
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\"");
if($row = mysql_fetch_array($sql)) {
$calc = $row['ctime'] + $vtime;
if ($calc > $time) { echo "Можете да гласувате само по веднъж за 24 часа!"; }
else {
$sqlQ = mysql_query("UPDATE $dbtable SET ctime = \"$time\" WHERE ip=\"$ip\"");
header("location: $link");
}
}
else {
$points = 20;
mysql_query('UPDATE users SET points="'.addslashes($points).'"');
$sql = mysql_query("INSERT into `$dbtable`(`ip`,`ctime`) VALUES ('$ip','$time')");
header("location: $link");
}
?>
 
Ще я пробвам и ако имам някакви проблеми ще пиша, ако всичко е ОК ти давам +че ;)
 
@basi това, което ми даде ти, vote.php прави точките на 20, а не прибавя 20... Как да си иправя?
 
<?php
ob_start();
include("conf.php");
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\"");
if($row = mysql_fetch_array($sql)) {
$calc = $row['ctime'] + $vtime;
if ($calc > $time) { echo "Можете да гласувате само по веднъж за 24 часа!"; }
else {
$sqlQ = mysql_query("UPDATE $dbtable SET ctime = \"$time\" WHERE ip=\"$ip\"");
header("location: $link");
}
}
else {

$sql12="SELECT points FROM users WHERE user_id='$id'";
$res12=mysql_query($sql12);
$row12=mysql_fetch_assoc($res12);

$points =$row12['points']+20;
mysql_query('UPDATE users SET points="'.addslashes($points).'"');
$sql = mysql_query("INSERT into `$dbtable`(`ip`,`ctime`) VALUES ('$ip','$time')");
header("location: $link");
}
?>


Промени си това в червено и пробвай! :)
 
гледай сега.трябва да имаш потребителското име под формата на някаква променлива, например $user
и после заменяш
Код:
mysql_query('UPDATE users SET points="'.addslashes($points).'"');
с
Код:
mysql_query("UPDATE users SET points = points + 20 WHERE user = '$user'");

като users ти е таблицата на потребителските имена, а user е полето, където се съхранява потребителското име
 
Отново няма промяна...
<?php
ob_start();
include("conf.php");
$username = $_SESSION['name'];
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\"");
if($row = mysql_fetch_array($sql)) {
$calc = $row['ctime'] + $vtime;
if ($calc > $time) { echo "Можете да гласувате само по веднъж за 24 часа!"; }
else {
$sqlQ = mysql_query("UPDATE $dbtable SET ctime = \"$time\" WHERE ip=\"$ip\"");
header("location: $link");
}
}
else {

$sql12="SELECT point FROM game WHERE name='$username''";
$res12=mysql_query($sql12);
$row12=mysql_fetch_assoc($res12);

$points =$row12['point']+20;
mysql_query('UPDATE game SET points="'.addslashes($points).'"');
$sql = mysql_query("INSERT into `$dbtable`(`ip`,`ctime`) VALUES ('$ip','$time')");
header("location: $link");
}
?>
Това е моя код... някой може ли върху него да пробва?
 
нене users а game
CREATE TABLE IF NOT EXISTS `game` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(60) NOT NULL,
`point` int(11) NOT NULL,
`mail` varchar(60) NOT NULL,
`pass` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
 
daemon666 каза:
нене users а game
CREATE TABLE IF NOT EXISTS `game` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(60) NOT NULL,
`point` int(11) NOT NULL,
`mail` varchar(60) NOT NULL,
`pass` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

Я обясни какво искаш на всеки потребител да му дава по 20 точки при глас така ли ?
 
baso каза:
daemon666 каза:
нене users а game
CREATE TABLE IF NOT EXISTS `game` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(60) NOT NULL,
`point` int(11) NOT NULL,
`mail` varchar(60) NOT NULL,
`pass` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

Я обясни какво искаш на всеки потребител да му дава по 20 точки при глас така ли ?
Да, като се гласува в BGTOP да дава по 20 точки на този, който е гласувал...
 
<?php
ob_start();
include("conf.php");
$username = $_SESSION['name'];
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\"");
if($row = mysql_fetch_array($sql)) {
$calc = $row['ctime'] + $vtime;
if ($calc > $time) { echo "Можете да гласувате само по веднъж за 24 часа!"; }
else {
$sqlQ = mysql_query("UPDATE $dbtable SET ctime = \"$time\" WHERE ip=\"$ip\"");
header("location: $link");
}
}
else {
$sql12="SELECT point FROM `game` WHERE name='$username''";
$res12=mysql_query($sql12);
$row12=mysql_fetch_assoc($res12);

$points = $row12['point']+20;
mysql_query('UPDATE `game` SET point="'.addslashes($points).'"');
$sql = mysql_query("INSERT into `$dbtable`(`ip`,`ctime`) VALUES ('$ip','$time')");
header("location: $link");
}
?>

Пробвай така.
 
login.php
<?php
session_start();
$username = $_SESSION['name'];
?>
<?php
include "config.php";
if (!$_POST['submit']) { ?>
<?php if(!$username){ echo '
<form method="post" action="">
Потребител: <input type="text" name="name" /><br />
Парола: <input type="password" name="pass" /><br />
<input type="submit" name="submit" value="Вход" />
</form>';
}
else {
echo 'Вече си логнат!!!';
}
?>
<?php
}
else {
$name = $_POST['name'];
$pass = $_POST['pass'];
$sql = "SELECT * FROM game WHERE name='$name'";
$result = mysql_query($sql) or die (mysql_error());
$broi = mysql_num_rows($result);
$row = mysql_fetch_assoc($result);
if ($broi == 0) {
echo "Няма такъв потребител.";
}
else {
if ($pass == $row[pass]) {
$_SESSION['name'] = $row[name];
echo "Добре дошъл, ".$_SESSION['name'];
echo "<meta http-equiv='refresh' content='0; url=index.php' />";
}
}
}
?>
 
Няма зададен WHERE при ъпдейта, затова ги обновява на всички потребители. Пък и едната заявка ми се вижда напълно излишна..

Опитай така

Код:
<?php
ob_start();
include("conf.php");
$username = $_SESSION['name'];
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\"");
if($row = mysql_fetch_array($sql)) {
$calc = $row['ctime'] + $vtime;
if ($calc > $time) { echo "Можете да гласувате само по веднъж за 24 часа!"; }
else {
$sqlQ = mysql_query("UPDATE $dbtable SET ctime = \"$time\" WHERE ip=\"$ip\"");
header("location: $link");
}
}
else {
mysql_query('UPDATE `game` SET point = point+20 WHERE name = ' . $username . ' LIMIT 1');
$sql = mysql_query("INSERT into `$dbtable`(`ip`,`ctime`) VALUES ('$ip','$time')");
header("location: $link");
}
?>
 
Това ти е Login.php

<?php
session_start();
$username = $_SESSION['name'];
?>
<?php
include "config.php";
if (!$_POST['submit']) { ?>
<?php if(!$username){ echo '
<form method="post" action="">
Потребител: <input type="text" name="name" /><br />
Парола: <input type="password" name="pass" /><br />
<input type="submit" name="submit" value="Вход" />
</form>';
}
else {
echo 'Вече си логнат!!!';
}
?>
<?php
}
else {
$name = $_POST['name'];
$pass = $_POST['pass'];
$sql = "SELECT * FROM game WHERE name='$name'";
$result = mysql_query($sql) or die (mysql_error());
$broi = mysql_num_rows($result);
$row = mysql_fetch_assoc($result);
if ($broi == 0) {
echo "Няма такъв потребител.";
}
else {
if ($pass == $row[pass]) {
$_SESSION['name']=true;
$_SESSION['user_info']=$row;
echo "Добре дошъл, ".$_SESSION['name'];
echo "<meta http-equiv='refresh' content='0; url=index.php' />";
}
}
}
?>

А сега ето ти и файла vote.php

<?php
ob_start();
include("conf.php");
$sql = mysql_query("SELECT ctime FROM $dbtable WHERE ip=\"$ip\"");
if($row = mysql_fetch_array($sql)) {
$calc = $row['ctime'] + $vtime;
if ($calc > $time) { echo "Можете да гласувате само по веднъж за 24 часа!"; }
else {
$sqlQ = mysql_query("UPDATE $dbtable SET ctime = \"$time\" WHERE ip=\"$ip\"");
header("location: $link");
}
}
else {
$sql12='SELECT `point` FROM `game` WHERE `name`='.$_SESSION['user_info']['name'].'';
$res12=mysql_query($sql12);
$row12=mysql_fetch_assoc($res12);

$points = $row12['point']+20;
mysql_query('UPDATE `game` SET point="'.addslashes($points).'" WHERE `name`='.$_SESSION['user_info']['name'].'');
$sql = mysql_query("INSERT into `$dbtable`(`ip`,`ctime`) VALUES ('$ip','$time')");
header("location: $link");
}
?>

Пробвай така
 

Back
Горе