|
| |
|
|
| |
для: EXP
(02.11.2007 в 17:00)
| | | Пробелов нет. | |
| |
|
|
| |
|
|
| |
для: Санька
(02.11.2007 в 16:43)
| | | проверь , кажется пробел затесался между $ и select.
во втором случае из-за того что необъявляется массив | |
| |
|
|
| |
|
|
| |
для: EXP
(02.11.2007 в 15:41)
| | | Когда вставляю $select=array(",","); юзает ошибка Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, еxpecting T_STRING or T_VARIABLE or T_NUM_STRING
а когда $select=[('$tems')]='selected';
Юзает 2 ошибки Notice: Undefined offset | |
| |
|
|
| |
|
|
| |
для: Санька
(02.11.2007 в 10:44)
| | | можно хотя-бы так
<?php
session_start() ;
if (isset($_POST['tems'])) {
$tems = (int) $_POST['tems'] ;
if ($tems < 1 || $tems > 2) $tems = 1 ; // если неправильный
$_SESSION['tems'] = $tems ;
} else {
$tems = (isset($_SESSION['tems'])) ? (int) $_SESSION['tems'] : 1 ; // по умолчанию 1
}
$select = array('', '', '') ;
$select[ ($tems) ] = 'selected ' ;
?>
<form action="" method="post">
Сменить скин<br />
<select size="1" name="tems">
<option value="1" <?php echo $select[1] ?>>Тема 1</option>
<option value="2" <?php echo $select[2] ?>>Тема 2</option>
</select>
<input type="submit" value="set">
</form>
| но даже в таком простом есть масса вариантов как сделать.
например здесь сначала проверяется ($_POST['tems']), потом $_SESSION['tems'], хотя ($_POST['tems']) посылается только один раз. можно например сделать отдельный файл
и проверять $_POST['tems'] только в нём, как например так с использованием cookie
<?php
$tems = (isset($_COOKIE['tems'])) ? (int) $_COOKIE['tems'] : 1 ; // по умолчанию 1
if ($tems != 2) $tems = 1 ; // если неправильный
$select = array('', '', '') ;
$select[ ($tems) ] = 'selected ' ;
?>
<form action="deliver.php" method="post">
<input type="hidden" name="back" value="<?php echo $_SERVER['REQUEST_URI']?>">
Сменить скин<br />
<select size="1" name="tems">
<option value="1" <?php echo $select[1] ?>>Тема 1</option>
<option value="2" <?php echo $select[2] ?>>Тема 2</option>
</select>
<input type="submit" value="set">
</form>
|
deliver.php
<?php
if (isset($_POST['tems'])) {
$tems = (int) $_POST['tems'] ;
if ( $tems == 2) setcookie('tems', 2, time() + (3600 * 5), '/' ) ; // влепление в cookie на 5 суток
else setcookie('tems', '2', time() - 3600, '/') ; // деактуализация :)
}
?>
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Refresh" content="0; url=<?php echo htmlspecialchars($_POST['back']) ?>"/>
</head><body>
секундочку
</body></html>
|
| |
| |
|
|
| |
|
|
| |
для: EXP
(02.11.2007 в 00:06)
| | | При переходе на другую страницу тема остается та которую выбрали, но в форме скидывается на самую первую, как сделать чтоб так которую выбрали оставалась в форме? | |
| |
|
|
| |
|
|
| |
для: EXP
(02.11.2007 в 00:06)
| | | Вобщем сделал но по другому, при выборе тем я просто поставил чтобы стиль менялся для этого сделал 1.php и 2.php
И прописал условие
if($tems==1) include"1.php"; и т.д | |
| |
|
|
| |
|
|
| |
для: Санька
(01.11.2007 в 21:19)
| | | вот рабочий пример с использованием сессий
<?php
session_start() ;
if (isset($_POST['tems'])) {
$tems = (int) $_POST['tems'] ;
if ($tems < 1 || $tems > 2) $tems = 1 ; // если неправильный
$_SESSION['tems'] = $tems ;
} else {
$tems = (isset($_SESSION['tems'])) ? (int) $_SESSION['tems'] : 1 ; // по умолчанию 1
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>test</title>
<style>
.d { width: 90%; }
<?php
if ($tems == 1) echo '.d { background: #888888; font-size: 28px; }' . "\n" ;
if ($tems ==2 ) echo '.d { background: #ffff55; font-size: 56px; color: red; }' . "\n" ;
?>
</style>
<script type="text/javascript">
function dataSelect(f) {
n = f.hero.selectedIndex
if(n) alert("Выбран герой: " + f.hero.options[n].value + " ???")
}
</script>
</head>
<body>
<form action="" method="post">
Сменить скин<br />
<select size="1" name="tems">
<option value="1">Тема 1</option>
<option value="2">Тема 2</option>
</select>
<input type="submit" value="set">
</form>
выберете кто симпатишнее
<form action="" method="post">
<select name="hero" size="1">
<option>Выберите героя</option>
<option value="Чебурашка">Чебурашка</option>
<option value="Крокодил Гена">Крокодил Гена</option>
<option value="Шапокляк">Шапокляк</option>
<option value="Крыса Лариса">Крыса Лариса</option>
</select>
<input type="submit" value="OK" onClick="dataSelect(this.form)">
</form>
<?php
$hero = (isset($_POST['hero'])) ? htmlspecialchars($_POST['hero']) : 'никто не выбран';
$hero .= ($tems == 1) ? ' :(' : ' :) ' ;
echo '<div class="d">' . $hero . '</div>' ;
?>
</body>
</html>
| :) только не нашёл на чём применить кроме как на примере из учебника | |
| |
|
|
| |
|
|
| |
для: EXP
(01.11.2007 в 18:45)
| | | Да я пробывал, не пашет, еще и одна ошибка вылазиет. Пробую разные варианты. | |
| |
|
|
| |
|
|
| |
для: Санька
(01.11.2007 в 15:06)
| | | тогда такая ещё неувязка получается:
у вас как вы говорите уже есть ойойой какая куча файлов ,
в них если уже есть в каждом <html><head>........ , то в любом случае придётся всё перелопатить.
тот способ на сессиях который я предлагал запоминает выбранный скин на время жизни сессии
, что может постоянно сбрасывать выбранные настройки при неделании переходов в течении этого времени если оно минут 15 , как бывает.
на softtime название выбранного скина записывается в cookie и браузер каждый раз его посылает, но зато запоминается на то время которое поставить .
при том что вывод шапки делает файл start.php , форму выбора лучше сделать в нём.
но остальной код должен быть до того как он включается, тут два варианта , включать файл с ним
или непосредственно записать его в каждый файл который выводит что-либо.
я-бы сделал в начале всех файлов include($_SERVER['DOCUMENT_ROOT'] . '/header.php'); например , а уже в header.php все настройки , получение , отсылку заголовков, и включение start.php.
//
даже не так ,
сделал-бы пару функций вывода шапки и окончания , которые вызывал-бы на страницах | |
| |
|
|
| |
|
|
| |
для: Санька
(01.11.2007 в 15:06)
| | | А чем должен отличаться друг от друга тот или иной скин, только стилем? Ну меняйте тогда CSS, зачем остальное трогать. Если разговор о нечто большем идет, то это уже шаблоны, значит надо просто менять путь к ним, так как выше у вас прописано. Но в чем проблема при этом? | |
| |
|
|
|