Связывание двух страниц - PullRequest
0 голосов
/ 29 апреля 2018

Я работаю над попыткой связать страницы вместе, чтобы, если бы кто-то должен был войти в систему, используя страницу входа, он был бы перенаправлен на определенную созданную страницу, и если пользователь нажал кнопку регистрации, они были бы перенаправлены в реестр страницы и оттуда, после ввода информации, они будут направлены на другую страницу. Кнопка для входа или регистрации не работает. Есть ли способ это исправить?

Пока у меня есть это для моей страницы входа.

function login() {
  var users = ["admin1", "admin2", "admin3", "admin4"];
  var pass = ["pass1", "pass2", "pass3", "pass4"];

  ivar aUser = document.getElementById("user_name").value;
  var aPass = document.getElementById("password").value;

  for (i = 0; i < users.length; i++) {
    if (users[i] == aUser && pass[i] == aPass) {
      window.location = "dashboard.php";
      break;
    }
  }

  var myOut = document.getElementById("output");
  myOut.innerHTML = "Who Are You? / Incorrect Password";
  myOut.className = "error";

  function init() {
    var login_button = document.getElementById("login_button");
    if (login_button !== null) {
      login_button.onclick = login;
    }

    var register_button = document.getElementById("register_button");
    if (register_button !== null) {
      register_button.onclick = validation;
    }

    for (i = 1; i <= 10; i++) {
      var myErr = document.getElementById("err" + i);
      if (myErr !== null) {
        myErr.className = "error";
      }
    }
  }
<h1>
  Please Login
</h1>
<form id="order_form">
  <fieldset>
    <legend>Login</legend>
    <div class="tab">
      <div class="tRow">
        <div class="tRow">
          <div class="tCell">
            <label for="user_name">User Name:</label>
          </div>
          <div class="tCell">
            <input type="text" id="user_name" maxlength="50" />
          </div>
        </div>
        <!-- END OF THIS SELECTION -->
        <div class="tRow&gt; &lt;div class=">
          <label for="password">Password:</label>
        </div>
        <div class="tCell">
          <input type="text" id="password" required="" maxlength="50" />
        </div>
      </div>
      <!-- END OF THIS SELECTION -->
      <div class="tRow">
        <div class="tCell">
          &nbsp;
        </div>
        <div class="tCell">
          <input type="button" id="login_button" value="Login" />
        </div>

      </div>
      <!--END OF THIS SELECTION-->
      <div class="tRow">
        <div class="tCell">
          &nbsp;
        </div>
        <div class="tCell">
          <input type="button" id="register_button" value="Register Now!" />
        </div>

      </div>
      <!--END OF THIS SELECTION-->
    </div>
    <!-- END OF THE TABLE  -->
    <br />
    <div id="output" class="error"></div>
  </fieldset>
</form>

Функция проверки:

function validation() {

    for (i=1; i<=10; i++) {
      var myErr = document.getElementById("err" + i); 
      myErr.innerHTML = "";
   }
    document.getElementById("output").innerHTML = "";


        var dept_name = document.getElementById("dept_name").value;
        var user_email = document.getElementById("user_email").value;
        var user_password = document.getElementById("user_password").value;
        var phone_number = document.getElementById("phone_number").value;
        var first_name = document.getElementById("first_name").value;
        var last_name = document.getElementById("last_name").value;
        var office_location = document.getElementById("office_location").value;



        var valid = true;

        if (dept_name == "") {
            document.getElementById("err1").innerHTML = "Invalid!";
            valid = false;
        }

        if ((user_email) =="") {
        valid = false;
        document.getElementById("err2").innerHTML = "Invalid!"; 
        }

        if ((user_password) =="") {
        valid = false;
        document.getElementById("err3").innerHTML = "Invalid!"; 
        }

        if ((first_name) =="") {
        valid = false;
        document.getElementById("err4").innerHTML = "Invalid!"; 
        }

        if ((last_name) =="") {
        valid = false;
        document.getElementById("err5").innerHTML = "Invalid!"; 
        }

        if (isNaN(phone_number) || card_number.length !==11) {
        valid = false;
        document.getElementById("err6").innerHTML = "Invalid!"; 
        }

        if ((office_location) =="") {
        valid = false;
        document.getElementById("err7").innerHTML = "Invalid!"; 
        }
}
window.onload=init;

1 Ответ

0 голосов
/ 29 апреля 2018

Несколько ошибок

  1. пропущенные скобки
  2. нет выполнения init
  3. отсутствует функция проверки

Это работает:

function login() {
  var myOut = document.getElementById("output");

  var users = ["admin1", "admin2", "admin3", "admin4"];
  var pass = ["pass1", "pass2", "pass3", "pass4"];

  var aUser = document.getElementById("user_name").value;
  var aPass = document.getElementById("password").value;

  for (i = 0; i < users.length; i++) {
    if (users[i] == aUser && pass[i] == aPass) {
      myOut.innerHTML = "Correct - you will be redirected";
      setTimeout(function() {
        window.location = "dashboard.php";
      },1000);  
      return;
    }
  }
  myOut.innerHTML = "Who Are You? / Incorrect Password";
  myOut.className = "error";
}


function init() {
  var login_button = document.getElementById("login_button");
  if (login_button !== null) {
    login_button.onclick = login;
  }

  var register_button = document.getElementById("register_button");
  if (register_button !== null) {
    register_button.onclick = validation;
  }

  for (i = 1; i <= 10; i++) {
    var myErr = document.getElementById("err" + i);
    if (myErr !== null) {
      myErr.className = "error";
    }
  }
}
function validation() { /* you need some code here */ }
window.onload=init;
<h1>
  Please Login
</h1>
<form id="order_form">
  <fieldset>
    <legend>Login</legend>
    <div class="tab">
      <div class="tRow">
        <div class="tRow">
          <div class="tCell">
            <label for="user_name">User Name:</label>
          </div>
          <div class="tCell">
            <input type="text" id="user_name" maxlength="50" />
          </div>
        </div>
        <!-- END OF THIS SELECTION -->
        <div class="tRow&gt; &lt;div class=">
          <label for="password">Password:</label>
        </div>
        <div class="tCell">
          <input type="text" id="password" required="" maxlength="50" />
        </div>
      </div>
      <!-- END OF THIS SELECTION -->
      <div class="tRow">
        <div class="tCell">
          &nbsp;
        </div>
        <div class="tCell">
          <input type="button" id="login_button" value="Login" />
        </div>

      </div>
      <!--END OF THIS SELECTION-->
      <div class="tRow">
        <div class="tCell">
          &nbsp;
        </div>
        <div class="tCell">
          <input type="button" id="register_button" value="Register Now!" />
        </div>

      </div>
      <!--END OF THIS SELECTION-->
    </div>
    <!-- END OF THE TABLE  -->
    <br />
    <div id="output" class="error"></div>
  </fieldset>
</form>

Вы можете сделать тест проще:

var userPos = users.indexOf(aUser); 
if (userPos !=-1 && userPos === pass.indexOf(aPass)) {
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...