JS timer + php не отдает данные $_POST

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

JS timer + php не отдает данные $_POST

Непрочитанное сообщение QweЯty » 2011-11-26 13:16:57

имеем :

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

<!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">
<!--
.hr_1 {
    position: fixed;
    height: 100%;
    width: 100%;
    color: #0000FF;
    font-size: large;
    font-weight: bolder;
    text-align: left;
    margin-left: -25%;
}

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;
}
.button_pswd {
	width:245px;
	height:20px;
	text-align:center;
	color: #FFFFFF;
	background-color: #0066CC;
	font-size: large;
}

.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>
<div class="hr_1">Осталось <span id="timer">30:00</span> минут.</div>
<body>
<!--<div class="hr_1">Осталось <span id="timer">30:00</span> минут.</div>-->
<h1 align="center" class="style1">Выберите правильный вариант ответа в примере или задаче:</h1>
<script type="text/javascript"><!--
var min = 2;
var sec = 0;
var timerid;
function timer()
{
  sec--; /* уменьшаем на одну секунду */
  if (sec<0) /* следующая минута */
  {
    sec = 59;
    min--;
  }
  var smin = ''+min;
  var ssec = ''+sec;
   if (smin.length<2) smin = '0'+smin; /* добавляем ведущие нули */
   if (ssec.length<2) ssec = '0'+ssec;
      document.getElementById('timer').innerHTML = smin+':'+ssec; /* и выводим на страницу текущее значение */
       if (min==0 && sec==0)
        {
          clearInterval(timerid); /* останавливаем таймер */
          /* alert('Дождались'); и производим какие-то свои действия */
          location.href='result3.php';
        }
}
timerid = setInterval(timer,1000); /* запускаем таймер */
 --></script>
<?php /*
echo "POST array <br>\n";
foreach ($_POST AS $field => $value){
echo "$field = $value <br> \n";
}
*/
$datedb	=	"fiz";
 $db	=		mysql_connect("127.0.0.1","trunghiep","12345");
  mysql_query('SET NAMES utf8 ') or header('Location: Error');
	    mysql_select_db("$datedb",$db);
 if ( $_POST['level'] == "0" )
    { $classdb = 'test0'; $u_level = '0'; }
 elseif ( $_POST['level'] == "7" )
      { $classdb = 'test7'; $u_level = '7'; }
 elseif ( $_POST['level'] == "8" )
    { $classdb = 'test8'; $u_level = '8'; }
 elseif ( $_POST['level'] == "9" )
    { $classdb = 'test9'; $u_level = '9'; }
 elseif ( $_POST['level'] == "10" )
    { $classdb = 'test10'; $u_level = '10'; }
 elseif ( $_POST['level'] == "11" )
    { $classdb = 'test11'; $u_level = '11'; }
 else { $classdb = 'test0'; $u_level = '0'; }
// echo $classdb;
 $qua 		= 	$_POST['quantity'];
 //$level		= 	'3';
 $level	=	$_POST['level'];
 $result 	= 	mysql_query("SELECT * FROM $classdb 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("<input type='hidden' name='u_level' value='$u_level'/>");
printf("<br /><div>
    <input name='Submit' type='submit' class='button_test' value='Результат теста' />
		</div> ");
echo("<br />");
 $i = 0;

 echo("<br />");

printf("<div>
	<font color='#878787' ><h2>Для преподавателя: </h2></font>
	<input type='password' name='passwd' size='15' maxlength='8' class='button_pswd' placeholder='Введите пароль' /> <br>
	<input name='Submit' type='submit' class='button_test' value='Результат теста с ответами' />
		</div> ");
echo("<br />");
printf("
<script type='text/javascript'><!--
var min = 2;
var sec = 0;
var timerid;
function timer()
{
  sec--; /* уменьшаем на одну секунду */
    if (sec<0) /* следующая минута */
      {
          sec = 59;
              min--;
                }
                  var smin = ''+min;
                    var ssec = ''+sec;
                       if (smin.length<2) smin = '0'+smin; /* добавляем ведущие нули */
                          if (ssec.length<2) ssec = '0'+ssec;
                                document.getElementById('timer').innerHTML = smin+':'+ssec; /* и выводим на страницу текущее значение */
                                       if (min==0 && sec==0)
                                               {
                                                         clearInterval(timerid); /* останавливаем таймер */
                                                                   /* alert('Дождались'); и производим какие-то свои действия */
                                                                             location.href='result3.php';
                                                                                     }
                                                                                     }
                                                                                     timerid = setInterval(timer,1000); /* запускаем таймер */
                                                                                      --></script>
");
 printf("</form>");
?>
</body>
</html>
2 бага:

1. пока идет отсчет. чекбоксы выделяются нормально. но кнопки не работают... хоть мышь в порошок сотри нажиманиями...
не работают конкретно эти формы:

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

printf("<br /><div>
    <input name='Submit' type='submit' class='button_test' value='Результат теста' />
		</div> ");
printf("<div>
	<font color='#878787' ><h2>Для преподавателя: </h2></font>
	<input type='password' name='passwd' size='15' maxlength='8' class='button_pswd' placeholder='Введите пароль' /> <br>
	<input name='Submit' type='submit' class='button_test' value='Результат теста с ответами' />
		</div> ");
2. когда счет закончится, скрипт, перенаправляет конечно на result3.php, но значения никакие не передает. POST array == 0 :(

как это все исправить?
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Хостинговая компания 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/

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

Re: JS timer + php не отдает данные $_POST

Непрочитанное сообщение QweЯty » 2011-11-26 14:00:16

щаз открыл америку...
в ие работает все, в остальных браузерах нет: опера и лиса

тут что может быть....

p.s. в ие тупит страница жутко, хоть и локальная... но скролл такой как будто видео память в 2 метра стоит.... и чекбоксы выделяются долго, выделил, а он выделился только через 5-8 секунд...
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

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

Re: JS timer + php не отдает данные $_POST

Непрочитанное сообщение QweЯty » 2011-11-28 6:21:18

глюк, глюком погоняет...

кнопки становятся неактивными если подключить любой! js-скрипт. подключил firebug таже хрень... при удаленом первом скрипте....


заголовок как только я не менял...
сейчас стоит это:

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

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

Re: JS timer + php не отдает данные $_POST

Непрочитанное сообщение QweЯty » 2011-11-28 10:34:44

прошу прощения...
разобрался...
это css стиль.... занимал все 100% экрана %)

теперь такая проблема....

location.href='result3.php'; как я понял просто перенаправляет на другую страницу...

а как передать еще и данные $_post ?
Инженер не смотрит порно. Он ведет расчет бабы на усталость © Федор Сумкин
Изображение

Аватара пользователя
NoResponse
мл. сержант
Сообщения: 76
Зарегистрирован: 2007-07-30 1:39:02
Контактная информация:

Re: JS timer + php не отдает данные $_POST

Непрочитанное сообщение NoResponse » 2011-11-29 4:51:56

вместо
location.href='result3.php';
используйте
document.getElementById('form1').submit;
Я сам по себе скопище энтропии. А по законам термодинамики, если не принимать никаких действий энтропия стремится к бесконечности. Похоже, так оно и есть.

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

Re: JS timer + php не отдает данные $_POST

Непрочитанное сообщение QweЯty » 2011-11-29 6:38:19

ага, почти так же сделал...
document.form1.submit.click();

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