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

Форум PHP

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

 

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

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

тема: php из фрема не пашет
 
 автор: lilu   (12.10.2007 в 11:57)   письмо автору
 
 

есть фрейм

<html>
<head>
    <title>1111    </title><link rel="stylesheet" type="text/css" href="default0.css" title="default">


</head>

<frameset  rows="249,*" bordercolor="#CCCCCC">
<frame src="SHAP.htm" name="SHAP" scrolling="NO" marginwidth="0" marginheight="0">
<frameset  cols="300,*" bordercolor="#CCCCCC">
<frame src="TOC.htm" name="TOC" scrolling="No" marginwidth="0" marginheight="0">
<frame src="General_Statistics.htm" name="Main" scrolling="Auto" marginwidth="0" marginheight="0">
</frameset>
<noframes>
<body>
</body>
</noframes>
</html>



в файле shap.htm есть кнопка $sub_test, скажите какой написать обработчик что открывалась новая страница при её нажатии


<html>
<head>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
    <title>111    </title><link rel="stylesheet" type="text/css" href="default0.css" title="default">
</head>
<body bgcolor="#AAC2DA"><form  method="post" action="<?php echo $_SERVER['REQUEST_URI']?>" target="_self">
<table width="1013" border="0" height="249">
<tr><td><img src="shapka1.gif"></td>
<td background="shapka2.gif" width="234" align="right">
 
          <br><input name="sub_test" type="submit" value="пройти тестирование">
</td></tr>
</table>
<? if($sub_test){} ?>
</form>

</body>
</html>



- но такое впечатление что php вообще не хочет работать здесь....

   
 
 автор: Valick   (12.10.2007 в 12:31)   письмо автору
 
   для: lilu   (12.10.2007 в 11:57)
 

Не хочет и не захочит пока вы не заставите Апач обрабатывать ХТМЛ файлы как РНР.
Проще переименовать shap.htm в shap.php

<? if($sub_test){} ?> - а это у вас что?

   
 
 автор: lilu   (12.10.2007 в 12:44)   письмо автору
 
   для: Valick   (12.10.2007 в 12:31)
 

это обработчик кнопки <? if($sub_test){include ("index.php");} ?>
но include не совсем подходит, т.к. надо чтобы открывалась новая страница вместо этой.

   
 
 автор: sim5   (12.10.2007 в 12:50)   письмо автору
 
   для: lilu   (12.10.2007 в 12:44)
 

Обработчика у кнопки нет, есть события, но их обрабатывать надо в JS. А вот кто будет обрабатывать ваш скрипт, это задается в action фрмы, и может быть так?:

<?php echo $_SERVER['PHP_SELF']?>

   
 
 автор: lilu   (12.10.2007 в 15:28)   письмо автору
 
   для: sim5   (12.10.2007 в 12:50)
 

я исправила:

<html>
<head>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
    <title>111    </title><link rel="stylesheet" type="text/css" href="default0.css" title="default">
</head>
<body bgcolor="#AAC2DA"><form  method="post" action="<?php echo $_SERVER['PHP_SELF']?>" target="_self">
<table width="1013" border="0" height="249">
<tr><td><img src="img/shapka1.gif"></td>
<td background="img/shapka2.gif" width="234" align="right">
 
          <br><input name="sub_test" type="submit" 
          value="пройти тестирование">
</td></tr>
</table>
<? if($sub_test) {echo "hhhhh";}?>

</form>

</body>
</html>



но даже hhhh не появляется :((
если можно поясните пож, чем же отличается выполнение кода в фрейме от его выполнения в обычной странице

   
 
 автор: Valick   (12.10.2007 в 16:13)   письмо автору
 
   для: lilu   (12.10.2007 в 15:28)
 

Ничем не отличается. Код выполняется на сервере, а результат выводиться туда откуда "попросили". Вы расширение файла переименовали?

   
 
 автор: Valick   (12.10.2007 в 16:21)   письмо автору
 
   для: Valick   (12.10.2007 в 16:13)
 


<? if($_POST['$sub_test']) {echo "hhhhh";}?> 
<html> 
<head> 
<title>111</title>
<link rel="stylesheet" type="text/css" href="default0.css" title="default">
<META content="text/html; charset=windows-1251" http-equiv=Content-Type> 
</head> 
<body bgcolor="#AAC2DA">

<form action="<?php echo $_SERVER['PHP_SELF']?>"  method="post" target="_self"> 
<table width="1013" border="0" height="249">
   <tr>
     <td><img src="img/shapka1.gif"></td> 
     <td background="img/shapka2.gif" width="234" align="right"> 
     <br>
     <input type="submit"  name="sub_test"  value="пройти тестирование"> 
     </td>
   </tr> 
</table> 
</form> 

</body> 
</html>


Вот почему $_POST['$sub_test'] и учитесь оформлять код, а то читать не удобно.
У вас регистр глобалс = офф.

   
 
 автор: sim5   (12.10.2007 в 16:14)   письмо автору
 
   для: lilu   (12.10.2007 в 15:28)
 

Ну во первых фрейм тут совсем не причем. РНР вообще этим вопросом не занимается. Просто этот файл (который загружается во фрейм) должне обрабатываться РНР. Если в конфигурации вашего Апач указано
AddType application/x-httpd-php .php .phtml
то только эти файлы будут обработаны РНР интерпретатором. Вам об этом уже говорил Valick. Поэтому переименуйте свои html расширения на РНР, соответсвенно прописав их и в frameset. Или добавьте соответствующее расширение в конфигурацию Апач.
После этого и значение action и кнопка должны появиться.

   
 
 автор: lilu   (12.10.2007 в 18:21)   письмо автору
 
   для: sim5   (12.10.2007 в 16:14)
 

Расширение файла переименовала везде,
php_flag register_globals On
и всё тоже

   
 
 автор: sim5   (12.10.2007 в 18:23)   письмо автору
 
   для: lilu   (12.10.2007 в 18:21)
 

Вот это register_globals не то, и установите в off. Что у вас в frameset сейчас прописано?

   
 
 автор: lilu   (19.10.2007 в 16:18)   письмо автору
 
   для: sim5   (12.10.2007 в 18:23)
 

вот что прописано

<html>
<head>
    <title>!!!!!!!!!!!!</title><link rel="stylesheet" type="text/css" href="default0.css" title="default">


</head>

<frameset  rows="249,*" bordercolor="#CCCCCC">
<frame src="SHAP.php" name="SHAP" scrolling="NO" marginwidth="0" marginheight="0">
<frameset  cols="300,*" bordercolor="#CCCCCC">
<frame src="TOC.htm" name="TOC" scrolling="No" marginwidth="0" marginheight="0">
<frame src="General_Statistics.htm" name="Main" scrolling="Auto" marginwidth="0" marginheight="0">
</frameset>
<noframes>
<body>
</body>
</noframes>
</html>


Вообще у меня страница (index.php) содержит фрейм, кот. разбивает её на три части:
SHAP.php; TOC.htm; General_Statistics.htm.
В верхней части (Shap.php) есть кнопка, при нажатии на кот. должна открываться страница page.php вместо index.php.

Неужели с фреймами это сделать нельзя:

   
 
 автор: sim5   (19.10.2007 в 16:54)   письмо автору
 
   для: lilu   (19.10.2007 в 16:18)
 

И в чем проблемы? Из первых ваших постов:


</table> 
<? if($sub_test){} ?> 
</form>


Так вы сделайте (если не сделано):


<? if (isset($_POST['sub_test'])) {}?> 
</form>

Либо где-то уж определите, что $sub_test = $_POST['sub_test'], а в остальном (из того что представлено) проблем не должно быть.

   
 
 автор: lilu   (19.10.2007 в 17:34)   письмо автору
 
   для: sim5   (19.10.2007 в 16:54)
 

вот мой код shap.php

<html>
<head>
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
    <title>Дистанционное обучение
    </title><link rel="stylesheet" type="text/css" href="default0.css" title="default">
</head>
<body bgcolor="#AAC2DA">
<form  method="post" action="<?php echo $_SERVER['PHP_SELF']?>">

<table width="1013" border="0" height="249">
<tr><td><img src="shapka1.gif"></td>
<td background="shapka2.gif" width="234" align="right">

          <br><input name="sub_test" type="submit" 
          value="пройти тестирование">
</td></tr>
</table>
<? if (isset($_POST['sub_test'])) {include ("new_test.php");}?>
</form>

</body>
</html>


может что-то не так или не туда или include() здесь не уместно !!!!!

   
 
 автор: sim5   (19.10.2007 в 17:36)   письмо автору
 
   для: lilu   (19.10.2007 в 17:34)
 

А что это new_test.php и почему вы это вставляете в форму?

   
 
 автор: lilu   (19.10.2007 в 17:52)   письмо автору
 
   для: sim5   (19.10.2007 в 17:36)
 

при нажатии на кнопку эта страница должна открываться

   
 
 автор: sim5   (19.10.2007 в 18:02)   письмо автору
 
   для: lilu   (19.10.2007 в 17:52)
 

Я вижу что она должна, но почему в форме? Если это элементы формы для тестирования, то вы поступаете не правильно. Сделать лучше так.


<html> 
<head> 
<META content="text/html; charset=windows-1251" http-equiv=Content-Type> 
    <title>Дистанционное обучение 
    </title><link rel="stylesheet" type="text/css" href="default0.css" title="default"> 
</head> 
<body bgcolor="#AAC2DA">
<?
if (isset($_GET['test'])) {
//и выводите ниже следующую форму (echo или print)  
<form  method="post" action="<?php echo $_SERVER['PHP_SELF']?>"

<
table width="1013" border="0" height="249"
<
tr><td><img src="shapka1.gif"></td
<
td background="shapka2.gif" width="234" align="right"

// здесь подключаете элементы формы  
include ("new_test.php"); 
//хотя странно, почему их нельзя прописать
          
<br><input name="sub_test" type="submit"  
          
value="пройти тестирование"
</
td></tr
</
table>
</
form
} else { 
//выводим ссылку или картинку с приглашением на тестирование
//в url которой передаем переменную test=1

</
body
</
html>

Если это не опросный лист для тестирования, то почему вы это вставляете в форму, которой (по идее) после тестирования не должно быть? По идее страница должна измениться. А само по себе подключение по выполнению условия произойдет, а у вас что - не подключается?

   
Rambler's Top100
вверх

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