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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: как?
Ururu
Отправлено: 01 Мая, 2009 - 11:21:45
Post Id


Новичок


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


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




В index.php есть ссылки, ниже на странице переменная и ее вывод ее на страницу.
Как создать ссылки (a href=.....) или подобные, что бы они присваивали переменной $text значение (например $text='a')?
Что бы потом на этой же странице подключить инклюд: PHP:
PHP:
скопировать код в буфер обмена
  1.  <?PHP include ("site_edit/format_num/a.php"); ?>


Но сделать это в определенном месте на странице, например: PHP:


Проще хочу что бы после нажатия на ссылку, ниже на странице отображалось содержимое выбранного инклюда.
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Мая, 2009 - 12:08:27
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




PHP:
скопировать код в буфер обмена
  1. <a href="index.php?inc=чемутотамвамнужному"></a>
  2. <?PHP
  3. if (isset($_GET['inc']) && $_GET['inc']=='чемутотамвамнужному') { include ('путь до нужной в этом месте и случае инклюды'); }
  4. if (isset($_GET['inc']) && $_GET['inc']=='чемутотамвамнужному') { include ('путь до нужной в этом месте и случае инклюды'); }
  5. if (isset($_GET['inc']) && $_GET['inc']=='чемутотамвамнужному') { include ('путь до нужной в этом месте и случае инклюды'); }
  6. //ветвей "if" может быть столько, сколько вам надо...
  7. else {}?>
 
 Top
Ururu
Отправлено: 01 Мая, 2009 - 16:17:19
Post Id


Новичок


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


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




Спасибо заработало ))
А можно как то упростить код (тоесть сделать его компактней?)
PHP:
скопировать код в буфер обмена
  1. <a href="index.php?inc=a"><b>A</b></a>&nbsp|
  2. <a href="index.php?inc=b"><b>B</b></a>&nbsp|
  3. <a href="index.php?inc=c"><b>C</b></a>&nbsp|
  4. <a href="index.php?inc=d"><b>D</b></a>&nbsp|
  5. <a href="index.php?inc=e"><b>E</b></a>&nbsp|
  6. <a href="index.php?inc=f"><b>F</b></a>&nbsp|
  7. <a href="index.php?inc=g"><b>G</b></a>&nbsp|
  8. <a href="index.php?inc=h"><b>H</b></a>&nbsp|
  9. <a href="index.php?inc=i"><b>I</b></a>&nbsp|
  10. <a href="index.php?inc=j"><b>J</b></a>&nbsp|
  11. <a href="index.php?inc=k"><b>K</b></a>&nbsp|
  12. <a href="index.php?inc=l"><b>L</b></a>&nbsp|
  13. <a href="index.php?inc=m"><b>M</b></a>&nbsp|
  14. <a href="index.php?inc=n"><b>N</b></a>&nbsp|
  15. <a href="index.php?inc=o"><b>O</b></a>&nbsp|
  16. <a href="index.php?inc=p"><b>P</b></a>&nbsp|
  17. <a href="index.php?inc=q"><b>Q</b></a>&nbsp|
  18. <a href="index.php?inc=r"><b>R</b></a>&nbsp|
  19. <a href="index.php?inc=s"><b>S</b></a>&nbsp|
  20. <a href="index.php?inc=t"><b>T</b></a>&nbsp|
  21. <a href="index.php?inc=u"><b>U</b></a>&nbsp|
  22. <a href="index.php?inc=v"><b>V</b></a>&nbsp|
  23. <a href="index.php?inc=w"><b>W</b></a>&nbsp|
  24. <a href="index.php?inc=x"><b>X</b></a>&nbsp|
  25. <a href="index.php?inc=y"><b>Y</b></a>&nbsp|
  26. <a href="index.php?inc=z"><b>Z</b></a>&nbsp|
  27. <a href="index.php?inc=num"><b>Num</b></a>

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if (isset($_GET['inc']) && $_GET['inc']=='a') { include ('a.php'); }
  3. if (isset($_GET['inc']) && $_GET['inc']=='b') { include ('b.php'); }
  4. if (isset($_GET['inc']) && $_GET['inc']=='c') { include ('c.php'); }
  5. if (isset($_GET['inc']) && $_GET['inc']=='d') { include ('d.php'); }
  6. if (isset($_GET['inc']) && $_GET['inc']=='e') { include ('e.php'); }
  7. if (isset($_GET['inc']) && $_GET['inc']=='f') { include ('f.php'); }
  8. if (isset($_GET['inc']) && $_GET['inc']=='g') { include ('g.php'); }
  9. if (isset($_GET['inc']) && $_GET['inc']=='h') { include ('h.php'); }
  10. if (isset($_GET['inc']) && $_GET['inc']=='i') { include ('i.php'); }
  11. if (isset($_GET['inc']) && $_GET['inc']=='j') { include ('j.php'); }
  12. if (isset($_GET['inc']) && $_GET['inc']=='k') { include ('k.php'); }
  13. if (isset($_GET['inc']) && $_GET['inc']=='l') { include ('l.php'); }
  14. if (isset($_GET['inc']) && $_GET['inc']=='m') { include ('m.php'); }
  15. if (isset($_GET['inc']) && $_GET['inc']=='n') { include ('n.php'); }
  16. if (isset($_GET['inc']) && $_GET['inc']=='o') { include ('o.php'); }
  17. if (isset($_GET['inc']) && $_GET['inc']=='p') { include ('p.php'); }
  18. if (isset($_GET['inc']) && $_GET['inc']=='q') { include ('q.php'); }
  19. if (isset($_GET['inc']) && $_GET['inc']=='r') { include ('r.php'); }
  20. if (isset($_GET['inc']) && $_GET['inc']=='s') { include ('s.php'); }
  21. if (isset($_GET['inc']) && $_GET['inc']=='t') { include ('t.php'); }
  22. if (isset($_GET['inc']) && $_GET['inc']=='u') { include ('u.php'); }
  23. if (isset($_GET['inc']) && $_GET['inc']=='v') { include ('v.php'); }
  24. if (isset($_GET['inc']) && $_GET['inc']=='w') { include ('w.php'); }
  25. if (isset($_GET['inc']) && $_GET['inc']=='x') { include ('x.php'); }
  26. if (isset($_GET['inc']) && $_GET['inc']=='y') { include ('y.php'); }
  27. if (isset($_GET['inc']) && $_GET['inc']=='z') { include ('z.php'); }
  28. if (isset($_GET['inc']) && $_GET['inc']=='num') { include ('num.php'); }
  29. else { include ('clear.php'); }
  30. ?>

(Отредактировано автором: 01 Мая, 2009 - 16:19:43)

 
 Top
Ch_chov
Отправлено: 01 Мая, 2009 - 16:31:55
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




Конкретно для данного случая
PHP:
скопировать код в буфер обмена
  1. if(!empty($_GET['inc'])) include ($_GET['inc'].'.php');


Желательно, конечно, проверять содержимое переменной $_GET['inc'] на предмет php-инъекций.
 
 Top
Ururu
Отправлено: 01 Мая, 2009 - 16:46:08
Post Id


Новичок


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


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




А можно подробнее про инъекции? Прочел про защиту, но не понимаю как они относятся к этому случаю.
 
 Top
Ch_chov
Отправлено: 01 Мая, 2009 - 16:54:38
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




 
 Top
Ururu
Отправлено: 01 Мая, 2009 - 18:01:00
Post Id


Новичок


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


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




И даже если в php.ini прописан запрет на удаленные файлы, всеравно эта защита актуальна?
 
 Top
DeepVarvar Супермодератор
Отправлено: 01 Мая, 2009 - 22:19:46
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Актуально всегда...
 
 Top
Ururu
Отправлено: 02 Мая, 2009 - 09:15:39
Post Id


Новичок


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


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




Прочел про наиболее распространенные инъекции. Оказывается кроме удаленных скриптов, еще можно как то напрямую через хеш.
П.С. что то как то стремно стало использовать php..... А?!
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Мая, 2009 - 10:36:35
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




есть функции в РНР которые помогают защитица от злонамеренных POST/GET-запросов...
наапример:
PHP:
скопировать код в буфер обмена
  1. $pass = trim(strip_tags(stripslashes($_POST['pass'])));
  2. $name = strtr(strip_tags(stripslashes(substr($_POST['name'],0,16))),"\n","\r");
  3. $mail = strtr(strip_tags(stripslashes(substr($_POST['mail'],0,32))),"\n","\r");
  4. $text = strtr(strip_tags(stripslashes(substr($_POST['text'],0,2048))),"\n","\r");

можно обрезать строку до нужной длинны, преобразовывать символы в сущности, проверять полученные данные регулярками и пр. пр. пр... Не надо бояца работать с РНР!!! Он очень дружественнен... )))))))))))))))))))))))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB