|
|
|
| Здравствуйте. Я только начинаю делать первые шаги в языке PHP. Прочтя вашу книгу я стал разбираться в некоторых опираторах. И захотелось самому попробовать что-то написать. Стал анализировать различные готовые скрипты и разбираться как они сделаны. Наткнулся на интересный способ навигации. Вот он:
<?
$deystvo =("glav");
switch($deystvo) :
case("glav"):
print"
<table border=1 width=21% id=table1>
<tr>
<td><form action=index.php?deystvo=glav method=post>
<input type=submit value='Домашняя'></form></td>
</tr>
<tr>
<td><form action=index.php?deystvo=kak method=post>
<input type=submit value='Другая'></form></td>
</tr>
</table>
<h1>Получилось!!!</h1>";
break;
case ("kak"):
print "
<table border=1 width=21% id=table1>
<tr>
<td><form action=index.php?deystvo=glav method=post>
<input type=submit value='Домашняя'></form></td>
</tr>
<tr>
<td><form action=index.php?deystvo=kak method=post>
<input type=submit value='Другая'></form></td>
</tr>
</table>
<h3>Проверка</h3>";
break;
endswitch;
?>
|
Я его конечно переработал (после print поставил свои операторы и в case вставил свои переменные), а то он слишком большой.
Так вот дело в том что он не работает. При на жатие на кнопку "Другая" в адресе браузера пишется http://localhost/index.php?deystvo=kak, а страница не изменяется, то есть остается "получилось" и не меняется на "проверка".
Хотя я точь в точь скапировал все из оригенала. Там работает, у меня нет :([code]<?php[code]<?php | |
|
|
|
|
|
|
|
для: Sin
(05.09.2004 в 14:35)
| | Дело в строке
<?php
$deystvo =("glav");
?>
|
вы каждый раз присваиваете переменной $deystvo значение "glav", не зависимо от того, что передаётся в строке запроса. Нужно либо удалить эту строку либо присвоить $deystvo значение
<?php
$deystvo = $_GET['deystvo'];
?>
|
Если значение директивы register_globals равно Off в php.ini. | |
|
|
|
|
|
|
|
для: cheops
(05.09.2004 в 15:27)
| | Ага. Все получилось после того как убрал $perehod=("glav");. Только пришлось в конце добавить в конце default с точной копией Главной страницы.
И уменя еще возник маленький вопросик (уж простите ламера):
print "//.........
<td width=542 height=29 valign=top style=border-style: solid; border-width: 1px bgcolor=#BCCDCB><h3><p align=center>"; echo ($msg);
print "<?h3></td></tr><tr><td width=542 height=453 valign=top style=border-style: solid; border-width: 1px bgcolor=#F7F9F9><p align=justify style=text-indent: 10px; margin-left: 20px; margin-right: 15px>"; echo ($cont); print "</td></tr></tbody></table>";
|
Почемуто
<p align=justify style=text-indent: 10px; margin-left: 20px; margin-right: 15px>
| не действует на вывод переменной $cont, хотя на $msg сработало. | |
|
|
|
|
|
|
|
для: Sin
(05.09.2004 в 17:25)
| | Не очень понятно… А что должно быть?
А еще у Вас print немного странный
Вот этот участок
А вот этот блок
style=border-style: solid; border-width: 1px bgcolor=#F7F9F9
|
наверное должен быть вот таким
style="border-style: solid; border-width: 1px" bgcolor=#F7F9F9
|
А вот этот
<p align=justify style=text-indent: 10px; margin-left: 20px; margin-right: 15px>
|
вот так
<p align=justify style="text-indent: 10px; margin-left: 20px; margin-right: 15px">
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(05.09.2004 в 21:33)
| | Небольшое добавление.
Так не получиться, так как нельзя так ставить кавычки внутри php скрипта, замени вот этот кусок
style="border-style: solid; border-width: 1px" bgcolor=#F7F9F9
|
на этот
style=\"border-style: solid; border-width: 1px\" bgcolor=#F7F9F9
|
И все в этот духе.
Хотя кавычки здесь (то есть их отсутствие) не должно сказаться на современных браузерах | |
|
|
|
|
|
|
|
для: Artem S.
(05.09.2004 в 21:44)
| | Да, именно так, прошу прощения. Забыл, что это вывод в php-скрипте. Или двойные кавычки можно заменить на одинарные.
>Хотя кавычки здесь (то есть их отсутствие) не должно сказаться на современных браузерах
Тут другое - к стилям это не относится. Без кавычек эта строка
style=border-style: solid; border-width: 1px bgcolor=#F7F9F9
|
будет воспринята максимум вот так:
style=border-style: solid
Остальная часть стилей идет после пробела и не будет воспринята браузером, именно как стиль. В частности border-width: 1px будет интерпретирован как свойство тэга. Но такого свойства у тэгов не существует. Поэтому эта часть будет проигнорирована.
А вот bgcolor=#F7F9F9 - это свойство тэга. Поэтому здесь все нормально. | |
|
|
|
|
|
|
|
для: Artem S.
(05.09.2004 в 21:44)
| | На счет Извените - опечатался.
print "//.........
<td width=542 height=29 valign=top style=border-style: solid; border-width: 1px bgcolor=#BCCDCB><h3><p align=center>"; echo ($msg);
print "<h3></td></tr><tr><td width=542 height=453 valign=top style=border-style: solid; border-width: 1px bgcolor=#F7F9F9><p align=justify style=\"text-indent: 10px; margin-left: 20px; margin-right: 15px\">"; echo ($cont); print "</td></tr></tbody></table>";
|
Ну вот я исправил
style=border-style: solid; border-width: 1px bgcolor=#F7F9F9
| на это
style=\"border-style: solid; border-width: 1px\" bgcolor=#F7F9F9
| Но в ячейке таблицы все равно нету отступа справа и слева, а также отступа первой строки. Может существует другой способ создания отступов? Научите пожайлуста! | |
|
|
|
|
|
|
|
для: Sin
(05.09.2004 в 23:22)
| |
style=\"border-style: solid; border-width: 1px\"
|
Ух-ты, действительно, не работает :)
Замените \" на одинарные кавычки ' - у меня заработало.
Я вот так поменял Ваш код.
<?
print "//.........
<td width=542 height=29 valign=top
style='border-style: solid; border-width: 1px' bgcolor=#BCCDCB>
<h3><p align=center>";
echo ($msg);
print "</h3></td></tr>
<tr>
<td width=542 height=453 valign=top
style='border-style: solid; border-width: 1px'
bgcolor=#F7F9F9>
<p align=justify style='text-indent: 10px; margin-left: 20px; margin-right: 15px'>";
echo ($cont);
print "</td></tr></tbody></table>";
?>
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(05.09.2004 в 23:52)
| | Все получилось как надо. Только вот еще возникла маленькая проблема:
<input type=submit value='Редактировать главную страницу'>
|
Вместо "Редактировать главную страницу" появляются в браузере какието ероглифы хотя на других страницах все нармально. А использовал один и тот же редактор PHP Expert Editor 3.2 Как от этого можно избавится?
Или это просто у меня такой глюк? | |
|
|
|
|
|
|
|
для: Sin
(06.09.2004 в 23:20)
| | А в PHP Expert Editor нормально смотрится?
У вас выставлена кодировка страницы? Например
<html>
<head>
....
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
...
</head>
|
Попробуйте задать кодировку, сохранить и заново открыть этот файл. Если иеролифы появятся, то переписать value.
Но с PHP Expert Editor не работал, потому ничего конкретней посоветовать не могу. | |
|
|
|