Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

282
Visualizações
La publicación Ajax no le da valor al archivo php, la publicación se convierte en get

Tengo esta función ajax para iniciar sesión.

Editar: acabo de notar que este servidor ejecuta php7 mientras que otro servidor donde el inicio de sesión funciona usa php5. ¿Qué ha cambiado en php que este script ya no funciona?

Edición 2: parece que el método de solicitud del servidor no se publica, sino que se cambia para obtener, ¿por qué?

Solución: necesitaba eliminar el .php de la url: "./ajaxcall/login.php", porque uso bastante url htaccess.😅

 var InName = $('#InName').val(); var InPass = $('#InPass').val(); alert(InName); $.ajax({ type: "POST", url: "./ajaxcall/login.php", dataType: "json", data: {InName:InName, InPass:InPass}, error: function (request, error) { console.log(arguments); alert("Inlog Can't do because: " + error); }, success : function(data){ if (data.code == "200"){ $("#InErEr").html(data.msg); //window.location.reload(true); } else { $("#InErEr").html(data.msg); $('.lds-dual-ring').animate({opacity: 0}, 300); } } });

En la alert(InName); Obtengo el valor correcto del nombre de usuario. Pero cuando reviso mi archivo php $_POST['InName'] está vacío.

Parte del archivo php

 include('../config.php'); if(empty($_POST['InName'])) { $Ierror = 'Username is required.'; } if($_POST['InPass'] == '') { $Ierror = 'Password is required.'; } $username = $_POST['InName']; $passwordL = $_POST['InPass']; // count user in between // if($Inlognumber_of_rows == 0) { $Ierror = 'Username not found.'; } else { // password check // if(password_verify($salty_pass, $hashed_password)) { } else { $Ierror = 'Password incorrect.'; } } if ($Ierror == '') { // do login // } else { $showerror = '<span style="color:#F00;">'.$Ierror.$username.$passwordL.$_POST['InName'].$_POST['InPass'].'</span>'; echo json_encode(['code'=>404, 'msg'=>$showerror]); exit; }

En el mensaje de respuesta, $showerror solo obtengo, Nombre de usuario no encontrado, sin los valores publicados. Entonces, ¿el inicio de sesión no funciona debido a valores vacíos? El usuario también está presente en la base de datos, por supuesto. Tampoco obtengo los errores de $_POST vacíos. Entonces, para colmo, en javascript obtengo el valor correcto para InName pero no en php.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Estás cerca pero tu captura de error no es correcta... prueba esto (Jquery):

 var InName = 'something'; var InPass = 'morething'; $.post("./ajaxcall/login.php", { InName: InName, InPass: InPass }, function(data, status) { console.log(data, status); }).done(function() { alert("second success"); }) .fail(function() { alert("error"); }) .always(function() { alert("finished"); });

en su archivo php simplemente haga print_r($_POST); y recibirás esto en tu consola...:

 Array ( [InName] => something [InPass] => morething ) success

Básicamente, estaba tratando de imprimir el error donde debería haber consolado el registro de request.responeText ...

Un buen truco para saber si las publicaciones llegaron al php, incluso si no se muestra el archivo console.log, es hacer esto en el archivo php:

 <?php print_r($_POST) ; $newfile = fopen('newfile.txt','a'); fwrite($newfile,json_encode($_POST)); fclose($newfile);

Esto imprimirá y también almacenará en un archivo local los datos de la publicación....

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda