[英]Javascript not being executed
這是我的php文件的頂部-我試圖實現的是,如果用戶在登錄失敗后在此頁面上結束並在此處發布-則應在javascript中顯示一條消息,概述失敗的登錄嘗試,然后將其重定向返回上一頁。
為什么會發生這種情況,如何解決此問題,以便顯示消息框? 或者在上一頁-如果登錄嘗試失敗,如何停止重定向?
謝謝
<?php
include("Application.php");
include("Member.php");
include("ContactDetails.php");
include("LoginDetails.php");
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
$value = null;
if(isset($_SESSION['url'])) {
$value = $_SESSION['url'];
$_SESSION['url'] = $_SERVER['REQUEST_URI'];
}
if(isset($_POST['submit'])){
$username=$_POST["username"];
$password=$_POST["password"];
$loginDetails = logUserIn($username, $password);
if($loginDetails != null && $loginDetails->getUserid() > 0){
$contactDetails = getContactDetails($loginDetails->getUserid());
$member = new Member($contactDetails, $loginDetails);
//an array of applications belong to a paticular user
$applications = getApplicationsForMember($member);
printUserApplicationSelectionForm($applications);
}else{
//login attempt failed - tell the user and redirect
if($value != null){
$path = "http://localhost" . "$value";
header("Location: $path");
echo '<script type="text/javascript">alert("Login Attempt Failed!");</script>';
}
}
}
您可以在回顯之前更改位置,因此永遠不會回顯警報腳本:
header("Location: $path");
echo '<script type="text/javascript">alert("Login Attempt Failed!");
切換那些,它應該工作。
如果您發送位置標頭,瀏覽器將不再從當前頁面加載響應(您的腳本),而是直接更改為新位置。 您可以做的是在發送Location標頭之前,在路徑中添加&message=failedlogin
之類的內容,然后在上一頁中顯示一條消息。 您也可以將其存儲在會話中:
$_SESSION['loginsuccess']=false;
然后在上一個PHP頁面中檢查該值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.