ВОПРОС Как ограничить время покупки товара?

Вячеслав
Местный
Сообщения
229
Реакции
21
В стандартной FF когда покуаешь фрукт, то их можно покупать в любое время, подскажите как поправить код чтобы было как при сборе прибыли, тоесть купил один фрукт и вышло уведомление:

echo "За последние 12 часов вы уже сделали покупку!" ? Помогите решить ребус с кодом, буду презнателен :)
 
Последнее редактирование:
zaraza
Местный
Сообщения
56
Реакции
13
Вячеслав написал(а):
В стандартной FF когда покуаешь фрукт, то их можно покупать в любое время, подскажите как поправить код чтобы было как при сборе прибыли, тоесть купил один фрукт и вышло уведомление:

echo "За последние 12 часов вы уже сделали покупку!" ? Помогите решить ребус с кодом, буду презнателен :)
а сам код где?
 
Вячеслав
Местный
Сообщения
229
Реакции
21
ОРИГИНАЛ: Как сделать из этого?

<div class="section_w500">
<h2>Ферма</h2>
<p>В этом магазине Вы можете приобрести саженцы различных растений. Каждое растение приносит особые плоды которые можно потом продать на рынке и обменять на реальные деньги. Каждое растение даёт разное количество плодов, чем дороже оно тем больше плодоносит. Вы можете покупать любое их количество, растения не засыхают, не исчезают и будут плодоносить всегда. </p><p><font color="#808e04">Перед тем как докупить саженцы следует собрать урожай на складе!</font></p>
</div>
PHP:
<?PHP

$_OPTIMIZATION["title"] = "Аккаунт - Ферма";

$usid = $_SESSION["user_id"];

$refid = $_SESSION["referer_id"];

$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");

$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");

$sonfig_site = $db->FetchArray();

# Покупка нового дерева

if(isset($_POST["item"])){

$array_items = array(1 => "a_t", 2 => "b_t", 3 => "c_t", 4 => "d_t", 5 => "e_t");

$array_name = array(1 => "Лайм", 2 => "Вишня", 3 => "Клубника", 4 => "Киви", 5 => "Апельсин");

$item = intval($_POST["item"]);

$citem = $array_items[$item];

if(strlen($citem) >= 3){



# Проверяем средства пользователя

$need_money = $sonfig_site["amount_".$citem];

if($need_money <= $user_data["money_b"]){



if($user_data["last_sbor"] == 0 OR $user_data["last_sbor"] > ( time() - 60*20) ){



$to_referer = $need_money * 0.1;

# Добавляем дерево и списываем деньги

$db->Query("UPDATE db_users_b SET money_b = money_b - $need_money, $citem = $citem + 1,

last_sbor = IF(last_sbor > 0, last_sbor, '".time()."') WHERE id = '$usid'");



# Вносим запись о покупке

$db->Query("INSERT INTO db_stats_btree (user_id, user, tree_name, amount, date_add, date_del)

VALUES ('$usid','$usname','".$array_name[$item]."','$need_money','".time()."','".(time()+60*60*24*15)."')");



echo "<center><font color = 'green'><b>Вы успешно посадили саженец</b></font></center><BR />";



$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");

$user_data = $db->FetchArray();



}else echo "<center><font color = 'red'><b>Перед тем как докупить саженцы следует собрать урожай на складе!</b></font></center><BR />";



}else echo "<center><font color = 'red'><b>Недостаточно серебра для покупки</b></font></center><BR />";



}else echo 222;

}

?>



<div class="fr-block">

<form action="" method="post">

<div class="cl-fr-lf">

<img src="/img/fruit/lime.jpg" />

</div>



<div class="cl-fr-rg" style="padding-left:20px;">

<div class="fr-te-gr-title"><b>Лайм</b></div>

<div class="fr-te-gr">Плодовитость: <font color="#000000"><?=$sonfig_site["a_in_h"]; ?> в час</font></div>

<div class="fr-te-gr">Стоимость: <font color="#000000"><?=$sonfig_site["amount_a_t"]; ?> серебра</font></div>

<div class="fr-te-gr">Куплено: <font color="#000000"><?=$user_data["a_t"]; ?> шт.</font></div>

<input type="hidden" name="item" value="1" />

<input type="submit" value="Посадить" style="height: 30px; margin-top:10px;" />

</div>

</form>

</div>

<div class="fr-block">

<form action="" method="post">

<div class="cl-fr-lf">

<img src="/img/fruit/cherry.jpg" />

</div>



<div class="cl-fr-rg" style="padding-left:20px;">

<div class="fr-te-gr-title"><b>Вишня</b></div>

<div class="fr-te-gr">Плодовитость: <font color="#000000"><?=$sonfig_site["b_in_h"]; ?> в час</font></div>

<div class="fr-te-gr">Стоимость: <font color="#000000"><?=$sonfig_site["amount_b_t"]; ?> серебра</font></div>

<div class="fr-te-gr">Куплено: <font color="#000000"><?=$user_data["b_t"]; ?> шт.</font></div>

<input type="hidden" name="item" value="2" />

<input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">

</div>

</form>

</div>

<div class="fr-block">

<form action="" method="post">

<div class="cl-fr-lf">

<img src="/img/fruit/strawberries.jpg" />

</div>



<div class="cl-fr-rg" style="padding-left:20px;">

<div class="fr-te-gr-title"><b>Клубника</b></div>

<div class="fr-te-gr">Плодовитость: <font color="#000000"><?=$sonfig_site["c_in_h"]; ?> в час</font></div>

<div class="fr-te-gr">Стоимость: <font color="#000000"><?=$sonfig_site["amount_c_t"]; ?> серебра</font></div>

<div class="fr-te-gr">Куплено: <font color="#000000"><?=$user_data["c_t"]; ?> шт.</font></div>

<input type="hidden" name="item" value="3" />

<input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">

</div>

</form>

</div>

<div class="fr-block">

<form action="" method="post">

<div class="cl-fr-lf">

<img src="/img/fruit/kiwi.jpg" />

</div>



<div class="cl-fr-rg" style="padding-left:20px;">

<div class="fr-te-gr-title"><b>Киви</b></div>

<div class="fr-te-gr">Плодовитость: <font color="#000000"><?=$sonfig_site["d_in_h"]; ?> в час</font></div>

<div class="fr-te-gr">Стоимость: <font color="#000000"><?=$sonfig_site["amount_d_t"]; ?> серебра</font></div>

<div class="fr-te-gr">Куплено: <font color="#000000"><?=$user_data["d_t"]; ?> шт.</font></div>

<input type="hidden" name="item" value="4" />

<input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">

</div>

</form>

</div>

<div class="fr-block">

<form action="" method="post">

<div class="cl-fr-lf">

<img src="/img/fruit/orange.jpg" />

</div>



<div class="cl-fr-rg" style="padding-left:20px;">

<div class="fr-te-gr-title"><b>Апельсин</b></div>

<div class="fr-te-gr">Плодовитость: <font color="#000000"><?=$sonfig_site["e_in_h"]; ?> в час</font></div>

<div class="fr-te-gr">Стоимость: <font color="#000000"><?=$sonfig_site["amount_e_t"]; ?> серебра</font></div>

<div class="fr-te-gr">Куплено: <font color="#000000"><?=$user_data["e_t"]; ?> шт.</font></div>

<input type="hidden" name="item" value="5" />

<input type="submit" value="Посадить" style="height: 30px; margin-top:10px;">

</div>

</form>

</div>

<div class="clr"></div>
 
Последнее редактирование модератором:
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
Добавь в БД поле last_buy такое же как last_sbor и работай с ним так же как с last_sbor:
При покупке проверяется время последней покупки, если все ок, то покупается, если нет, то вывод сообщения. После покупки обновить время в этом поле
 
Вячеслав
Местный
Сообщения
229
Реакции
21
а вторую страницу не надо делать как эта и где last_sbor изменить на last_buy? и надо менять что то в этой строке:
VALUES ('$usid','$usname','".$array_name[$item]."','$need_money','".time()."','".(time()+60*60*24*15)."')");
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
Вячеслав написал(а):
а вторую страницу не надо делать как эта
Зачем вторую страницу делать?

Вячеслав написал(а):
и где last_sbor изменить на last_buy? и надо менять что то в этой строке:
VALUES ('$usid','$usname','".$array_name[$item]."','$need_money','".time()."','".(time()+60*60*24*15)."')");
Я не писал что-то менять, а писал добавить.
pligin написал(а):
Добавь в БД поле last_buy такое же как last_sbor и работай с ним так же как с last_sbor
 
Вячеслав
Местный
Сообщения
229
Реакции
21
я так понял в базу где раздел db_users_b добавить строчку рядом с last_sbor и всё? А что за время нужно обновить, или оно само обновляет при покупке!
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
Вячеслав написал(а):
я так понял в базу где раздел db_users_b добавить строчку рядом с last_sbor и всё? А что за время нужно обновить, или оно само обновляет при покупке!
pligin написал(а):
и работай с ним так же как с last_sbor:
При покупке проверяется время последней покупки, если все ок, то покупается, если нет, то вывод сообщения. После покупки обновить время в этом поле
Само ничего не делается
 
Вячеслав
Местный
Сообщения
229
Реакции
21
Вот таким макаром запрос? ALTER TABLE `db_users_b` ADD `last_buy` int(11) NOT NULL DEFAULT '0'
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
  • #10
Вячеслав написал(а):
Вот таким макаром запрос? ALTER TABLE `db_users_b` ADD `last_buy` int(11) NOT NULL DEFAULT '0'
А ты не пробовал использовать phpmyadmin и в структуре таблицы нажать "добавить"?
Чтобы не париться...
 
Вячеслав
Местный
Сообщения
229
Реакции
21
  • #11
ну добавил я и всеравно покупать можно фруктов сколько угодно, а уведомления нет какого либо) что там нужно еще не проще помочь здесь, наверняка нужно в коде что то добавить last_buy так просто проверять не будет
 
Последнее редактирование:
Viktor
Участник
Сообщения
734
Реакции
113
  • #12
Не понимаю - зачем ограничивать покупки? Например у юзера есть 400 серебра, он хочет купить 4 "дерева" по 100 серебра, одно купил, а чтобы купить ещё одно, то надо выждать 12 часов? А остальные купить ещё выжидать? Тогда народ поймёт фишку и не станет вкладывать в такой проект деньги. Зачем им растягивать время на такой малоприбыльный проект? Пойдут и в другой вложат.
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
  • #13
Viktor написал(а):
Не понимаю - зачем ограничивать покупки? Например у юзера есть 400 серебра, он хочет купить 4 "дерева" по 100 серебра, одно купил, а чтобы купить ещё одно, то надо выждать 12 часов? А остальные купить ещё выжидать? Тогда народ поймёт фишку и не станет вкладывать в такой проект деньги. Зачем им растягивать время на такой малоприбыльный проект? Пойдут и в другой вложат.
Не нужно офтопить... Свое мнение можно в разделе Свободное общение выкладывать
 
Вячеслав
Местный
Сообщения
229
Реакции
21
  • #14
Виктор да вовсе не так, ждать не нужно долго, для примера спрашивал! Я сделал сам всё, это связано со сбором было и интереснее сюжет) Время можно настроить в коде и не надо было ничего мастабного.....
 
Сверху