форма в php не перенаправляет на страницу после отправки - PullRequest
1 голос
/ 12 февраля 2020

У меня есть форма в php, которую я создал как калькулятор, я использовал angular js для отображения введенного пользователем значения на дисплее, которое я разработал, как показано ниже:

<?php

if(isset($_POST['entering'])) {
    header("Location: https://www.google.com");
    exit();
} else {
    $msg="Something Went Wrong. Please try again.";
}
?>

  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

  <div class='container'>
    <div class='ct-inner'>

      <!-- Project HTML Below -->
      <div ng-app="" class='calculator'>
        <div class='inner'>

          <div class='innerIn'>
            <div style="height:49px;" class='screen active'>
              <div class='output'> {{name}}</div>

              <div class='screen-layer'></div>
            </div>


            <form method="post" action="">
              <div class='controls'>


                <div style="margin-top:5%;" class="form__group">
                  <input ng-model="name" type="password" class="form__input" id="name" placeholder="Password" required="" maxlength="6" />

                </div>
                <div style="margin-left:35%; margin-top:1%;" class='control-pad operator-pad1'>

                  <input type="button" class='button med oper' name="entering" value="ENTER">
                </div>

              </div>
            </form>
          </div>
          <!-- Inner in End -->
        </div>
      </div>
    </div>
  </div>

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

Ответы [ 4 ]

1 голос
/ 12 февраля 2020

Из документов:

Поскольку роль форм в клиентских приложениях AngularJS отличается от классических двусторонних приложений, желательно, чтобы браузер не переводил отправка формы на полную перезагрузку страницы, которая отправляет данные на сервер. Вместо этого * * * * * * * * * * * * * * * * * * c * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} * * * * * * * * * * * * * * * * 10 '*' * * * * * * * * * * * 10 * * ”* * * * * * * * * * * * 10 '*' * *. на сервер), если для элемента <form> не указан атрибут действия.

Вы можете использовать один из следующих двух способов, чтобы указать, какой метод javascript должен вызываться при отправке формы:

  • ngSubmit директива для элемента формы
  • ngClick директива для первой кнопки или поля ввода типа submit (input [type = submit])

Для получения дополнительной информации см.

0 голосов
/ 12 февраля 2020

Я отредактировал ваш код, который, кажется, работает, теперь перенаправлен на Google.com.

<?php
if(isset($_POST['password'])) {

    header("Location: https://www.google.com");
    exit();
} else {
    $msg="Something Went Wrong. Please try again.";
}
?>

  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>

  <div class='container'>
    <div class='ct-inner'>

      <!-- Project HTML Below -->
      <div ng-app="" class='calculator'>
        <div class='inner'>

          <div class='innerIn'>
            <div style="height:49px;" class='screen active'>
              <div class='output'> {{name}}</div>

              <div class='screen-layer'></div>
            </div>


            <form action="" method="post">
              <div class='controls'>


                <div style="margin-top:5%;" class="form__group">
                  <input ng-model="name" type="password" class="form__input" id="password" name = "password" placeholder="Password" required="" maxlength="6" />

                </div>
                <div style="margin-left:35%; margin-top:1%;" class='control-pad operator-pad1'>

                  <input type="submit" class='button med oper' name="entering" value="ENTER">
                </div>

              </div>
            </form>
          </div>
          <!-- Inner in End -->
        </div>
      </div>
    </div>
  </div>
0 голосов
/ 12 февраля 2020

Используйте <input type="submit" вместо.

<?php
if(isset($_POST['entering'])) {
    header("Location: https://www.google.com");
    exit();
}
?>
<html>
    <head><title>the title</title></head>
    <body>
        <form method="POST">
            <input type="submit" name="entering" value="Go to google.com">
        </form>
    </body>
</html>
0 голосов
/ 12 февраля 2020

Ваша форма не отправляется, потому что у вас нет кнопки отправки, вам нужно добавить кнопку с type = "submit" , если вы хотите отправить форму

<button type="submit" value="Submit">Submit</button>

Если вы хотите отправить форму другому php сценарию, не забудьте установить атрибут действия

Редактировать:

Добавить мою кнопку и var_dump содержимое переменной $ _POST в верхней части страницы, оно, вероятно, пусто после отправки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...