2016-10-15 2 views
-1

У меня есть следующий JQuery в моем файле index.php (WWW корень):JQuery POST не выполняется PHP скрипт

$(document).ready(function() { 
 
     $('#loginForm').submit(function() { 
 
      var username = $("#username").val(); 
 
      var password = $("#password").val(); 
 
      $.post("php/login.php", 
 
       { 
 
        username: username, 
 
        password: password 
 
       }, 
 
       
 
      function(data,status){ 
 
       $("#loginstatus").html(data); 
 
       alert(data); 
 
     } 
 
        
 
     ); 
 
      
 
     }); 
 
    });

и следующий скрипт в PHP папку:

<?php 
 
    $username = isset($_POST["username"]) ? $_POST["username"] : '' ; 
 
    $password = isset($_POST["password"]) ? $_POST["password"] : '' ; 
 
    $dbhost = "localhost"; 
 
    $dbuser = "s150314"; 
 
    $dbpass = "password"; 
 
    $dbname = "users"; 
 
    $loginerror = ""; 
 
    
 
    $conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname); 
 
    
 
    $sqlu = "SELECT username FROM users WHERE username LIKE '$username' "; 
 
    $sqlp = "SELECT password FROM users WHERE password LIKE '$password' "; 
 
    $sqlfn = "SELECT FirstName,LastName FROM users WHERE username LIKE '$username' "; 
 
    
 
    $resultu = mysqli_query($conn, $sqlu) ; 
 
    $resultp = mysqli_query($conn, $sqlp) ; 
 
    $resultfn = mysqli_query($conn, $sqlfn) ; 
 
    
 
    if (mysqli_num_rows($resultu) > 0 && mysqli_num_rows($resultu) > 0) { 
 
     while($row = mysqli_fetch_assoc($resultfn)) { 
 
      $_SESSION["FirstName"] = $row["FirstName"]; 
 
     } 
 
     echo "Success!"; 
 
     header("Location: ../pages/redirect.php"); 
 
    } else { 
 
     echo "Error!"; 
 
    } 
 
    
 
?>

Однако никаких изменений при подаче этой формы. В теории я должен быть перенаправлен на redirect.php ... если я заменил PHP-код обратно на index.php, он работает безупречно.

+0

Sidenote: Вы можете выбрать все, что в __ONE__ запросе –

+0

Как вы используете 'ajax' ваш редирект не будет работать, как вы ожидаете. Обратитесь к некоторым веб-основам. –

+0

Вы не запрещаете форму по умолчанию Отправить – charlietfl

ответ

1

Использование window.location

<script> 
$.post("php/login.php", 
{ 
    username: username, 
    password: password 
}, 
cache:false, 
success:function(data){  
    if(data.status == 'success'){ 
     window.location.href="http:\\www.site_name.php/pages/redirect.php""; 
    }else if(data.status == 'error'){ 
     alert(data); 
    } 
} 
</script> 

PHP

<? 
header('Content-type: application/json'); 
$SqlQuery = "SELECT FirstName,LastName,username FROM users WHERE username LIKE '$username' AND password LIKE '$password'"; 

$resultu = mysqli_query($conn, $SqlQuery) ; 

if (mysqli_num_rows($resultu) > 0 && mysqli_num_rows($resultu) > 0) { 
    while($row = mysqli_fetch_assoc($SqlQuery)) { 
     $_SESSION["FirstName"] = $row["FirstName"]; 
    } 
    $response_array['status'] = 'success'; 
} else { 
    $response_array['status'] = 'error'; 
} 
?> 
Смежные вопросы