Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Простой многопользовательский скрипт
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Vladimir
Отправлено: 13 Сентября, 2009 - 03:29:01
Post Id


Advanced Member


Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005  

Карма 0




Страница с формами:

<form action="add.php" method="post">

<input type="text" name="title" size="20"> Заголовок
<textarea rows="5" cols="20" name="text"></textarea> Текст
<input type="text" name="pass" size="20"> Пароль
<input type="submit" value="Отправить">

</form>

В файле add.php в самом начале находится список логинов и паролей:
user1 pass1
user2 pass2
user3 pass3
user4 pass4
user5 pass5
и т.д.

Если в форму введён pass4, то на странице add.php, наравне с переданными переменными - заголовок и текст, будет, использоваться переменная user4. Если введён pass5, то соответственно, user5 и т.д. Если же введённый пароль не найден в списке, то echo "Неправильный пароль";.

Помогите пожалуйста это сделать.
 
 Top
Furax
Отправлено: 13 Сентября, 2009 - 04:03:17
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Vladimir пишет:
В файле add.php в самом начале находится список логинов и паролей:
В каком смысле - в самом начале? Вот так, что ли?
CODE:
(Начало файла)Логин1 Пароль1
Логин2 Пароль2
Логин3 Пароль3
<?php //Пошёл скрипт (или HTML-содержимое)
 
 Top
Vladimir
Отправлено: 13 Сентября, 2009 - 04:16:25
Post Id


Advanced Member


Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005  

Карма 0




"В самом начале" - перед основным скриптом. И для того, чтобы в первую очередь производилась проверка пароля.
CODE:
<?php (Начало файла)
Логин1 Пароль1
Логин2 Пароль2
Логин3 Пароль3


Пошёл скрипт

(Отредактировано автором: 13 Сентября, 2009 - 06:43:38)

 
 Top
Furax
Отправлено: 13 Сентября, 2009 - 10:25:31
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




А так нельзя. Парсер php не простит такого стороннего содержимого внутри тегов "<?php...?>". А если хранить вне таковых - это содержимое легко может быть прочитано извне. Так что такой способ не годится в любом случае.
 
 Top
Vladimir
Отправлено: 13 Сентября, 2009 - 10:46:22
Post Id


Advanced Member


Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005  

Карма 0




А ввиде массива?
 
 Top
Furax
Отправлено: 13 Сентября, 2009 - 11:38:31
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




Учитывая постановку задачи, удобнее всего использовать пароли в качестве ключей массива:
CODE:
<?php

$users = array
(
'pass1' => 'user1',
'pass2' => 'user2'
);

$user1 = 'Нужная Тебе информация по юзеру 1';

$user = null;

if (isSet($_POST['pass']) && isSet($users[$_POST['pass']]))
{
$user = $users[$_POST['pass']];

echo $$user; //Вывод переменной, например, $user1 (если пароль - 'pass1').
}
else
{
echo "Неправильный пароль";
}
То есть, имя пользователя в первых фигурных скобках сохраняется в переменную $user, и чтобы обратиться к одноимённой переменной, нужно использовать синтаксис с двумя баксами, например:
CODE:
$$user = 'qq';
Если $_POST['pass']=='pass2', результат выполнения будет эквивалентен результату прямого присваивания $user2='qq';.
 
 Top
Vladimir
Отправлено: 13 Сентября, 2009 - 14:34:46
Post Id


Advanced Member


Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005  

Карма 0




Если просто echo $user;, то тогда можно
'pass1' => 'Нужная Тебе информация по юзеру 1',

Можно что-нибудь вместо else, чтобы при неправильном пароле выводилось echo "Неправильный пароль"; и прекращалась дальнейшая загрузка страницы?
 
 Top
Furax
Отправлено: 13 Сентября, 2009 - 22:18:18
Post Id



Бледнотик


Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007  
Откуда: Иркутск, Сибирь, СССР

Карма 32




CODE:
exit("Неправильный пароль");
 
 Top
Vladimir
Отправлено: 14 Сентября, 2009 - 08:04:39
Post Id


Advanced Member


Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005  

Карма 0




Понятно. Спасибо.
 
 Top
Vladimir
Отправлено: 14 Сентября, 2009 - 09:48:56
Post Id


Advanced Member


Покинул форум
Сообщений всего: 270
Дата рег-ции: Апр. 2005  

Карма 0




Как ещё сделать, чтобы очистить
текст
от
переносов?

$text = $_POST['text'];

Нашёл кое-что, но не действует:
CODE:
$text = str_replace('\r\n', '', $text);
$text = str_replace('\n', '', $text);
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.044]     [ Gzipped ]