Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Помогите разобраться в скрипте...


Автор: Sufius 17.4.2004, 22:07
Это размещается в HEAD
Код
<script LANGUAGE="javascript">

function go(arg){
/* Расширение файла пароля */
location.href = arg.expr.value + ".html";
}
function enter(arg, string){
arg.expr.value += string
}
function cler(arg){
arg.expr.value = ''
}
</SCRIPT>


Это в BODY
Код
<form>
<table border=1>
<tr>
<td bgcolor="dcdcdc" colspan=3 align=center class="copy2">Введите пароль</td>
</tr>
<tr>
<td align="center" colspan=3><input type="password" name="expr" size=8 action="calculate(this.form)"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 1 " onClick="enter(this.form, 1)"></td>
<td align="center"><input type="button" value=" 2 " onClick="enter(this.form, 2)"></td>
<td align="center"><input type="button" value=" 3 " onClick="enter(this.form, 3)"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 4 " onClick="enter(this.form, 4)"></td>
<td align="center"><input type="button" value=" 5 " onClick="enter(this.form, 5)"></td>
<td align="center"><input type="button" value=" 6 " onClick="enter(this.form, 6)"></td>
</tr>
<tr>
<td align="center"><input type="button" value=" 7 " onClick="enter(this.form, 7)"></td>
<td align="center"><input type="button" value=" 8 " onClick="enter(this.form, 8)"></td>
<td align="center"><input type="button" value=" 9 " onClick="enter(this.form, 9)"></td>
</tr>
<tr>
<td align="center"><input type="button" value="Cl" onClick="cler(this.form)"></td>
<td align="center"><input type="button" value=" 0 " onClick="enter(this.form, 0)"></td>
<td align="center"><input type="button" value=" = " onClick="go(this.form)"></td>
</tr>
</table>
</form>


Суть скрипта ясна... он отправляет пользователя на страницу, номер которой он ввел... т.е. при вводе 111 он перейдет на страницу 111.html...

Не подскажите, а как сделать, чтобы скрипт отсылал не на страницу, номер которой ввел пользователь, а в директорию... номер которой был введен...

Автор: Sardar 18.4.2004, 00:08
Sufius конечно это не важно зачем тебе этот скрипт... но на JS секьюрити он вообще не катит biggrin.gif
Замечание: аттрибута action у input'а нет. Может ты спутал с формой...?

По моему скрипт писал не ты, потому разберемся что он делает. Есть куча кнопок, по событию onClick вызывается функция enter добавляющая к содержимому поля password цифру. Теперь интересное: Функция go меняет URL текущей страницы(перезагружает ее). Видим что к цифрам из password добавляется ".html". Так, мы знаем(если нет то бегом сюда http://codenet.ru/webmast/web/gl_10.php) что URL содержит путь и возможно имя запрашиваемого документа. Тогда представим что содержимое поля password это часть пути, значит просто добавим "/":
Код
function go(arg){
/* Расширение файла пароля */
location.href = "./"+arg.expr.value + "/";
}


А вообще тебе следует посидеть с мануалом по JS что бы писать самому, а не править чужие скрипты smile.gif

Автор: Sufius 18.4.2004, 01:37
=)))
так ненавязчиво опустил ниже плинтуса =)))
конечно, это не мой скрипт...
вот он... http://www.woweb.ru/catalog/73/1055975678/
он нужен для другой цели...
Надо чтобы пользователь ввел числовой код и посетитель перейдет на страничку в своей директории... но директория запаролена через .htaccess... то есть ему надо будет ввести пароль к директории... если пароль верный, то пользователь получает доступ ко всем файлам своей дирректории... если нет, то его выкидывает опять на страничку с этим JS...
Вот собственно суть скрипта...
Просто в разделе php топик о создании авторизации, чтобы каждой комбинации логин/пароль соответствовала своя дирректория, сейчас обсуждается... а скрипт такой авторизации нужен обязательно к понедельнику...
=( вот и мучаюсь, выкручиваясь разными способами...

Автор: Sardar 18.4.2004, 19:31
Цитата
директория запаролена через .htaccess...

По любому при переходе в заданную директорию браузер сного спросит логин и пароль.
Цитата
Но так, чтобы напрямую через адресную строку он туда без авторизации попасть не смог...

Тогда JS отменяется.
Самое большее что ты можешь сделать из JS это перенаправить пользователя по какому то URL. Апач отошлет запрос на авторизацию и в браузере выскочит соответствующее окошко.

Почему на JS? Если ты можешь использовать серверные скрипты, то ты просто обязан smile.gif писать авторизацию на сервере. Есть куча готовых скриптов, возьми любой за основу и напиши свой.

Автор: Sufius 18.4.2004, 20:18
Спасибо!
Буду учиться... уже купил сегодня книги по JS...
=)))
Спасибо за ответы!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)