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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помочите новичку...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: Только начал изучать php.
tuban
Отправлено: 16 Августа, 2011 - 01:56:11
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




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

Есть страничка, с блоком <div>...</div>, куда собственно и будет выводиться текст, через echo.
Как реализовать смену rt1 -> rt2. Допустим, кликнул на ссылку, стало rt2, вернулся обратно - rt1? Чтобы не создавать отдельную страничку для каждого текста. Т.е, хочу сделать, что-то вроде оглавления.
Да, и Ява, скорее всего не подойдёт, так как, мне не нужно, чтобы при загрузки страницы, загружались сразу $rt и $rt2, а только один из них.
Заранее спасибо.

(Отредактировано автором: 16 Августа, 2011 - 01:57:50)

 
 Top
LIME
Отправлено: 16 Августа, 2011 - 02:18:20
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




в ссылке добавьте параметр var=rt2 гетом
тогда вывод будет выглядеть так:

(Отредактировано автором: 16 Августа, 2011 - 02:28:59)

 
 Top
tuban
Отправлено: 16 Августа, 2011 - 02:31:36
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Ммм, прошу прощения, но не могу сообразить. Моя страница выглядит так:
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>


Я не могу понять, как должна выглядеть ссылка, которая использует ваш код. Можно поподробней, желательно в картинках?))
Сильно не пинайте, я новичок...
 
 Top
LIME
Отправлено: 16 Августа, 2011 - 02:33:56
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




tuban пишет:
Допустим, кликнул на ссылку, стало rt2, вернулся обратно - rt1

эта ссылка
дайте этот кусок если не поймете
(Добавление)
к ссылке на оглавления чтобы просмотреть текст rt2 (допустим www.host.ru/index.php) добавьте ?var=rt2
в итоге www[dot]host[dot]ru/index.php?var=rt2
(Добавление)
строка вывода будет выводить в зависимости от того передан параметр или нет
 
 Top
tuban
Отправлено: 16 Августа, 2011 - 02:39:56
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Т.е так:
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));?>

(Отредактировано автором: 16 Августа, 2011 - 02:45:46)

 
 Top
LIME
Отправлено: 16 Августа, 2011 - 02:50:25
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)





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

тоесть передается имя переменной в которой хранится путь
отсюда $$url неподумайте что ошибка
(Добавление)
только надо вставить проверку на существование переменной
мало ли чего вам передадут

(Отредактировано автором: 16 Августа, 2011 - 02:58:57)

 
 Top
tuban
Отправлено: 16 Августа, 2011 - 03:00:58
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




О, премного благодарен, то что надо. Увы, количество моих сообщений не позволяет нажать кнопку - "спасибо".
Эх, пойду курить статьи по php.
Еще раз спасибо за оперативность. Ха-ха
 
 Top
LIME
Отправлено: 16 Августа, 2011 - 03:01:09
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




а еще лучше сделать числовой массив адресов
и передавать индекс
тогда
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $url=isset($_GET['var'])&&($_GET['var']<count($arr))?$_GET['var']:0;
  3. echo file_get_contents($arr[$url]);
  4. ?>

(Отредактировано автором: 16 Августа, 2011 - 03:14:36)

 
 Top
tuban
Отправлено: 16 Августа, 2011 - 03:12:54
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Ммм, а как сделать числовой массив?
Нет, что такое массив я знаю, но вот сам код...
CODE (htmlphp):
скопировать код в буфер обмена
  1. $arr = array(1 => "text1.txt", 2 => "text2.txt");

Али же как?

(Отредактировано автором: 16 Августа, 2011 - 03:16:27)

 
 Top
LIME
Отправлено: 16 Августа, 2011 - 03:16:06
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)





(Добавление)
если опустить ключи создаются числовые индексы

(Отредактировано автором: 16 Августа, 2011 - 03:17:15)

 
 Top
tuban
Отправлено: 16 Августа, 2011 - 03:22:28
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Ежели так:
Цитата:
$arr=array("text1.txt" , "text2.txt" , "text3.txt");

Выдаёт ошибку...
Warning: file_get_contents() [function.file-get-contents]: Filename cannot be empty in

(Отредактировано автором: 16 Августа, 2011 - 03:26:18)

 
 Top
LIME
Отправлено: 16 Августа, 2011 - 03:23:47
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




я исправил выше
 
 Top
tuban
Отправлено: 16 Августа, 2011 - 03:26:56
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Я тоже. Радость
 
 Top
LIME
Отправлено: 16 Августа, 2011 - 03:29:18
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




tuban прередаете в ф-цию пустую строку
давайте код от создания массива и ссылку и вывод
 
 Top
tuban
Отправлено: 16 Августа, 2011 - 03:31:27
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Всё, допёр, ещё раз - гранд мерси.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB