Javascript и php

  • Автор темы Автор темы antifox
  • Дата начала Дата начала

antifox

Новичок
Javascript и php

Искал, искал, никак не мог найти, хотя проблема может оказаться для многих существенной.

Вот в чем дело:
Есть два файла, один называется java.php другой file.php
Цель - После истечении обратного отсчета, javascript перенаправляет в file.php и вместе с ней переменную $var1.

В файле file.php переменная $var1 уже бы фигурировала в другом скрипте.

Вот скрипт javascript:

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
<!--
var g_iCount = new Number();
// CHANGE THE COUNTDOWN NUMBER HERE - ADD ONE TO IT //
var g_iCount = 10;
function startCountdown(){
if((g_iCount - 1) >= 1){
g_iCount = g_iCount - 1;
numberCountdown.innerText = '' + g_iCount;
setTimeout('startCountdown()',1000);
}
else window.location = "fail.php";
}
// End -->
</script>

Вот и куда запихнуть здесь $var1, который бы равнялся допустим '1'.
 
Извените не в ту тему,
}
else window.location = "fail.php?var1=1";
}
Это не пойдет, так как $var=1, должен быть спрятан от глаз пользователя. Он должен находиться внутри javascript
 
antifox

расскажи, как находясь внутри javascript он будет спрятан от пользователя?
это защита от кухарок?
можешь закодировать как нибудь "fail.php?var1=%31"
 
Мне нужно чтоб в адресной строчке было чисто "fail.php"
И при этом передалась переменная $var1 каким-нибудь другим способом. Можно ли так?
 
Потому что, если они узнают что можно не ждать пока пройдет время обратного отсчета, они возьмут и сразу в адресной строке наберут fail.php?var1=1 и таким образом запустят скрипт.
 
для этих целей надо использовать сессии, а не детский лепет с прятками.
 
А где можно прочитать про сессии, как правильно назвать такую операцию?
 
Если без сессий, можешь так попробовать, хотя это, конечно, изврат:

java.php:

<form name="form1" action="file.php" method="post">
<input type="hidden" name="var1" value="Значение var1" />
</form>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
<!--
var g_iCount = new Number();
// CHANGE THE COUNTDOWN NUMBER HERE - ADD ONE TO IT //
var g_iCount = 10;
function startCountdown(){
if((g_iCount - 1) >= 1){
g_iCount = g_iCount - 1;
numberCountdown.innerText = '' + g_iCount;
setTimeout('startCountdown()',1000);
}
else document.forms[0].submit();
}
// End -->
</script>




file.php:

<?php
$var1 = $_REQUEST["var1"];
…..
?>
 
Несомненно использовать сессию.
По поводу JavaScript, вот как это реализовано на этом форуме:
http://phpclub.ru/talk/register.php?action=signup
PHP:
  <script>
  <!--
  var time = 60;

  function vbaccept()
  {
    time--;
    frm = document.vbaccept;

    if (frm)
      frm.submit.value = 'Принять ('+time+')';

    if (time>0)
      window.setTimeout("vbaccept()",1000);
    else if (frm)
    {
	frm.submit.value = 'Принять';
  	frm.submit.disabled=0;
    }
  }

  vbaccept();
  -->
  </script>
Maria
setInterval
 
Сверху