Автор Тема: как проверить ввод посетителя и загрузить нужную страницу?  (Прочитано 3358 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Redir

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
помогите, пожалуста, разобраться:

есть файл files.txt - в нем список страниц:
---
cat/dir1.ru/index.php
cat/dir2.ru/index.php
cat/dir3.ru/index.php
---

посетитель вводит в форму "dir2.ru" и ему грузится страница "cat/dir2.ru/index.php", а если он вводит "dir4.ru" (такой ссылки нет в txt файле), то ему грузится страница "cat/no.php"


помогите, пожалуйста, это реализовать...
может как-нибудь надо поменять структуру txt файла?

Оффлайн Fury

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 64
  • +0/-0
  • 0
    • Просмотр профиля
1. Почитать ман
2. Прочитать файл, проверить наличие строки с нужным cat/dirХ.ru/index.php, в зависимости от результатов проверки отдать нужную страницу или no.php

Если не понятно, как сделать действия пункта 2, выполнить еще раз пункт 1.
Рыжая бестия

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Fury
ты добр :-)
Даже ссылку на ман не дал.
У меня она хоть в подписи есть, но если мне лень дать конкретный ответ, то я ничего и не пишу...
вот и сюда не хотел, а теперь придется :-)
В форме должно быть поле с именем dir<?
$file=file(\'files.txt\');
for ($i=0;$i<sizeof($file);$i++) {
  if (strstr($file[$i],$_POST[\'dir\'])) {
    header("Location: ".$file[$i]);
    exit;
  }
}
header("Location: no.php"]);
?>
« Последнее редактирование: 20 Марта 2003, 14:37:58 от RomikChef »

Оффлайн Fury

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 64
  • +0/-0
  • 0
    • Просмотр профиля
RomikChef, ага :-)

и если посетитель введет "ru", то приведенное тобой:

отправит его на cat/dir1.ru/index.php или что там будет первой строкой файла, содержащей "ru" :-)
Тут нужно действовать тоньше  :-)

а вот это :
$file=file(\'files.txt\');
for ($i=0;$i{ ... }
?>

вообще в соседнем топике и подробненько - куда уже ж конкретнее :-)
Рыжая бестия

Оффлайн Redir

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
RomikChef
спасибо,
только я, если честно, раньше пользовался готовыми php скриптами... и не совсем понимаю куда надо вписать ваш код:

в отдельный файл, например, test.php и вызываеть его из формы - но так не работает.

подскажите как его добавить к моей простейшей форме:





вводится в форму будет домен полностью, поэтому случай с "ru" совсем не портит картину...

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
"не работает" - это что значит?
все время вызывается np.php?
что вообще происходит?

Оффлайн Redir

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
у меня сейчас 3 файла, которые леат в одном каталоге

files.txt:
----
cat/site1.ru/index.php
cat/site2.ru/index.php
----

test.php:
----
$file=file(\'files.txt\');
for ($i=0;$i  if strstr($file[$i],$_POST[\'dir\']) {
    header("Location: ".$file[$i]);
    exit;
  }
}
header("Location: no.php"]);
?>
----

и index.php:
---



---

при вводе в форму site1.ru выдается ошибка:

Parse error: parse error, unexpected T_STRING, expecting \'(\' in .../test.php on line 4 (да эта ошибка вообще выводится при любом указанном сайте)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
А сразу это ошибку написать тебе не пришло в голову?

я исправил первоначальный код - скопируй сейчас оттуда и запусти снова

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28