Использовать ($ _POST) в определенный МОДАЛЬНЫЙ с Bootstrap

Привет всем оказывается, что у меня есть 2 манер в моем index. У меня есть модальный реестра (формуляр реестра) и модальный Login (формуляр login). Поскольку я делаю для того, чтобы мой php знал, из которого модальный он приходит я ($ _POST). Так как в начале моего index у меня есть это.

<?php
session_start();
require_once("validacionesUsuarios.php");

if (isLogged()){
    enviarAlIndex(); //Enviar a la home.
}

// VALIDO EL LOGIN DEL USUARIO(TIENE QUE EXISTIR)
if ($_POST){
    $errores = validarLogin($_POST);

    if(empty($errores)){
        $usuarioActivo = obtenerUsuarioPorMail($_POST["mail"]);
        loguearUsuario($usuarioActivo);

        if (isset($_POST["recuerdame"])){

            setcookie("logueado", $usuarioActivo["id"], time() + 60 * 60 * 24 * 5);
        }
        enviarAlIndex();
    }

 // VALIDO USARIO QUE SE VA A REGISTRAR
    $errores = validarUsuario($_POST);
 // SI NO HAY NINGUN ERROR, CREAMOS UN USUARIO NUEVO
    if(empty($errores)){
        // CREO UN USUARIOS CON LOS DATOS DEL POST
        $nuevoUsuario = crearUsuario($_POST);
        // CON LOS DATOS QUE NOS DEVUELVE EL CREARUSUARIO() LO GUARDAMOS EN EL JSON
        guardarUsuario($nuevoUsuario);
    }
    enviarAlIndex();
}

это было бы index.html

<!--COMIENZO MODAL LOGIN-->
            <div class="modal fade" id="user_login" role="dialog">
              <div class="modal-dialog">
                <div class="modal-content">
                  <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal">&times;</button>
                    <h2 class="modal-title" style="display:block" id="user_login">Iniciar Sesion</h2>
                  </div>
                  <div class="modal-body">

                                      <!-- MODAL BODY LOGIN -->
                    <div id="user_login" style='display:block'>
                      <form action="" method="POST">
                              <?php if(!empty($errores)) {?>
                              <div id="errores">
                                <ul id="errorno">
                                    <?php foreach ($errores as $error){?>
                                      <li>
                                      <?php echo $error;?>
                                    </li>
                                </ul>
                                <?php  }}?>
                            </div>

                            <a class="btn btn-block btn-social btn-facebook">
                            Iniciar sesion con Facebook
                            <i class="fa fa-facebook" id='redessociales' aria-hidden="true"></i></a>

                            <a class="btn btn-block btn-social btn-google">
                            Iniciar sesion con Google
                            <i class="fa fa-google" id='redessociales' aria-hidden="true"></i>
                            </a>

                            <label for="inputEmail" class="sr-only">Email</label>
                            <input type="text" name="mail" id="mail" class="form-control" placeholder="Email" autofocus="" >


                            <label for="inputPassword" class="sr-only">Contraseña</label>
                            <input type="pass" id="pass" class="form-control" name="pass" placeholder="Contraseña">

                          <div class="Checkbox">
                            <label>
                              <input type="checkbox" value="recuerdame">Recuerdame
                            </label>
                          </div>
                          <div>
                            <button class="btn btn-lg btn-primary btn-block" id="submit" name="submit" type="submit" value="Iniciar Sesion">Iniciar Sesion</button>
                          </div>
                          <a href="#user_recovery" data-dismiss="modal" data-toggle="modal">Olvidaste tu contraseña?</a>
                        </form>
                        <div class="modal-footer">
                                                    <button type="button" class="btn btn-default" data-dismiss="modal" data-toggle="modal" data-target="#user_register">Registrate!</button>
                          <button type="submit" name="submit" class="btn btn-default" data-dismiss="modal">Cerrar</button>
                        </div>
                                            </div>
                        </div>
                                        </div>
                                    </div>
                                    </div>
                  <!-- FIN MODAL LOGIN -->

                  <!-- COMIENZO MODAL REGISTER -->
                                    <div id="user_register" class="modal fade" role="dialog" style="z-index: 1600;">
                                        <div class="modal-dialog">
                                            <!-- Modal content-->
                                            <div class="modal-content">
                                              <div class="modal-header">
                                                <button type="button" class="close" data-dismiss="modal">&times;</button>
                                                <h2 class="modal-title" style="display:block">Registrarse</h2>
                                              </div>
                                                <div class="modal-body">
                                                  <div id="user_register" style='display:block'>
                                                    <form action="" method="POST">
                                                            <?php if(!empty($errores)) {?>
                                                            <div id="errores">
                                                              <ul>
                                                                  <?php foreach ($errores as $error){?>
                                                                    <li>
                                                                    <?php echo $error;?>
                                                                  </li>
                                                              </ul>
                                                              <?php  }}?>
                                                          </div>
                                                          <div>
                                                                                    <a class="btn btn-block btn-social btn-facebook">
                                                        Registrate con Facebook
                                                        <i class="fa fa-facebook" id='redessociales' aria-hidden="true"></i></a>

                                                        <a class="btn btn-block btn-social btn-google">
                                                        Registrate con Google
                                                        <i class="fa fa-google" id='redessociales' aria-hidden="true"></i>
                                                        </a>

                                                          <label for="nombre" class='sr-only'>Nombre:</label>
                                                          <input  id="nombre" type="text" name="nombre" class='form-control' placeholder="Nombre">

                                                                                    <label for="nombre" class='sr-only'>Apellido:</label>
                                                          <input  id="apellido" type="text" name="apellido" class='form-control' placeholder="Apellido">

                                                                                    <label for="inputEmail" class="sr-only">Email</label>
                                                        <input type="text" name="mail" id="mail" class="form-control" placeholder="Email" autofocus="">

                                                        <label for="inputPassword" class="sr-only">Contraseña</label>
                                                        <input type="pass" id="pass" class="form-control" name="pass" placeholder="Contraseña">

                                                          <label for="confirmarContrasena" class='sr-only'>Repita contraseña:</label>
                                                          <input type="cpass" name="cpass" class="form-control" placeholder="Confirma Contraseña">

                                                          <label for="sexo">Sexo:</label>
                                                          <select name="sexo" class='form-control' id="sexo">
                                                              <option value="M">Masculino</option>
                                                              <option value="F">Femenino</option>
                                                          </select>

                                                          <label for="nacimiento">Fecha de Nacimiento:</label>
                                                          <input type="date" name="nacimiento"  id="nacimiento" class='form-control'placeholder="aaaa-mm-dd">
                                                          <li>
                                                              <button type="submit" id='botonregistrarse'class="btn btn-lg btn-primary btn-block">Registrate!</button>
                                                          </li>
                                                          </div>
                                                      </form>
                                                        </div>
                                                        </div>
                                                                <div class="modal-footer">
                                                                    <button type="button" class="btn btn-default" data-dismiss="modal" data-toggle="modal" data-target="#user_login">Volver</button>
                                          <button type="submit" name="submit" class="btn btn-default" data-dismiss="modal">Cerrar</button>
                                        </div>
                                                        </div>
                                                        </div>
                                    </div>
                        <!-- FIN DE MODAL -->

это тот validacionesUsuarios.php

<?php
// session_start();
//
// loguearCookie();
//
// function enviarAIndex(){
//   header("location:Principal/principal.html");
//   exit;

 function validarUsuario($miUsuario){
    $errores = [];

    if(trim($miUsuario["nombre"]) == ""){
      $errores[] = "Falta el nombre";
    }

    if(trim($miUsuario["apellido"]) == ''){
      $errores[] = "Falta el apellido";
    }

    if(trim($miUsuario["mail"])== ""){
      $errores[] = "Falta el mail";
    }

    if(trim($miUsuario["pass"]) == ""){
      $errores[]= "Falta el password";
    }

    if(trim($miUsuario["cpass"]) == ""){
      $errores[] = "Confirma el password";
    }

    if(!isset($miUsuario["sexo"])){
      $errores[] = "Selecciona un sexo";
    }

    if(!date($miUsuario["nacimiento"])){
      $errores[] = "Escribi bien la fecha";
    }

    if($miUsuario["pass"] !== $miUsuario["cpass"]){
      $errores[] = "Las contraseñas no coinciden";
    }

    if(!filter_var($miUsuario["mail"], FILTER_VALIDATE_EMAIL)){
      $errores[] = "Formato email incorrecto";
    }
    return $errores;
  }

  function validarLogin($miUsuario){
    $errores = [];
    /*controlamos de que no este vacio el mail, luego de que exista en el json
    y finalmente si coincide el mail con la contraseña */
    if (trim($miUsuario["mail"]) == "") {
      $errores[] = "Ingresar un mail.";
    } elseif (!existeMail($miUsuario["mail"])) {
      $errores[] = "Mail ingresado no existe";
    } elseif (!validacionPass($miUsuario["mail"], $miUsuario["pass"])) {
      $errores[] = "El usuario y la contrasena no coinciden.";
    }

    if (trim($miUsuario["pass"]) == "") {
      $errores[] = "Ingresar una contrasena.";
    }
    return $errores;
  }
}
2
задан 12.10.2016, 19:01
4 ответа

Ты мог бы добавлять поле hidden в каждом из манер, ты должен звонить в это равное поле в обоих манерах, но с отличной стоимостью.

Register:

<input type="hidden" name="modal-type" value="register" />

Логин:

<input type="hidden" name="modal-type" value="login" />

Тогда в твоем validacionesUsuarios.php ты сможешь знать, откуда он приходит с $ _POST ["модальный - type"]:

if($_POST["modal-type"] == "register") {
    // El usuario se está registrando
} else if($_POST["modal-type"] == "login") {
    // El usuario está iniciando sesión
}
3
ответ дан 24.11.2019, 13:08
  • 1
    тысячи спасибо, этот ответ я был полезным! Я думал делать что-либо подобное! –  Infraganti 12.10.2016, 19:31
  • 2
    В action form он был бы должен помещать index.html? Так там он делает if ($ _POST [" модальный - type"] == " register") {} и будешь искать утверждение реестра? –  Infraganti 12.10.2016, 20:05

Самое легкое состоит в том, чтобы внутри каждого form ты поместил неудар в лунку типа "hidden" с value "login", или я "регистрирую".

<input name="tipo_operacion" type="hidden" value="registro">

или:

<input name="tipo_operacion" type="hidden" value="login">

Эта стоимость ты сможешь возвращать это в php с: $ _POST ['tipo_operacion'].

1
ответ дан 24.11.2019, 13:08

Ты можешь относиться к modals, как forms html отделенные с action специфические средства для каждого form, а именно ты можешь посылать ему form реестра в registro.php, и login в login.php с этим решением у тебя остается более отдельным код и более аккуратным.

0
ответ дан 24.11.2019, 13:08
  • 1
    Ты вы говорите, что, когда он сделает модального реестра, в action он поместил validarUsuario.php? –  Infraganti 12.10.2016, 19:33

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

0
ответ дан 24.11.2019, 13:08
  • 1
    вы говорите, что action form пошел к различным php? –  Infraganti 12.10.2016, 19:45
  • 2
    Точно, формуляр реестра был бы должен идти в, например, procesarRegistro.php и формуляр login в procesarLogin.php –  Javier Gómez 13.10.2016, 01:23

Теги

Похожие вопросы