Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пременная из PHP в переменную JavaScript
 
 автор: Kreg-Heg   (22.04.2007 в 21:10)   письмо автору
 
 

Есть страница с формой


...
<form method='post' action='inchat.php>
login<br>
<input type='text' name='nick' size='15'><br>
<input type='submit' value='voiti'>
</form>
...


php скрипт


<html>
<head>
</head>
<?php
if ($_POST['nick']==''){
?>
<body>
<script language='JavaScript'>
top.location.href='http://www.myhost.ru/returnform.html';
</script>
</body>
</html>
<?php
}
else
{
?>
<frameset  rows='13%,5%,*,13%'>
 <frame name='bannern'    src='rv/bannern.html'>
 <frame name='verhn'   src='rv/verhn.html' >
  <frameset  cols='75%,25%' >
      <frame name='glavn'  src='rv/glavn.html' >
             <frame name='polz'  src='rv/polz.html' >
  </frameset>
 <frame name='nizn'  src='rv/nizn.html' >
</frameset>
</html>
<?php
}
?>


Из этого скрипта мне нужно передать переменную $_POST['nick'] в переменную nick
файла polz.html который находится в папке rv

   
 
 автор: bronenos   (22.04.2007 в 21:18)   письмо автору
 
   для: Kreg-Heg   (22.04.2007 в 21:10)
 

document.frames['polz'].nick = '<?=$_POST['nick']?>';

   
 
 автор: Kreg-Heg   (22.04.2007 в 21:32)   письмо автору
 
   для: bronenos   (22.04.2007 в 21:18)
 

в фрейме polz пишет undefined

Скорее всего я както криво поставил


...
}
else
{
?>
<script>
document.frames['polz'].nick = '<?=$_POST['nick']?>';
</script>
<frameset  rows='13%,5%,*,13%'>
...


polz.html выглядит так:


<html>
<head>
</head>
<body>
 <script>
      var nick;
      document.write(nick);
 </script>
</body>
</html>

   
 
 автор: Valick   (22.04.2007 в 21:45)   письмо автору
 
   для: Kreg-Heg   (22.04.2007 в 21:32)
 

Хочу спросить, чем вызваны эти хитросплетения ПХП и ЯвыСкрипт? Насколько рационально использовать ЯвуСкрипт в данной ситуации? Лично я сделал бы одним файлом и чистым ПХП, но может я чего-то неуглядел?

   
 
 автор: Kreg-Heg   (22.04.2007 в 21:54)   письмо автору
 
   для: Valick   (22.04.2007 в 21:45)
 

А как иначе передать переменную из одного языка в переменную другого языка?

   
 
 автор: Kreg-Heg   (22.04.2007 в 22:48)   письмо автору
 
   для: Kreg-Heg   (22.04.2007 в 21:54)
 

Никто не видит в коде ошибки?

   
 
 автор: coloboc66   (23.04.2007 в 09:45)   письмо автору
 
   для: Kreg-Heg   (22.04.2007 в 22:48)
 


<script>
document.frames['polz'].nick.value = '<? echo $_POST['nick'];?>';
</script>

   
 
 автор: bronenos   (23.04.2007 в 09:51)   письмо автору
 
   для: coloboc66   (23.04.2007 в 09:45)
 

nick.value ?
там не input поле...

   
 
 автор: Kreg-Heg   (23.04.2007 в 10:01)   письмо автору
 
   для: coloboc66   (23.04.2007 в 09:45)
 

Всё равно выводит undefined, я уже повсякому пробовал ((

   
 
 автор: coloboc66   (23.04.2007 в 10:08)   письмо автору
 
   для: coloboc66   (23.04.2007 в 09:45)
 

Невнимательно читал тему - перепутал фрейм с формой. Тут вопрос в том, правильно ли вообще идет обращение к переменной файла (nick)?

   
 
 автор: Kreg-Heg   (23.04.2007 в 10:24)   письмо автору
 
   для: coloboc66   (23.04.2007 в 10:08)
 

Я поставил так:

<script>
document.frames['polz'].nick = "<? echo $_POST['nick'];?>";
</script>

Хотя кстате это не есть обращение к переменной ник. Если за место <? echo $_POST['nick'];?> написать мой_ник , то все равно выводит undefined

   
 
 автор: coloboc66   (23.04.2007 в 10:37)   письмо автору
 
   для: Kreg-Heg   (23.04.2007 в 10:24)
 

Вся проблема во фрейме, нужно получить доступ к его переменной. Этот вопрос нужно задавать на форуме javascript. Еще поиском попробовать воспользоваться.

   
 
 автор: Kreg-Heg   (23.04.2007 в 11:12)   письмо автору
 
   для: coloboc66   (23.04.2007 в 10:37)
 

Поиск результатов не дал. Точнее дал, но не те =) А на форуме яваскрипта молчат. Мде...

   
 
 автор: coloboc66   (23.04.2007 в 11:34)   письмо автору
 
   для: Kreg-Heg   (23.04.2007 в 11:12)
 

Я бы сделал проще:аяксом передал бы значение в файл *.html а потом этот файл вывел бы во фрейм. Но это нужно обдумать, можно ли так сделать...

   
 
 автор: Kreg-Heg   (23.04.2007 в 12:00)   письмо автору
 
   для: coloboc66   (23.04.2007 в 11:34)
 

А можно ведь переменную передать в значение какойнибудь формы в этом фрейме, а потом уже переменной передать значение формы.
То есть например document.frames['polz'].myform.mynick.value="<?php echo $_POST['nick'] ?>
А в самом фрейме уже nick=document.myform.mynick.value;
Наверно это возможно. А реально сделать скрытое поле <input type='text'> ??? Такое бывает?

   
 
 автор: coloboc66   (23.04.2007 в 12:41)   письмо автору
 
   для: Kreg-Heg   (23.04.2007 в 12:00)
 

бывает:
<input type=hidden id=nick>
document.getElementById('nick').value='<? echo $_POST['nick'];?>';
А доступ к ней во фрейме получаете, как я указывал в теме javascript (по ссылке)
По идее так:
frames[0].document.documentElement.document.getElementById('nick').value;

   
 
 автор: Kreg-Heg   (23.04.2007 в 13:06)   письмо автору
 
   для: coloboc66   (23.04.2007 в 12:41)
 

Вот сделал так:

<script>
document.frames['polz'].getElementById('nick').value = "<?php echo $_POST['nick'?>";
</script>

Во фрейме так:

<body>
<input type='hidden' id='nick' name='nick'>
 <script>
      var nick=document.getElementById('nick').value;
      document.write(nick);
 </script>
</body>

undefined теперь не выводит, вообще ничего не выводит, там пустота
Поправьте меня.

   
 
 автор: Kreg-Heg   (23.04.2007 в 13:53)   письмо автору
 
   для: Kreg-Heg   (23.04.2007 в 13:06)
 

coloboc66! Спасибо за помощь. На форуме javascript довели до ума этот скрипт. Всё получилось.
Вот конечный код:

<html>
<head>
<script language='JavaScript'>
function gonick() 

  window.frames['polz'].nick = "<?php echo $_POST['nick'?>"; 
  window.frames['polz'].f(); 
}
</script>
</head>

<?php
if ($_POST['nick']==''){
?>
<body>
<script language='JavaScript'>
top.location.href='http://www.myhost.ru/my.html';
</script>
</body>
</html>
<?php

}
else
{
?>

<frameset onload='gonick()' rows='13%,5%,*,13%' frameborder=1 bordercolor='#0000FF'>
 <frame name='bannern'  frameborder=1  src='rv/bannern.html' scrolling=no marginwidth=1 marginheight=1>
 <frame name='verhn'  frameborder=1 src='rv/verhn.html' scrolling=no marginwidth=1 marginheight=1>
  <frameset  cols='75%,25%' frameborder=1 bordercolor='#0000FF'>
      <frame name='glavn' marginwidth=10 marginheight=10 frameborder=1 src='rv/glavn.html' scrolling=Yes>
             <frame name='polz' frameborder=1 src='rv/polz.html' scrolling=Yes marginwidth=1 marginheight=1>
  </frameset>
 <frame name='nizn'  frameborder=1 src='rv/nizn.html' scrolling=no marginwidth=1 marginheight=1>
</frameset>
</html>
<?php
}
?>

фрейм:

<html>
<head>
<script language='JavaScript'>
function f(){
document.write(nick);
}
</script>
</head>
<body>
 <script>
      var nick;
 </script>
</body>
</html>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования