Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с ссылками index.php?tops=inst
 
 автор: ExtreMe   (20.01.2006 в 11:06)   письмо автору
 
 

Хочу сразу сказать что я ещё только начал учить РНР и пока что почти полный дуб. Хочу на сайте сделать так чтобы в зависимости от нажатой ссылки менялся контент в центре страницы. Сделал следующим образом:

<?
            
if(empty($_GET['tops']))
            {
            
$tops='privet_index';
            }
            else
            {
            
$tops=$_GET['tops'];
            }
            include 
$tops.".php";
?>

Но прочитал гдето что этот метод не безопасный и в переменную можно передать адрес какого угодно файла и он выполнится. Посоветуйте ещё какие нибудь способы или как сделать его безопасным.

   
 
 автор: Loki   (20.01.2006 в 11:11)   письмо автору
 
   для: ExtreMe   (20.01.2006 в 11:06)
 

передавать не название файла, а како-нибудь идентификатор. например:

<? 
$page
[0]="index.php";
$page[1]="about.php";

            if(empty(
$_GET['tops'])) 
            { 
            
$tops=0
            } 
            else 
            { 
            
$tops=$page[$_GET['tops']]; 
            } 
            include 
$tops
?> 

   
 
 автор: ExtreMe   (20.01.2006 в 12:41)   письмо автору
 
   для: Loki   (20.01.2006 в 11:11)
 

CСпасибо за помощь. Сделал так:

<? 
$page
[0]="index.txt"
$page[1]="Sat_meny.txt"
$page[2]="What_satnet.txt"
$page[3]="Staff.txt"
$page[4]="Sat_maps.txt";

            if(empty(
$_GET['c'])) 
            { 
            
$c=0
            } 
            else 
            { 
            
$c=$page[$_GET['c']]; 
            } 
            include 
$c
?>

все странички открываются, НО когда вызываю просто index.php или index.php?c=0 то выводится такая ошибка:

Warning: main(0) [function.main]: failed to open stream: No such file or directory in z:\home\localhost\www\hut\index.php on line 397

Warning: main() [function.include]: Failed opening '0' for inclusion (include_path='.:/usr/local/php5/PEAR') in z:\home\localhost\www\hut\index.php on line 397

ПОМОГИТЕ чайнику

   
 
 автор: Loki   (20.01.2006 в 13:02)   письмо автору
 
   для: ExtreMe   (20.01.2006 в 12:41)
 

Я бы сделал так:

<? 
$page
[0]="index.txt"
$page[1]="Sat_meny.txt"
$page[2]="What_satnet.txt"
$page[3]="Staff.txt"
$page[4]="Sat_maps.txt"

            if(empty(
$_GET['c'])) 
            { 
            
$c=0
            } 
            else 
            { 
            
$c=$_GET['c'];
            } 
            include 
$page[$c] ; 
?> 

   
 
 автор: ExtreMe   (20.01.2006 в 13:01)   письмо автору
 
   для: Loki   (20.01.2006 в 11:11)
 

Если делаю так:

$c='index.txt';

то тогда всё работает, а вот если ставлю цифры то нет, что не так??

   
 
 автор: cheops   (20.01.2006 в 14:35)   письмо автору
 
   для: ExtreMe   (20.01.2006 в 13:01)
 

include $c; замените на include $page[$c];

   
 
 автор: ExtreMe   (20.01.2006 в 15:15)   письмо автору
 
   для: cheops   (20.01.2006 в 14:35)
 

Спасибо всем, сделал работает. Теперь ещё одна проблема. Если мне например нужно нажал на ссылку и в двух ячейках таблицы загрузилось разное содержание, как это сделать можно. Пробовал вставлять в ккаждую ячейку по коду, но тогда грузится тока в той, переменная которой первая в запросе была, во второй загружается только то что переменной в коде присвоено если её нет в запросе. ??

   
 
 автор: ExtreMe   (20.01.2006 в 22:00)   письмо автору
 
   для: ExtreMe   (20.01.2006 в 11:06)
 

НУ ПОМОГИТЕ КТО НИТЬ А

   
 
 автор: Loki   (20.01.2006 в 22:13)   письмо автору
 
   для: ExtreMe   (20.01.2006 в 22:00)
 


<?
$cell1
[0]="первая ячейка";
$cell2[0]="вторая ячейка";
$cell1[1]="первая ячейка - 2";
$cell2[1]="вторая ячейка - 2";
$id=$_GET['id'];
echo 
"<table><td>".$cell1[$id]."</td><td>".$cell2[$id]."</td></table>";
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования