Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помочите новичку...
Форумы портала PHP.SU » » Вопросы новичков » Помочите новичку...

Страниц (2): [1] 2 »
 

1. tuban - 16 Августа, 2011 - 01:56:11 - перейти к сообщению
Здравствуйте дамы и господа. Возник вопрос:
Есть переменная $rt и $rt2, которым присвоены два разных текста.
Есть
CODE (text):
скопировать код в буфер обмена
  1. <?php echo(file_get_contents($rt)); ?>

Есть страничка, с блоком <div>...</div>, куда собственно и будет выводиться текст, через echo.
Как реализовать смену rt1 -> rt2. Допустим, кликнул на ссылку, стало rt2, вернулся обратно - rt1? Чтобы не создавать отдельную страничку для каждого текста. Т.е, хочу сделать, что-то вроде оглавления.
Да, и Ява, скорее всего не подойдёт, так как, мне не нужно, чтобы при загрузки страницы, загружались сразу $rt и $rt2, а только один из них.
Заранее спасибо.
2. LIME - 16 Августа, 2011 - 02:18:20 - перейти к сообщению
в ссылке добавьте параметр var=rt2 гетом
тогда вывод будет выглядеть так:
3. tuban - 16 Августа, 2011 - 02:31:36 - перейти к сообщению
Ммм, прошу прощения, но не могу сообразить. Моя страница выглядит так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $rt='../text/about/st_ps/ps_fear_of_death.txt';
  3. $rt2='../text/chat.txt';
  4. ?>
  5. Далее идёт html код страницы
  6.  
  7. <div>
  8. <?php echo(file_get_contents($rt)); ?>
  9. </div>


Я не могу понять, как должна выглядеть ссылка, которая использует ваш код. Можно поподробней, желательно в картинках?))
Сильно не пинайте, я новичок...
4. LIME - 16 Августа, 2011 - 02:33:56 - перейти к сообщению
tuban пишет:
Допустим, кликнул на ссылку, стало rt2, вернулся обратно - rt1

эта ссылка
дайте этот кусок если не поймете
(Добавление)
к ссылке на оглавления чтобы просмотреть текст rt2 (допустим www.host.ru/index.php) добавьте ?var=rt2
в итоге www[dot]host[dot]ru/index.php?var=rt2
(Добавление)
строка вывода будет выводить в зависимости от того передан параметр или нет
5. tuban - 16 Августа, 2011 - 02:39:56 - перейти к сообщению
Т.е так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <div>
  2.  
  3. <a href=test.php?var=rt2>ссыль</a>
  4.  
  5. <?php echo(($_GET['var']=='rt2')?file_get_contents($rt2):file_get_contents($rt));?>
  6.  
  7. </div>


Работает, мерси.))

А если у меня будет с десяток переменных?
Увы, не получится же:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php echo(($_GET['var']=='rt2')?file_get_contents($rt2):file_get_contents($rt):file_get_contents($rt3));?>
6. LIME - 16 Августа, 2011 - 02:50:25 - перейти к сообщению

лишние скобки
tuban пишет:
А если у меня будет с десяток переменных?
тогда передаете в каждой ссылке параметром переменную с адресом текста
а при выводе так делаете
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $url=isset($_GET['var'])?$_GET['var']:'rt';
  3. echo file_get_contents($$url);
  4. ?>

тоесть передается имя переменной в которой хранится путь
отсюда $$url неподумайте что ошибка
(Добавление)
только надо вставить проверку на существование переменной
мало ли чего вам передадут
7. tuban - 16 Августа, 2011 - 03:00:58 - перейти к сообщению
О, премного благодарен, то что надо. Увы, количество моих сообщений не позволяет нажать кнопку - "спасибо".
Эх, пойду курить статьи по php.
Еще раз спасибо за оперативность. Ха-ха
8. LIME - 16 Августа, 2011 - 03:01:09 - перейти к сообщению
а еще лучше сделать числовой массив адресов
и передавать индекс
тогда
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $url=isset($_GET['var'])&&($_GET['var']<count($arr))?$_GET['var']:0;
  3. echo file_get_contents($arr[$url]);
  4. ?>
9. tuban - 16 Августа, 2011 - 03:12:54 - перейти к сообщению
Ммм, а как сделать числовой массив?
Нет, что такое массив я знаю, но вот сам код...
CODE (htmlphp):
скопировать код в буфер обмена
  1. $arr = array(1 => "text1.txt", 2 => "text2.txt");

Али же как?
10. LIME - 16 Августа, 2011 - 03:16:06 - перейти к сообщению

(Добавление)
если опустить ключи создаются числовые индексы
11. tuban - 16 Августа, 2011 - 03:22:28 - перейти к сообщению
Ежели так:
Цитата:
$arr=array("text1.txt" , "text2.txt" , "text3.txt");

Выдаёт ошибку...
Warning: file_get_contents() [function.file-get-contents]: Filename cannot be empty in
12. LIME - 16 Августа, 2011 - 03:23:47 - перейти к сообщению
я исправил выше
13. tuban - 16 Августа, 2011 - 03:26:56 - перейти к сообщению
Я тоже. Радость
14. LIME - 16 Августа, 2011 - 03:29:18 - перейти к сообщению
tuban прередаете в ф-цию пустую строку
давайте код от создания массива и ссылку и вывод
15. tuban - 16 Августа, 2011 - 03:31:27 - перейти к сообщению
Всё, допёр, ещё раз - гранд мерси.

 

Powered by ExBB FM 1.0 RC1