- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
я создал файл codes.txt. Там пароль
Скрипт страно работает ввожу верный пароль он все кидает на страницу http://ххх.ru/404.html
или неверный тоже самое.
//если пароль верный то выполняется код ниже
// разместите ниже ваш код
что сюда написать?
<?php
/** Путь к файлу с кодами
*/
define ('CODES_FILE', 'codes.txt'); // пароли в файле должны быть расположенны построчно, каждый пас в отдельной строке
/** Функция проверки ключа по списку ключей в файле
@param $code - проверяемый код
*/
function checkCode ($code) {
$codes_array = file(CODES_FILE);
foreach ($codes_array as $cur_code) {
if (trim($cur_code) == $code) return true;
}
return false;
}
// пример провеки кода
if (checkCode(@$_GET['code']) == false) {
// если пароль неверный, по переадресация на форму входа
header ('Location: http://ххх.ru/404.html');
exit;
}
// если пароль верный то выполняется код ниже
// разместите ниже ваш код
?>
А Вы собственно гет-запрос создали?
http://www.....ru/index.php?code=pass
наличие файла проверили?
<?php
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
function checkCode ($code) {
$codes_array = file(CODES_FILE);
foreach ($codes_array as $cur_code) {
if (trim($cur_code) == $code) return true;
}
return false;
}
попробуйте вставить else
foreach ($codes_array as $cur_code) {
if (trim($cur_code) == $code) return true;
}else{
return false;
}
}
http://www.....ru/index.php?code=pass
Нет уменя таким образом сделано на сайте ввожу пароль через форму <form action="/pass.php" method="post"> он передаеться скрипту pass.php
Может здесь код вообще неполный?
/** Путь к файлу с кодами
*/
раз неуказано даже
Так в Вашем скрипте вы ищите пароль в GET, а передаете скрипту в POST....
Выходит полный код рабочийй такой?
<?php
/** Путь к файлу с кодами
$filename = '/path/to/codes.txt';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
*/
define ('CODES_FILE', 'codes.txt'); // пароли в файле должны быть расположенны построчно, каждый пас в отдельной строке
/** Функция проверки ключа по списку ключей в файле
@param $code - проверяемый код
*/
function checkCode ($code) {
$codes_array = file(CODES_FILE);
foreach ($codes_array as $cur_code) {
if (trim($cur_code) == $code) return true;
}
return false;
}
foreach ($codes_array as $cur_code) {
if (trim($cur_code) == $code) return true;
}else{
return false;
}
}
// пример провеки кода
if (checkCode(@$_POST['code']) == false) {
// если пароль неверный, по переадресация на форму входа
header ('Location: http://ххх.ru/404.html');
exit;
}
// если пароль верный то выполняется код ниже
// разместите ниже ваш код
здесь что писать? если код верный и открывалась нужная страница
?>
Выходит полный код рабочийй такой?...
Нет, тестируйте вот это:
<?php
define ('CODES_FILE', 'codes.txt');
function checkCode ($code) {
$codes_array = file(CODES_FILE);
foreach ($codes_array as $cur_code) {
if (trim($cur_code) == $code) {
return true;
}else{
return false;
}
}
}
if (checkCode(@$_POST['code']) == false) {
header ('Location: http://ххх.ru/404.html');
exit;
}
header ('Location: http://нужная страница.html');
?>
pass.php и codes.txt должны быть в одном каталоге
Всё в одном. Дело в том что почему-то код чтоли непроверяеться толи скрипт непашет.
Ввожу любое число или неввожу всё время перекидывает на http://ххх.ru/404.html в чём прикол неясно такое ощущение нет проверки кода
Trafikgon, первый код проверил, все пашет (при передаче методом GET)
проблема возникает только если значение 'code' содержит кириллицу
Скорей всего проблема в передаче 'code' в скрипт проверки
посмотрите что туда приходит и что там попадает в codes_array из файла codes.txt:
после строк
function checkCode ($code) {
$codes_array = file(CODES_FILE);
вставьте для проверки такие строчки
print '$_GET<br />';
print '<pre>';
print_r($_GET);
print '</pre><br /><br />';
print '$_POST<br />';
print '<pre>';
print_r($_POST);
print '</pre><br /><br />';
print '$codes_array<br />';
print '<pre>';
print_r($codes_array);
print '</pre><br /><br />';
exit;
Проверил приходит вот что.
ну ввожу и открываеться этот код.
$_GET
Array
(
)
$_POST
Array
(
[key] => 343434
[enter_key] => Войти »
)
$codes_array
Array
(
[0] => 888766
)
---------- Добавлено в 13:18 ---------- Предыдущее сообщение было в 13:17 ----------
Ну уменя методом post по-этому с get скрипт непроверял. а 888766 это верный код. для доступа к странице!!! который сохранен в файле utf-8
Сам файл code.txt сохранен в utf-8
Cтоит убрать проверочный код ваш. такая же беда что угодно вводи невводи всё кидает на 404.html
Почему же у Вас нет $_POST['code'] ?
Вы ведь это значение сравниваете с "888766" из $codes_array
У Вас форма не передает значение 'code', а только "key" и "enter_key"