Вход

Просмотр полной версии : Переход на другую страницу,после проверки пароля


valiker
20.11.2013, 21:43
Добрый день. Нужно сделать простую проверку пароля.Если пароль правильный,перейдет на другую страницу. Пароль проверяет,но на страницу не переходит.Пока слабоват в скрипте ,подскажите как сделать правильно.Буду очень признателен.

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>pass validation</title>
<link rel='stylesheet' href='form-style.css' type='text/css' />
</head>
<body>
<div class="mail">
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>
<form name="form1" action="#">
<ul>
<li><input type='text' name='text1'/></li>
<li class="rq">*Enter numbers only.</li>
<li>&nbsp;</li>
<li class="submit"><input type="submit" name="submit" value="Submit" onclick="CheckPassword(document.form1.text1)"/></li>
<li>&nbsp;</li>
</ul>
</form>
</div>
<script type="text/javascript">
function CheckPassword(inputtxt)
{
var passw = "rai50";
if(inputtxt.value.match(passw))
{
return true;
document.location.href = "http://www.google.com";
}
else
{
alert('Wrong...!')
return false;
}
}
</script>
</body>
</html>

Rise
20.11.2013, 21:53
Удалите return true; и все получится

valiker
20.11.2013, 21:56
Удалите return true; и все получится

убрал,не получилось.

JS&PHP
20.11.2013, 22:01
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>pass validation</title>
</head>
<body>
<div class="mail">
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>
<form name="form1" action="#">
<ul>
<li><input type='text' name='text1' id="pas"/></li>
<li class="rq">*Enter numbers only.</li>
<li>&nbsp;</li>
<li class="submit"><input type="submit" name="submit" value="Submit" onclick="CheckPassword()"/></li>
<li>&nbsp;</li>
</ul>
</form>
</div>
<script type="text/javascript">
function CheckPassword(inputtxt)
{
var passw = "rai50";
var pasCode = document.getElementById("pas");
if(pasCode.value.match(/rai50/g)[0] == passw)
{
alert("Good");
window.location = "http://first_site/";
document.write("All be good! ;)");
return true;
}
else
{
alert('Wrong...!')
return false;
}
}
</script>
</body>
</html>


Если выводит сообщение "Good", значит проверка прошла успешно

valiker
20.11.2013, 22:05
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>pass validation</title>
</head>
<body>
<div class="mail">
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>
<form name="form1" action="#">
<ul>
<li><input type='text' name='text1' id="pas"/></li>
<li class="rq">*Enter numbers only.</li>
<li>&nbsp;</li>
<li class="submit"><input type="submit" name="submit" value="Submit" onclick="CheckPassword()"/></li>
<li>&nbsp;</li>
</ul>
</form>
</div>
<script type="text/javascript">
function CheckPassword(inputtxt)
{
var passw = "rai50";
var pasCode = document.getElementById("pas");
if(pasCode.value.match(/rai50/g)[0] == passw)
{
alert("Good");
window.location.href = "test.php";
}
else
{
alert('Wrong...!')
return false;
}
}
</script>
</body>
</html>


Если выводит сообщение "Good", значит проверка прошла успешно

проверка там работает,мне нужен переход на другую страницу после проверки.

JS&PHP
20.11.2013, 22:18
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>pass validation</title>
</head>
<body>
<div class="mail">
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>
<ul>
<li><input type='text' id="pas"/></li>
<li>*Enter numbers only.</li>
<li>&nbsp;</li>
<li class="submit"><input type="submit" onclick="CheckPassword()"/></li>
<li>&nbsp;</li>
</ul>
</div>
<script type="text/javascript">
function CheckPassword(){
var passw = "rai50";
var pasCode = document.getElementById("pas");
if(pasCode.value.match(/rai50/g)[0] == passw){
window.location.href = "http://www.google.com";
return true;
}
else{
alert('Wrong...!')
return false;
}
}
</script>
</body>
</html>


Все должно работать.

Напишите, работает ли.

Rise
20.11.2013, 22:20
А так...

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>pass validation</title>
<link rel='stylesheet' href='form-style.css' type='text/css' />
</head>
<body>
<div class="mail">
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>
<form name="form1" action="#">
<ul>
<li><input type='text' name='text1'/></li>
<li class="rq">*Enter numbers only.</li>
<li>&nbsp;</li>
<li class="submit"><input type="submit" name="submit" value="Submit" onclick="return CheckPassword()"/></li>
<li>&nbsp;</li>
</ul>
</form>
</div>
<script type="text/javascript">
function CheckPassword() {
var passw = "rai50";
var reg = new RegExp("^" + passw + "$");
if(reg.test(document.form1.text1.value)) {
document.location.href = "http://www.google.com";
} else {
alert('Wrong...!');
}
return false;
}
</script>
</body>
</html>

valiker
20.11.2013, 22:24
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>pass validation</title>
</head>
<body>
<div class="mail">
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>
<ul>
<li><input type='text' id="pas"/></li>
<li>*Enter numbers only.</li>
<li>&nbsp;</li>
<li class="submit"><input type="submit" onclick="CheckPassword()"/></li>
<li>&nbsp;</li>
</ul>
</div>
<script type="text/javascript">
function CheckPassword(){
var passw = "rai50";
var pasCode = document.getElementById("pas");
if(pasCode.value.match(/rai50/g)[0] == passw){
window.location.href = "http://www.google.com";
return true;
}
else{
alert('Wrong...!')
return false;
}
}
</script>
</body>
</html>


Все должно работать.

Напишите, работает ли.

на страницу переходит,но теперь не выводит алерт,если неправильный пароль

valiker
20.11.2013, 22:26
А так...
Да,все отлично !

Спасибо за помощь ,ребята!

JS&PHP
20.11.2013, 22:30
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>pass validation</title>
</head>
<body>
<div class="mail">
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>
<ul>
<li><input type='text' id="pas"/></li>
<li>*Enter numbers only.</li>
<li>&nbsp;</li>
<li class="submit"><input type="submit" onclick="CheckPassword()"/></li>
<li>&nbsp;</li>
</ul>
</div>
<script type="text/javascript">
function CheckPassword(){
var passw = "rai50";
var pasCode = document.getElementById("pas");
if((pasCode.value.match(/rai50/g) != null) && pasCode.value.match(/rai50/g)[0] == passw){
window.location.href = "http://www.google.com";
}
else{
alert('Wrong...!')
return false;
}
}
</script>
</body>
</html>

BETEPAH
20.11.2013, 22:32
valiker,
вы же понимаете, насколько ненадежная эта защита, да?

valiker
20.11.2013, 22:51
valiker,
вы же понимаете, насколько ненадежная эта защита, да?

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

Amok_Yu
09.08.2021, 19:49
Искал скрипт, как сделать переход на другую страницу сайта нажав кнопку, но с проверкой введенного пароля (ребенку хотел игру типа квеста сделать). Нашел эту ветку многолетней давности.

Добавил еще найденный скрипт на отмену использования правой кнопки мышки и горячих клавиш для просмотра кода страницы - чтоб там пароль не подсмотрели так просто.

Но тут обратил внимание, что скрипт принимает не только указанный пароль:
var passw = "rai50"
Но и все комбинации содержащие указанную комбинацию, в данном случае "rai50" при вводе, хоть в конце, хоть в начале, хоть и там и там любое *rai50*

В принципе для моих целей это не критично. Но всё же интересно, это можно как-то исправить в данном коде?

рони
09.08.2021, 19:54
Amok_Yu,
if(pasCode.value === passw)

Amok_Yu
09.08.2021, 21:59
if(pasCode.value === passw)

Спасибо. Помогло.
Я в java не силен. Но вроде разобрался.
Просто добавив эту строку перед if((pasCode.value.match... оно уже заработало, но перестало выдавать сообщение об ошибке при неправильном пароле.
А потом добавил через && в строку с if(...) и заработало как надо :dance:


<script type="text/javascript">
function CheckPassword(){
var passw = "rai50";
var pasCode = document.getElementById("pas");
if((pasCode.value.match(/rai50/g) != null) && pasCode.value.match(/rai50/g)[0] == passw && pasCode.value === passw){
window.location.href = "01.html";
}
else{
alert('ОТВЕТ неверный. Попробуй ещё раз!')
return false;
}
}
</script>



Ещё несколько вопросов.:help:
? Зачем это:

<div class="mail">

Я удалил - все работает.
И в строке:
<li class="submit"><input type="submit" onclick="CheckPassword()"/></li> - часть class="submit" тоже вроде лишняя. Удалил -работает.

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

Я сделал все без разметки по пунктам через <ul> <li> и еще добавил скрипт, который запрещает использование правой кнопки мыши, комбинаций клавиш trl+U, ctrl+shift+i и F12. Чтобы нельзя было посмотреть код страницы, т.к. в нём пароль прописан. Нагуглил несколько. Взял самый понравившийся.

Вот что получилось:

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>pass validation</title>
</head>
<!-- Запрет правой кнопки мыши и горячих клавиш Ctrl+U и пр. (чтоб не посмотрели код страницы) -->
<script type="text/javascript">
document.onkeydown = function(event) {
if (event.ctrlKey && (event.keyCode == 85) || (event.ctrlKey && event.shiftKey && (event.keyCode == 73)) || event.keyCode == 123) {
return false
}
}
document.oncontextmenu = function(){
return false
}
</script>
<body>
<h2>Решите задание и введите пароль для перхода на следующую страницу</h2>
Пароль введите в окошке ниже.
<p>
<b>Введи пароль:</b>
<input type='text' id="pas"/><br>
<font size="-1"> [пароль может содержать цифры, строчные и заглавные буквы русского и английского алфавита]</font>
<br><br>
<input type="submit" value="Проверить пароль" onclick="CheckPassword()"/><br>
<script type="text/javascript">
function CheckPassword(){
var passw = "кот50";
var pasCode = document.getElementById("pas");
if((pasCode.value.match(/кот50/g) != null) && pasCode.value.match(/кот50/g)[0] == passw && pasCode.value === passw) {
window.location.href = "http://www.google.com";
}
else{
alert('ПАРОЛЬ неверный. Попробуй ещё раз!')
return false;
}
}
</script>
</body>
</html>

рони
10.08.2021, 07:45
if((pasCode.value.match(/кот50/g) != null) && pasCode.value.match(/кот50/g)[0] == passw  &&  pasCode.value === passw)

достаточно одной таблетки!)))
if(pasCode.value === passw)