Loading...
Обучение/Помощь новичкам | Как добавить запрет
Добрый день, ребята кто сможет помочь. Нужно в файле добавить запрет на повторное изучение одного и того-же предмета. Неисследованный предмет имеет параметр isl 0, исследованный isl 1. Так как я дуб во всем этом. Прошу помощи.
[code]if($lvl_hero>=16){
switch ($act) {
default:
echo '<div class="top">Экспедиции</div>';
echo '<div class="conts">
<img src="../images/menu.png" alt="" /> <a href="?act=art">Артефакты</a><br/>
</div>';
echo '<div class="top">Провести экспедицию</div>';
$PAGINGS = mysql_query("SELECT * FROM `sector_loc` WHERE `uid` = '".$use_id."' AND `loc`=6 ORDER BY `id` DESC");
if($PAGINGS > 0)
{
echo '<div class="cont">Вам нужно исследовать один из кораблей с помощью любого вашего отряда</div>';
while($row = mysql_fetch_array($PAGINGS))
{
echo '<div class="conts"><table cellspacing="0"><tr><td>
<img class="igame" src="../images/space/zellnaga.jpg" /> </td>
<td class="trest">
Корабль Оаров<br/><a href="sector.php?x='.$row['x'].'&amp;y='.$row['y'].'">Расположение:</a> x:'.$row['x'].' y:'.$row['y'].'
</td></tr></table></div>';
}

}

else
{
div('Вы не можете провести экспедицию так как в окрестностях ваших планет нет древних кораблей','cont');
}
break;

case 'art':
echo '<div class="top">Артефакты</div>';
$PAGINGS = mysql_query("SELECT * FROM `art` WHERE `uid` = '".$use_id."' ORDER BY `id` DESC");
if($PAGINGS > 0)
{

while($row = mysql_fetch_array($PAGINGS))
{
$h = mysql_query("SELECT * FROM `planet` WHERE `id`='".$row['planet']."'");
$p = mysql_fetch_array($h);
echo '<div class="conts"><table cellspacing="0"><tr><td>
</td>
<td class="trest">';
if($row['isl']==0)echo 'Неисследованный артефакт<br/><a href="?act=isl&amp;art='.$row['id'].'"style = " color: red"> Исследовать </a>';
if($row['isl']==1)echo ''.art($row['type'], $row['lvl']).'<br/>'.iart($row['type'], $row['lvl']).'';
if($row['isl']==1 AND $row['act']==0)echo ' [<a href="?act=activate&amp;art='.$row['id'].'"style = " color: green">Активировать</a>]';
echo '<br/>Планета: <a href="planet.php?act=pl&amp;p='.$p['id'].'">'.$p['name'].'</a><br/>';
echo '</td></tr></table></div>';
}

}

else

{
div('Вы еще не нашли ниодного артефакта','conts');
}
echo '<div class="conts"><a href="exp.php"><<Назад</a></div>';
break;
case 'isl':
$art=$_GET['art'];
$q = mysql_query("SELECT * FROM `art` WHERE `id`='".check(mysql_real_escape_string($art))."'");
$a = mysql_fetch_array($q);
$h = mysql_query("SELECT * FROM `planet` WHERE `id`='".$a['planet']."'");
$p = mysql_fetch_array($h);
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `rabota` WHERE `typerab`=10 AND `planet`='".$p['id']."' AND `type`='".$a['id']."';"), 0);
if($a['uid']==$use_id AND $a['uid']!=''){
echo '<div class="top">Неизвестный артефакт</div><div class="conts">';
if($count!=0){echo 'Артефакт уже на исследовании<br/>';}else{

if(!$_POST)
{

echo '<form action="" method="POST">
'.rab($rasa).' (100-500): <br />
<input type="text" value="" name="number" />
<input type="submit" name="submit" value="Исследовать"/></form>';
}
else
{
$number2 = check(trim($_POST['number']));
$error = false;


if (empty($number2))
$error = $error . 'Не введено число рабочих <br/>';
elseif (preg_match('/[^\d_]+/',$number2))
$error = $error . 'Недопустимые символы<br />';
elseif ($number2<100 OR $number2>500)
$error = $error . 'Над исследованием может работать от 100 до 500 рабочих<br />';
elseif ($number2>$p['rab'])
$error = $error . 'У вас нет столько рабочих<br />';
elseif ($isl>1)
$error = $error . 'Повторно исследовать артефакт запрещенно<br />';

if (empty($error))
{
$timerab=$realtime+(21600-($number2*36));

echo 'Начато исследование неизвестного артефакта!<br/> <img src="../images/time.gif" alt="image" /> Работа будет завершена '.dates($timerab).'<br/>';

mysqli_query($mysqli,"UPDATE `planet` SET
`rab`=rab-$number2 WHERE `id` = '".$p['id']."'");

mysqli_query($mysqli,"INSERT INTO `rabota` SET
`uid`='".$use_id."',
`planet`='".$p['id']."',
`name_planet`='".$p['name']."',
`rasa`='".$rasa."',
`rab`='".$number2."',
`typerab`=10,
`type`='".$a['id']."',
`time`=$timerab");

}else{
echo ''.$error.'';
}}}
echo '<a href="exp.php?act=art"><<Назад</a></div>';}
break;
case 'activate':
$art=$_GET['art'];
$q = mysql_query("SELECT * FROM `art` WHERE `id`='".check(mysql_real_escape_string($art))."'");
$a = mysql_fetch_array($q);
$h = mysql_query("SELECT * FROM `planet` WHERE `id`='".$a['planet']."'");
$p = mysql_fetch_array($h);
if($a['uid']==$use_id AND $a['uid']!='' AND $a['act']==0){
echo '<div class="top">'.art($a['type'], $a['lvl']).'</div><div class="conts">';
echo 'Артефакт успешно активирован! Вы получаете '.iart($a['type'],
________
посл. ред. 07.03.2018 в 17:19; всего 1 раз(а); by Nehan
Я ставил вот так
elseif ($isl=1)
$error = $error . 'Повторно исследовать артефакт запрещенно<br />';
Исследования предмета запрещало. (но запрещало как и предмет с isl 0, так и с isl 1. Понимаю что это элементарная беда, но для меня это учение :)
Nehan , elseif ($isl==1)
$error = $error . 'Повторно исследовать артефакт запрещенно<br />';

Так пробуй, сразу говорю я код не смотрел представленный выше, а так делаешь проверку если условие определяется по id_user и оно равно не 0 а уже 1, то ищешь его в базе если уже есть 1 то ставишь запрет на его исследование, через комп зайду помогу если не помогут
MySqli , спасибо, попробую
нет, не работает. Если поставить 2 раза знак равно, то пропускает исследования. Я в этом деле ноль, и подозреваю что о параметре isl нужно где то в файле прописать. а я это все вставил в кнопку запрета.
echo '<form action="" method="POST">
'.rab($rasa).' (100-500): <br />
<input type="text" value="" name="number" />
<input type="submit" name="submit" value="Исследовать"/></form>';
}
else
{
$number2 = check(trim($_POST['number']));
$error = false;


if (empty($number2))
$error = $error . 'Не введено число рабочих <br/>';
elseif (preg_match('/[^\d_]+/',$number2))
$error = $error . 'Недопустимые символы<br />';
elseif ($number2<100 OR $number2>500)
$error = $error . 'Над исследованием может работать от 100 до 500 рабочих<br />';
elseif ($number2>$p['rab'])
$error = $error . 'У вас нет столько рабочих<br />';
elseif ($isl=1)
$error = $error . 'Повторно исследовать артефакт запрещенно<br />';
Онлайн: 4
Время:
Gen. 0.1059
(c) Bym.Guru 2010-2026