Forum Webscript.Ru

Программирование => PHP => Тема начата: Redir от 19 Марта 2003, 13:02:36

Название: как проверить ввод посетителя и загрузить нужную страницу?
Отправлено: Redir от 19 Марта 2003, 13:02:36
помогите, пожалуста, разобраться:

есть файл 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 от 19 Марта 2003, 15:00:48
1. Почитать ман
2. Прочитать файл, проверить наличие строки с нужным cat/dirХ.ru/index.php, в зависимости от результатов проверки отдать нужную страницу или no.php

Если не понятно, как сделать действия пункта 2, выполнить еще раз пункт 1.
Название: как проверить ввод посетителя и загрузить нужную страницу?
Отправлено: Меняздесьдавнонет от 19 Марта 2003, 15:59:50
Fury
ты добр :-)
Даже ссылку на ман не дал.
У меня она хоть в подписи есть, но если мне лень дать конкретный ответ, то я ничего и не пишу...
вот и сюда не хотел, а теперь придется :-)
В форме должно быть поле с именем dir$file=file(\'files.txt\');
for ($i=0;$i  if (strstr($file[$i],$_POST[\'dir\'])) {
    header("Location: ".$file[$i]);
    exit;
  }
}
header("Location: no.php"]);
?>
Название: как проверить ввод посетителя и загрузить нужную страницу?
Отправлено: Fury от 19 Марта 2003, 17:12:37
RomikChef, ага :-)

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

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

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

вообще в соседнем топике (http://forums.webscript.ru/showthread.php?s=&threadid=11083&msgnum=4) и подробненько - куда уже ж конкретнее :-)
Название: как проверить ввод посетителя и загрузить нужную страницу?
Отправлено: Redir от 20 Марта 2003, 12:18:54
RomikChef
спасибо,
только я, если честно, раньше пользовался готовыми php скриптами... и не совсем понимаю куда надо вписать ваш код:

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

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





вводится в форму будет домен полностью, поэтому случай с "ru" совсем не портит картину...
Название: как проверить ввод посетителя и загрузить нужную страницу?
Отправлено: Меняздесьдавнонет от 20 Марта 2003, 12:29:38
"не работает" - это что значит?
все время вызывается np.php?
что вообще происходит?
Название: как проверить ввод посетителя и загрузить нужную страницу?
Отправлено: Redir от 20 Марта 2003, 13:21:42
у меня сейчас 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 (да эта ошибка вообще выводится при любом указанном сайте)
Название: как проверить ввод посетителя и загрузить нужную страницу?
Отправлено: Меняздесьдавнонет от 20 Марта 2003, 14:38:38
А сразу это ошибку написать тебе не пришло в голову?

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