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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Загрузка CSS через PHP

Сообщения:  [1-10]   [11-20] 

 
 автор: codexomega   (30.12.2005 в 00:06)   письмо автору
 
   для: codexomega   (29.12.2005 в 21:46)
 

Заставил эту собаку наконец работать.
Вот готовое решение, доделаете потом:

Фрейм с Меню:

<?php 
session_start
();
?>
<?php 
if(isset($_POST['hidden_style']))
    
$_SESSION['php_style'] = $_POST['hidden_style'];
else
    
$_SESSION['php_style'] = "";    
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="<?php echo $_SESSION['php_style']; ?>.css" rel="stylesheet" type="text/css" />

<script language="javascript"> 
function openStyle(style){ 
  document.form1.hidden_style.value=style;  
  parent.frames["mainFrame"].document.location="content2.php";
  document.form1.submit();
   
}
</script>
</head>

<body>
<form id="form1" name="form1" action="menu.php" method="post">
    <input type="text" name="hidden_style" value="<?php echo $_SESSION['php_style']; ?>" />
    <a href="index.php" target="_top">Home</a><br>
    <input type="button" name="btn1" value="Style1" onClick="openStyle(this.value)" /><br>
    <a href="http://www.rambler.ru" target="_blank">Rambler</a>
</form>
</body>
</html>



Фрейм с Контентом:

<?php 
session_start
();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="<?php echo $_SESSION['php_style']; ?>.css" rel="stylesheet" type="text/css" />
</head>

<body>
<h1>CONTENT</h1>
<form id="form1" name="form1" action="content.php" method="post">
    <input type="text" name="hidden_style" value="<?php echo $_SESSION['php_style']; ?>" />
</form>
</body>
</html>



Короче здесь добавились сессии.
На всякий случай, креплю архив.
Удачи!

   
 
 автор: codexomega   (29.12.2005 в 21:46)   письмо автору
 
   для: codexomega   (29.12.2005 в 20:45)
 

Кстати, стиль меняется только для главного фрейма, или для всех сразу?

to: Akira & Devastator!
Решение бы лучше выложили.
У меня уже короткое замыкание от этих фреймов.

   
 
 автор: codexomega   (29.12.2005 в 20:45)   письмо автору
 
   для: Katriona   (29.12.2005 в 20:05)
 

Да...
Есть вариант получше.
Примерно так:

Когда нажимаете на кнопку со стилем, срабатывает функция JavaScript, которая ставит значение стиля(value кнопки) в скрытое поле(input type = "hidden").Переменная ловится POST'oм ...


function openStyle(style){ 
 parent.frames["mainFrame"].document.form1.hidden_style.value=style;
 parent.frames["mainFrame"].document.location="http://www.google.com"; 

   
 
 автор: Katriona   (29.12.2005 в 20:05)   письмо автору
 
   для: codexomega   (29.12.2005 в 19:59)
 

Спасибо большое, работает.

Может еще подскажете?(если не трудно :))

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

Предполагаю, нужно изменить функцию примерно так
<script language="javascript"> 
function openStyle(style,page){ 
  parent.frames["mainFrame"].document.location =page+"?style=" + style; 

</script>

правильно?
тогда
<input type="button" name="btn1" value="Style1" 

onClick="openStyle(this.value, page)">


Переменной page нужно присваивать стринговое значение. Делать это можно во время нажатия на кнопку раздела(пр. Главная, Обо мне, Галерея итд).
Как это выглядит в коде?

   
 
 автор: codexomega   (29.12.2005 в 19:59)   письмо автору
 
   для: codexomega   (29.12.2005 в 19:43)
 

Все. Теперь работает.
Это ваша страница с меню.
Когда жмете кнопку Style1, ссылка открывается в главном фрейме.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript"> 
function openStyle(style){ 
  parent.frames["mainFrame"].document.location="http://www.google.com?style=" + style; 

</script>
</head>

<body>
<a href="index.htm" target="_top">Home</a><br>
<input type="button" name="btn1" value="Style1" onClick="openStyle(this.value)" /><br>
<a href="http://www.rambler.ru" target="_blank">Rambler</a>
</body>
</html>



Изменения:

<script language="javascript"> 
function openStyle(style){ 
  parent.frames["mainFrame"].document.location="http://www.google.com?style=" + style; 

</script>



<input type="button" name="btn1" value="Style1" onClick="openStyle(this.value)" />

   
 
 автор: codexomega   (29.12.2005 в 19:43)   письмо автору
 
   для: Katriona   (29.12.2005 в 19:39)
 

Ок, понял.
Не знал каким способом вы ссылку открываете.
Посмотрим...

   
 
 автор: Katriona   (29.12.2005 в 19:39)   письмо автору
 
   для: codexomega   (28.12.2005 в 23:38)
 

Всё правильно.
Только таргет ничего не меняет, страница по прежнему загружается вместо меню.


<input type="button" name="btn1" value="Style1" onClick="openStyle(this.value)" 

target="mainFrame">

   
 
 автор: codexomega   (28.12.2005 в 23:38)   письмо автору
 
   для: Katriona   (28.12.2005 в 23:19)
 

У вас кнопки во фрейме c меню, так?
При нажатии на кнопки в меню, должна открываться страница по ссылке, в главном фрейме, тогда как все остальное не должно меняться так?
Или я ничего не понял?

   
 
 автор: Katriona   (28.12.2005 в 23:19)   письмо автору
 
   для: codexomega   (28.12.2005 в 22:01)
 

не увидела ничего нового...

   
 
 автор: codexomega   (28.12.2005 в 22:01)   письмо автору
1.5 Кб
 
   для: Katriona   (28.12.2005 в 20:56)
 

Надеюсь это поможет. Смотрите зип.

   

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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