[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как определить какую строку массива нужно вытянуть
Avond
Уважаемые форумчане! Помогите пожалуйста...
Есть 10 страниц, каждая страница тянет дизайн из шаблона, который лежит в 3-х документах:
[*]header.php
[*]content.php
[*]footer.php
У каждой страницы свой контент, который вытягивается из соответствующего странице файла .txt. Для того, что бы не ваять кучу отдельных страниц в которые подгружался бы контент последствием

$text = file_get_contents('file.txt');
echo $text;

Я построил внутри content.php ассоциативный массив:
 
<?php
//Строим ассоциативный массив, в котором определяем переменные // и файл который они подключают
$content["$findaplan"]="findaplan.txt";
$content["$store"]="store.txt";
$content["$bodyspace"]="bodyspace.txt";
$content["$supersite"]="supersite.txt";
$content["$forum"]="";
$content["$contactus"]="contactus.txt";
$content["$needahelp"]="needahelp.txt";
$content["$viewcard"]="viewcard.txt";
?>

Как же определить, на какую страницу, что вытягивать? :blink:



Спустя 5 минут, 45 секунд (28.12.2011 - 14:26) Winston написал(а):
Ну типа такого
$content["findaplan"]="findaplan.txt";
$content["store"]="store.txt";
$content["bodyspace"]="bodyspace.txt";
// .........
echo file_get_contents($content[$_GET['page']]);

В $_GET['page'] у тебя будет имя страницы.И соответственно в зависимости от того какой адрес в строке, будет отображаться та или иная информация.

Спустя 3 минуты, 8 секунд (28.12.2011 - 14:29) NitroGenerate написал(а):
У Вас наверное каждая страница имеет свой номер, допустим это id, который передается через GET
Делайте привязку
if($_GET['p']==1) { //
// Если наша страница первая то... делаем что нам нужно
}

Или другой вариант, при создании массива добавить туда переменную страницы(на которой будет выводится какое -то содержание), а затем на каждой странице искать совпадение, если есть совпадение текущей страницы и какогото элемента массива, то выводим.

Спустя 7 минут, 44 секунды (28.12.2011 - 14:37) mid написал(а):

<?php
$content["findaplan"]="findaplan.txt";
$content["store"]="store.txt";
$content["bodyspace"]="bodyspace.txt";
$content["supersite"]="supersite.txt";
$content["forum"]="";
$content["contactus"]="contactus.txt";
$content["needahelp"]="needahelp.txt";
$content["viewcard"]="viewcard.txt";
$index = file_get_contents($content[$_GET['index']]);
echo $index;
?>

ссылки будут получаться так к примеру:

http://mysite.ru/index.php?index=store
И будут выводиться данные store.txt

http://mysite.ru/index.php?index=needahelp
И будут выводиться данные needahelp.txt

можно с помощью APACHE сделать симпатичнее.
Создать файл с однем только расширением
.htaccess
с содержимым
RewriteEngine on
RewriteRule ^_(.*)$ /index.php?index=$1

и тогда ссылки будут
http://mysite.ru/store
http://mysite.ru/needahelp

Спустя 15 минут, 32 секунды (28.12.2011 - 14:52) Avond написал(а):
Цитата (mid @ 28.12.2011 - 11:37)

$index = file_get_contents($content[$_GET['index']]);
echo $index;
?>
[/php]
ссылки будут получаться так к примеру:

http://mysite.ru/index.php?index=store
И будут выводиться данные store.txt

http://mysite.ru/index.php?index=needahelp
И будут выводиться данные needahelp.txt

можно с помощью APACHE сделать симпатичнее.
Создать файл с однем только расширением
.htaccess
с содержимым
RewriteEngine on
RewriteRule ^_(.*)$ /index.php?index=

и тогда ссылки будут
http://mysite.ru/store
http://mysite.ru/needahelp

unsure.gif Разложи пожалуйста все по полочкам, кто, что проверяет, и что писать вместо index?

Спустя 29 минут, 46 секунд (28.12.2011 - 15:22) mid написал(а):
<?php
$content["findaplan"]="findaplan.txt";
$content["store"]="store.txt";
$content["bodyspace"]="bodyspace.txt";
$content["supersite"]="supersite.txt";
$content["forum"]="";
$content["contactus"]="contactus.txt";
$content["needahelp"]="needahelp.txt";
$content["viewcard"]="viewcard.txt";
$index = file_get_contents($content[$_GET['index']]);
echo $index;
?>
Разберемся.
file_get_contents($content[$_GET['index']]); разберем эту строку,думаю станет понятнее.
$_GET['index'] - это суперглобальный массив.Идет работа с url !
вот ссылка к примеру ....ru/index.php?index=1234
GET выведет 1234!и если есть $content["1234"] он выведет,а если нет выдаст ошибку.Нужно ещё будет к этому коду проверку писать!
file_get_contents() - эта функция тебе знакома.

И так вот,что бы не делать ссылку такой длинной .ru/index.php?index=1234
её можно укоратить до .ru/1234 с помощью apache.Файл apache не должен иметь имени вообще!только расширение,а расширение у него .htaccess
В этот файл нужно запихать код,который сократит url.Я его уже присылал.Вроде верный!


Спустя 3 минуты, 2 секунды (28.12.2011 - 15:25) mid написал(а):
Могу тебе сделать проверку и т.д.
Но это уже не за спс,сам понимаешь!

Спустя 24 минуты, 21 секунда (28.12.2011 - 15:49) mid написал(а):
Тебе может пригодиться этот скриптик!

Спустя 27 минут, 41 секунда (28.12.2011 - 16:17) NitroGenerate написал(а):
mid Вы человека сбиваете с пути истинного и сильно усложняете ему жизнь, он новичок, какой ему htaccess, ему главное что бы все работало и будет он счастлив, а как выглядеть будет, это все неважно.

Спустя 18 минут, 29 секунд (28.12.2011 - 16:36) NitroGenerate написал(а):
<?php
$arr = array(1 => "findaplan.txt", 2 => "store.txt", 3 => "bodyspace.txt", 4 => "supersite.txt", 5 => "", 6 => "contactus.txt", 7 => "needahelp.txt", 8 => "viewcard.txt" );
/* Перенес спасок ваших файлов в пронумерованный массив, для удобства управления */

if(ctype_digit(@$_GET['index'])&& @$_GET['index']>0){ // Делаем проверку, если переменная в GET запросе (index) является числом и больше нуля
$page=$_GET['index']; // создаем переменную $page в которой будем записывать номер страницы
}
else // если $_GET['index'] не является числом, либо равен нулю, либо его нет совсем
{
$page=1; // то страница по умолчанию первая
}

$index = file_get_contents($arr[$page]); /* $arr - наш массив; $page - текущая составленная нами страница; (допустим если страница 2, то будет
$index = file_get_contents("store.txt") тут получаем содержимое этого файла и запихиваем в переменную index
*/

echo $index; // выводим ее на экран
?>

Постарался максимально подробно все изложить

Забыл, все это положите в файл, допустим, index.php
Если вам нужна вторая страница то обращайтесь к ней как
index.php?index=2
и тд

Спустя 3 часа, 46 минут, 34 секунды (28.12.2011 - 20:22) mid написал(а):
NitroGenerate,да что-то в самом деле:)
Загрузил напрасно:)


_____________
Люди, как люди. Спят, едят, пьют, занимаются любовью. А я пишу код=)[COLOR=green][SIZE=1]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.