Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/02/2021, 08:24
josegaitan123
 
Fecha de Ingreso: agosto-2014
Ubicación: barranquilla
Mensajes: 93
Antigüedad: 9 años, 8 meses
Puntos: 0
problemas con las url amigables PHP

Buenos Dias.

De ante mano les deseo muchas bendiciones en este nuevo año. quiero solicitar su ayuda quien halla realizado alguna solución con lo siguiente.

Estoy subiendo un pequeño proyecto realizado en PHP en estructura MCV. tengo los siguientes escenarios.

1. En modo local desde el servidor XAMP todo funciona de manera correcta con las siguiente estructura

a. Achivo LoginController.php esta ubicado en la dirección de la raíz de la carpeta principal con el nombre AppSistema lo que quiere decir que locamente accedo de esta manera http://localhost/AppSistema.

b. El archivo ControllerLogin.php esta en la ubicación Developer/Controller

c. El Archivo Login.php quien ejecuta los métodos esta ubicado en la ruta Developer/Model

d. Las funciones de Javascritp estan ubicadas en el archivo login.php que es donde se captura la información de entrada login y password.

e. En la raiz de la carpeta principal hay un archivo llamado .Httaccess para el control de las url amigables.

A continuación menciono los fragmento de código de cada archivo.


EL problema en cuestion es cuando lo subo a un servidor web en la nube, no encuentra la url que que esta asociada al parámetro ajax por lo tanto no hay conexión a la bdd

Código PHP:
<?php
session_start
();
require(
$_SERVER['DOCUMENT_ROOT'].'/AppSistema /''developer/Models/Login.php');
require_once (
$_SERVER['DOCUMENT_ROOT'].'/AppSistema /'.'/developer/Config/PDOConn.php');
$l = new Login();
$db = new db();

if(isset(
$_GET['case'])){ $case=$_GET['case']; }
 if(isset(
$_POST['LoginUsuario'])){  $usuario trim($_POST['LoginUsuario']);}
 if(isset(
$_POST['LoginPassword'])){ $password strtolower(trim($_POST['LoginPassword']));}


switch (
$case) {
 
$row1   $l->Iniciarsesion($usuario);
if(
$row1 != ''){
        if(
$row1['password']==sha1($password)){
          if(
$row1['estado']=='on'){
            if(
$row1['email_confirmado']==TRUE){
                       
$_SESSION['SystemCenter']     =true;
                       
$_SESSION['IN_codigo_usuCA']  =$row1['codigo_usu'];
                       
$_SESSION['IN_usuario']       =$row1['usuario'];
                       
$_SESSION['IN_email']         =$row1['email'];
                       
$_SESSION['IN_codperfil']     =$row1['codigo_perfil'];
                       
$_SESSION['IN_nombre_perfil'] =$row1['nombre_perfil'];
                       
$_SESSION['IN_foto']          =$row1['img_usuario'];
                       
$_SESSION['IN_nombre']        =$row1['email'];
                       
$_SESSION['IN_codrol']        =$row1['codigo_rol'];
                       
$_SESSION['IN_nombre_rol']    =$row1['nombre_rol'];
                       
$_SESSION['server']           =$server;
                       
$_SESSION['nombres']          =$row1['nombres_usuario'];
                   
$json=json_encode(array("success"=>true,
                   
'mensaje'=>"Bienvenido!"));
                   }else{
                   
$json=json_encode(array("success"=>false,
                   
'mensaje' => "Error: Debe confirmar su correo electrónico."));
                }
               }else{
                
$json=json_encode(array("success"=>false,
                
'mensaje' => "Error: Usuario deshabilitado"));
                }
              }else{
               
$json=json_encode(array("success"=>false,
                
'mensaje' => "Error:  Contraseña no coinciden"));
           }
      }
    }
 }
login.php

Código PHP:
<?php

require($_SERVER['DOCUMENT_ROOT'].'/AppSistema /''developer/Config/PDOConn.php');

class 
Login extends db
{
public function 
Iniciarsesion($usuario){
    
$select "SELECT codigo_usu,
                      usuario,
                      password,
                      estado,
                      email,
                      estado,
                      codigo_perfil,
                      nombre_perfil,
                      nivel,
                      codigo_rol, 
                      nombre_rol,
                      nombres_usuario,
                      img_usuario,
                      email_confirmado,
                      fecha_nacimiento_usuario FROM usuarios us
                  INNER JOIN perfiles pf ON pf.codigo_perfil = us.codperfil_fk 
                  INNER JOIN roles ro ON ro.codigo_rol = pf.codrol_fk
                  WHERE us.email = :email"
;
          
$params = array(':email' => $usuario);
          
$res $this->row($select,$params);
        return 
$res;
return 
$res;
}
}
Código HTML:
<div class="auth-screen">
	<div class="overlay">
	  <div class="login">
              <div style="width:100%">
                    <!--  <img class="logo" src="assets/images/logosiigalogin.png"> -->
                </div>
            <form class="px-4 py-3" id="frmLogin">
                  <div class="form-group">
                        <label for="txtUsuario">Identificación</label>
                         <input type="email" class="form-control" id="LoginUsuario" name="LoginUsuario" placeholder="correo electrónico">
                  </div>
                   <div class="form-group">
                          <label for="txtPassword">Contraseña</label>
                          <input type="password" class="form-control" id="LoginPassword" name="LoginPassword" placeholder="Contraseña">
                      </div>
                      <div class="form-group">
                          <div class="form-check">
                              <input type="checkbox" class="form-check-input" id="dropdownCheck">
                              <label class="form-check-label" for="dropdownCheck">
                                  Recuerdame
                              </label>
                          </div>
                      </div>
                      <button type="submit" class="btn btn-primary">Iniciar sesion</button>
                  </form>
                  <div class="dropdown-divider"> </div>
                  <a href="#" onclick="fmodalCambiarPass();" class="forgot-password underline" >¿Olvidó su
                      contraseña?</a>
              </div>
					</div>
				</div> 
Código HTML:
 <script>
  $("#frmLogin").submit(function(event) {
          event.preventDefault();
          var LoginUsuario  = $("#LoginUsuario").val();
          var LoginPassword = $("#LoginPassword").val();
        
          if ($.trim(LoginUsuario) == '') {
              toastr.error('Por favor, ingrese Usuario, correo electronico');
              $("#LoginUsuario").focus();
          } else if ($.trim(LoginPassword) == '') {
              toastr.error('Por favor, ingrese Contraseña.');
              $("#LoginPassword").focus();
          } else {
              $.ajax({
                  url: "Lopersa/Login/iniciarsesion",
                  type: "POST",
                  data: {'LoginUsuario': LoginUsuario,'LoginPassword': LoginPassword },
                  dataType: "JSON",
                  success: function(json) {


                     if (json.success == true) {
                          toastr.success("Logueado exitosamente!");
                          window.location = './dashboard';
                       }else{
                          toastr.error(json.mensaje);
                      }
                  }
              });
          }
      });
      // fin login
      </script> 
.htaccess
Código HTML:
RewriteRule ^Lopersa/Usuarios/(\w+)/?$  developer/Controller/usuariosController.php?case=$1 [nc,qsa]
Options All -Indexes

Última edición por josegaitan123; 03/02/2021 a las 09:05