зависимость отображения страницы от IP

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

зависимость отображения страницы от IP

Непрочитанное сообщение QweЯty » 2011-05-25 19:41:05

есть:

text3.php

Код: Выделить всё

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TEST PAGE!!!</title>

<style type="text/css">
<!--
label {
	position: relative;	
	left: 12px;
	}
	
body {
	padding: 12px 56px;
	width: 650px;
	margin: 0 auto;
	background: #878787 url(background-drop-shadow.gif) 50% 0 repeat-y;
	color: #000066;
	}
	.border_question{
	border-width: thin;
	border-style: solid;
	border-color: #006633;	
	font-weight: bolder;	
}
hr {
 height: 15; 
  width: 100%;
 text-align: center; 
 color: #FF0000; 
}
.text{
	border-style: none;
	62.5%/1.5 Verdana, Arial, Helvetica, sans-serif;
	font-style: regular;
	font-size:1.1em; 
	text-align:justify;
}
.button_test {
	width:248px;
	height:30px;
	text-align:center;
	color: #FFFFFF;
	background-color: #0066CC;
	font-size: large;
	cursor:pointer;
}

.answer{
	color:#000099;
	font-weight: normal;
}
-->
</style>
</head>
<body>

<h1 align="center" class="style1">Выберите правильный вариант, синонимичный выделенному слову:</h1>
<?php
 $db	  	= 	 mysql_connect("127.0.0.1","trunghiep","12345");
 mysql_query('SET NAMES utf8 ') or header('Location: Error');
	 			 mysql_select_db("RUSSIAN",$db);
		 
 $qua 		= 	$_POST['quantity'];
 //$qua 		= 	46;
 $level		= 	'3';
 $result 	= 	mysql_query("SELECT * FROM test4 where level=$level ORDER BY RAND() LIMIT $qua",$db);
 $i=0;
 $j=0;
 
 $num_rows  =  mysql_num_rows($result); 
// $num_rows2  =  mysql_num_rows($result2); 
while (($j < $qua) and ($j<$num_rows))
{
	$myrow[$j]  	=   mysql_fetch_array($result);
	$j++;
}
$t=0;
$indexArray = Array();
while($t<$qua)
{	
	$randNum = round(rand(0,($qua-1)));	
	$exist = false;
	$s=0;		
	for ($s=0; $s<sizeof($indexArray);$s++)
	{		
		if (round($indexArray[$s]) == round($randNum)) 
		{
			$exist = true;
			break;
		}
	}
	if ($exist == false) 
	{	
		$indexArray[$t] = $randNum;
		$t++;
	}
}
$t = 0;
$textArray = Array();
while ($t<$qua)
{
	$textArray[$t] = $myrow[$indexArray[$t]];		
	$t++;
}
$myrow = $textArray;
$part = 1;
$ex = 1;
$testNum = 1;
printf("<form id='form1' name='form1' method='post' action='result3.php'>");
while ( ($i < $qua) and ($i<$num_rows) )
{ 	
	$i 			=   $i + 1;
	printf("<p >");
 	printf(" <p class='border_question'>%s. %s </p>", $i,$myrow[$i-1]['question']  );
	if ( $myrow[$i-1]['var1'] !='' ) 
	{
 	printf(" <div class='answer'><label> <input type='radio' name='ans_$i' value='1' checked='checked' /> %s <br/></label>",$myrow[$i-1]['var1']);
    }

	if ( $myrow[$i-1]['var2'] !='' ) 
	{
 	printf("<label> <input type='radio' name='ans_$i' value='2' /> %s <br/></label>",$myrow[$i-1]['var2']);
    }

	if ( $myrow[$i-1]['var3'] !='' ) 
	{
 	printf("<label> <input type='radio' name='ans_$i' value='3' /> %s <br/></label>",$myrow[$i-1]['var3']);
    }
	
	if ( $myrow[$i-1]['var4'] !='' ) 
	{
 	printf("<label> <input type='radio' name='ans_$i' value='4' /> %s <br/></label>",$myrow[$i-1]['var4']);
    }

	if ( $myrow[$i-1]['var5'] !='' ) 
	{
 	printf("<label> <input type='radio' name='ans_$i' value='5' /> %s <br/></label>",$myrow[$i-1]['var5']);
    }
    
	printf("<input type='hidden' name='right_ans_$i' value='%s'/></div>",$myrow[$i-1]['answer']);
	printf("</p>");
 }
printf("<input type='hidden' name='quality_question' value='%s'/>",$i);
printf("<br /><div>
    <input name='Submit' type='submit' class='button_test' value='Результат теста' />	
		</div> "); 
echo("<br />");
 $i = 0;

 echo("<br />");

printf("<div>
	<input name='Submit' type='submit' class='button_test' value='Результат теста с ответами' />	
		</div> ");	
echo("<br />");
 printf("</form>");
?>
</body>
</html>
и result3.php

Код: Выделить всё

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
<title>RESULT OF YOUR TEST ! ! !</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>


  <?php
$type_of_result_page = $_POST['Submit'];
$quality_question	= $_POST['quality_question'];
$percentage 	 	= 100 / $quality_question;
$result 			= 0;
 echo("<p style='position:relative;left:36px;'>"); 
if ($type_of_result_page=='Результат теста с ответами')
{

for ($i = 1; $i <=$quality_question ; $i++)
 {
     $temp1 = "ans_".$i;
	 $temp2 = "right_ans_".$i;
	 $a 	= 	$_POST[$temp1];
	 $b 	= 	$_POST[$temp2];
     printf("<font size='+1' color='#330066'>Предложение <font color='red'>%s</font> &nbsp&nbsp&nbsp&nbspВы выбрали номер ответа <font color='red'>%s</font>  &nbsp&nbsp&nbsp&nbspПравильный номер ответа &nbsp&nbsp&nbsp&nbsp <font color='red'>%s </font></font> ", $i, $_POST[$temp1], $_POST["right_ans_".$i]);

	 if ($a == $b )  
	 {
	 $result = $result + $percentage ; 
	 echo " =====> Правильно.<br />";
	 echo "<br />";
	 } 
	 else 
	 { printf("<font color='#FF3366'> =====> Неправильно. </font> <br />");
	  echo "<br />";
	 }
 }
  echo("<p style='position:relative;left:36px;font-size:1.4em;'>"); 
 echo "---------------------------------------------------------------------------------------------------------------------------------------------<br />";
 echo $result."%";
 echo "<br />";
 if  ($result >= 95) 						{echo "Отлично! У Вас 8 баллов.";}
 if  ( ($result < 95) and ($result >= 87) )	{echo "Хорошо! У Вас 7 баллов.";}
 if  ( ($result < 87) and ($result >= 77) )	{echo "Хорошо! У Вас 6 баллов.";}
 if  ( ($result < 77) and ($result >= 68) )	{echo "Удовлетворительно! У Вас 5 баллов.";} 
 if  ( ($result < 68) and ($result >= 55) )	{echo "Удовлетворительно! У Вас 4 балла.";} 
 if  ( ($result < 55) and ($result >= 40) )	{echo "Неyдовлетворительно! У Вас 3 балла.<br />";  echo "Если Вы получили неудовлетворительную оценку, поработайте с грамматическим справочником и выполните задания повторно.";} 
 if  ( ($result < 40) and ($result >= 20) )	{echo "Неyдовлетворительно! У Вас 2 балла.<br />";  echo "Если Вы получили неудовлетворительную оценку, поработайте с грамматическим справочником и выполните задания повторно.";}  
 if  ( ($result < 20) and ($result >= 0) )	{echo "Неyдовлетворительно! У Вас 1 балл.<br />";  echo "Если Вы получили неудовлетворительную оценку, поработайте с грамматическим справочником и выполните задания повторно."; } 
 echo "<br />----------------------------------------------------------------------------------------------------------------------------------------------"; 
 echo("</p>");
 echo("</p>");
}
else
{
for ($i = 1; $i <=$quality_question ; $i++)
 {
     $temp1 = "ans_".$i;
	 $temp2 = "right_ans_".$i;
	 $a 	= 	$_POST[$temp1];
	 $b 	= 	$_POST[$temp2];

	 if ($a == $b )  
	 {
	 $result = $result + $percentage ; 
	// echo " ==> ?????????!<br />";
	// echo "<br />";
	 } 
	 else 
	 {
	 // echo " ==> ???????????! <br />";
	 // echo "<br />";
	 }
 }
 echo("<p style='position:relative;left:36px;font-size:1.4em;'>"); 
 echo "<br />"; 
 echo "<br />";
 echo "-----------------------------------------------------------------------------------------------------------------------------------------------<br />";
 echo("ваш результат: ");
 echo "<br />";
 echo $result."%";
 echo "<br />";
 
 if  ($result >= 95) 						{echo "Отлично! У Вас 8 баллов.<br />";}
 if  ( ($result < 95) and ($result >= 87) )	{echo "Хорошо! У Вас 7 баллов.<br />";}
 if  ( ($result < 87) and ($result >= 77) )	{echo "Хорошо! У Вас 6 баллов.<br />";}
 if  ( ($result < 77) and ($result >= 68) )	{echo "Удовлетворительно! У Вас 5 баллов.<br />";} 
 if  ( ($result < 68) and ($result >= 55) )	{echo "Удовлетворительно! У Вас 4 балла.<br />";} 
 if  ( ($result < 55) and ($result >= 40) )	{echo "Неyдовлетворительно! У Вас 3 балла.<br />";  echo "Если Вы получили неудовлетворительную оценку, поработайте с грамматическим справочником и выполните задания повторно.<br />";} 
 if  ( ($result < 40) and ($result >= 20) )	{echo "Неyдовлетворительно! У Вас 2 балла.<br />";  echo "Если Вы получили неудовлетворительную оценку, поработайте с грамматическим справочником и выполните задания повторно.<br />";}  
 if  ( ($result < 20) and ($result >= 0) )	{echo "Неyдовлетворительно! У Вас 1 балл.<br />";  echo "Если Вы получили неудовлетворительную оценку, поработайте с грамматическим справочником и выполните задания повторно.<br />"; } 
 echo "-----------------------------------------------------------------------------------------------------------------------------------------------";
 echo("</p>");
}  
?>

</body>
</html>
в text3.php есть 2 кнопки:

Код: Выделить всё

printf("<form id='form1' name='form1' method='post' action='result3.php'>");
...
printf("<br /><div>
    <input name='Submit' type='submit' class='button_test' value='Результат теста' />	
		</div> "); 
echo("<br />");
 $i = 0;

 echo("<br />");

printf("<div>
	<input name='Submit' type='submit' class='button_test' value='Результат теста с ответами' />	
		</div> ");	
echo("<br />");
 printf("</form>");
результат теста и результат теста с ответами

как сделать, чтобы если ip == 192.168.0.1 то отображались обе кнопки, но со всех остальных ip отображалась только кнопка результат теста
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: зависимость отображения страницы от IP

Непрочитанное сообщение FreeBSP » 2011-05-25 20:08:20

Код: Выделить всё

// показать_первую_кнопку
if ($_SERVER["КАКОЙ_ТО_ЭЛЕМЕНТ_ТИПА_REMOTE_ADDR_ИЛИ_ЧТО_ТО_ТИПА_ТОГО"] == "192.168.0.1") {
// показать вторую кнопку которая только для 0.1
}
а там куда ведет кнопка

Код: Выделить всё

\
<?php
if ($_SERVER["КАКОЙ_ТО_ЭЛЕМЕНТ_ТИПА_REMOTE_ADDR_ИЛИ_ЧТО_ТО_ТИПА_ТОГО"] != "192.168.0.1") {
echo "404 Not Found"; // =)
exit();
die();
}
по теме гуглить
"$_SERVER" site:php.net
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
QweЯty
лейтенант
Сообщения: 796
Зарегистрирован: 2010-10-12 0:15:15
Откуда: Таганрог, Калининград
Контактная информация:

Re: зависимость отображения страницы от IP

Непрочитанное сообщение QweЯty » 2011-05-25 20:33:58

Код: Выделить всё

$ip = getenv('REMOTE_ADDR')
 if( $ip == '192.168.0.1'){

 Кнопка "результат теста"
 }
 else {
 обе кнопки 
 }
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: зависимость отображения страницы от IP

Непрочитанное сообщение FreeBSP » 2011-05-25 20:44:48

лучше одну вынести вообще из условия
и получение глобальной переменной по идее быстрее чем вызов функции.. проверь если есть желание

Код: Выделить всё

первая кнопка "трололо"
$ip = getenv('REMOTE_ADDR')
 if( $ip == '192.168.0.1'){
 вторая кнопка "результат теста"
 }

Код: Выделить всё

$t1=microtime(1);
for ($i=0; $i < 1000000; ++$i) eval("$ip = getenv('REMOTE_ADDR'); ");
$t2=microtime(1);
for ($i=0; $i < 1000000; ++$i) eval("$ip = $_SERVER['REMOTE_ADDR']; ");
$t3=microtime(1);

$tfunc=$t2-$t1;
$tvar=$t3-$t2;
echo '$tvar=' . $tvar . '<br>$tfunc=' . $tfunc;
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!