Очень простая 1 проверка значения формы ввода - PullRequest
0 голосов
/ 08 марта 2012

Немного не кодировал, но взялся за проект для друга.По сути, мне нужна форма для ввода 1, которая проверяет 4-значный код.Если код является правильным (это один из 2 или 3 возможных правильных кодов), он переходит на новую страницу, если это не так, не отправляет, и отображает ошибку.Это не должно быть очень красиво.Поиск решения jquery, и любой толчок в правильном направлении будет оценен.Я очень ржавый.

<form name="codeForm" action="" method="get">
     <input name="yourCode" type="text" id="yourCode"/>
    <input name="submit" type="submit" value="Go" id="code_input_submit" />

    <div id="message"><p></p>
     </div><!--end message-->

</form>

<div id="btn"></div>

, и мой jquery выглядит следующим образом:

$(document).ready(function () {
var code1 = "7816";
var code2 = "1226";

$('#btn').click(function() {
var value = $('#yourCode').val();

    if (value == code1){                                             // go to site 'abc.com/'code1;
    }
      else if (value == code2){                                         //go to site 'abc.com/'code2;
    }
    else{                                      $('#message').html('your code is wrong');
    }
});

});

1 Ответ

0 голосов
/ 08 марта 2012

Если это то, что вам кажется, это требование проверки, и вы действительно думаете о хранении данных клиента: Нет, нет, нет!

Ваш«entry-pins» будет виден каждому пользователю, пытающемуся войти в систему.

Вы должны всегда проверять подлинность на стороне сервера.

1. store the keys on server (database or file, whatever suits you)
2. client makes a request to server via post
3. Server accepts or denies client request

Например, отправьте формуна серверную страницу authenticate.php

И файл PHP проверит, хорошо ли пользователю идти.

<?php
// very simple and not really secure server-side auth script
$codes = {1234, 5678, 9012};
$valid_user = false; // all users are invalid until otherwise

$user_inserted_code = (int) $_POST['key'];
if(in_array($user_inserted_code, $codes)) {
    $valid_user = true;
}

if($valid_user==true)
     header("Location: http://example.com/authenticated");
else
     header("Location: http://example.com/failled_auth");
?>

Если вам действительно не нужна безопасность икоды, на которые вы ссылаетесь, являются статическими и что-то вроде (то есть) кодов отделов ... на вашем примере вы можете просто использовать простой переключатель:

$(document).ready(function () {
    var code1 = "7816";
    var code2 = "1226";

    $('#btn').click(function() {
        var value = $('#yourCode').val();

        switch(value) {
            case 7816: window.location = "http://google.com/"; break;
            case 1226: window.location = "http://yahoo.com"; break;
            default: $('#message').html('your code is wrong');
        }
    });
});
...