|
|
|
| Хочу сразу сказать что я ещё только начал учить РНР и пока что почти полный дуб. Хочу на сайте сделать так чтобы в зависимости от нажатой ссылки менялся контент в центре страницы. Сделал следующим образом:
<?
if(empty($_GET['tops']))
{
$tops='privet_index';
}
else
{
$tops=$_GET['tops'];
}
include $tops.".php";
?>
|
Но прочитал гдето что этот метод не безопасный и в переменную можно передать адрес какого угодно файла и он выполнится. Посоветуйте ещё какие нибудь способы или как сделать его безопасным. | |
|
|
|
|
|
|
|
для: 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;
?>
|
| |
|
|
|
|
|
|
|
для: 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
|
ПОМОГИТЕ чайнику | |
|
|
|
|
|
|
|
для: 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] ;
?>
|
| |
|
|
|
|
|
|
|
для: Loki
(20.01.2006 в 11:11)
| | Если делаю так:
то тогда всё работает, а вот если ставлю цифры то нет, что не так?? | |
|
|
|
|
|
|
|
для: ExtreMe
(20.01.2006 в 13:01)
| | include $c; замените на include $page[$c]; | |
|
|
|
|
|
|
|
для: cheops
(20.01.2006 в 14:35)
| | Спасибо всем, сделал работает. Теперь ещё одна проблема. Если мне например нужно нажал на ссылку и в двух ячейках таблицы загрузилось разное содержание, как это сделать можно. Пробовал вставлять в ккаждую ячейку по коду, но тогда грузится тока в той, переменная которой первая в запросе была, во второй загружается только то что переменной в коде присвоено если её нет в запросе. ?? | |
|
|
|
|
|
|
|
для: ExtreMe
(20.01.2006 в 11:06)
| | НУ ПОМОГИТЕ КТО НИТЬ А | |
|
|
|
|
|
|
|
для: 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>";
?>
|
| |
|
|
|