2014-10-04 70 views
-2

我想要的:點擊登錄/按下輸入將驗證登錄和重定向如果正確(無javascript)。無javascript的平穩登錄

我的嘗試:

  1. 表單與提交的其他PHP頁面上的按鈕和驗證問題:如果登錄是不正確的,我不想重定向並顯示錯誤消息。
<form action="loginServerside.php" method='POST'> 
  • 具有提交按鈕,並且當提交按鈕被設置校驗表單。 問題:提交按鈕重載頁面,然後重定向如果登錄爲正確
  • <form method='POST'> 
         <input name="email" type="email" id="email" placeholder="Email" /> 
         <input name="pass" type="password" id="pass" placeholder="Password"> 
         <input type="submit" name='login' value="LOGIN" id="login" class="button"/> 
    </form> 
    if (isset($_POST['login'])) 
        /*validate*/ 
    
  • 試圖通過使用輸入類型,以防止頁面重載= 「button」問題: isset只適用於提交按鈕
  • 我將不勝感激幫助!

    +3

    您需要重新加載頁面來運行服務器端代碼(PHP )。 Javascript運行客戶端,所以你可以在不重新加載頁面的情況下運行代碼。 – JimL 2014-10-04 18:28:47

    +0

    但JavaScript禁用時會發生什麼...... – stanthecomputerman 2014-10-04 18:30:59

    +1

    禁用JS的用戶選擇了頁面重新加載而不是js操作。 – JimL 2014-10-04 18:32:15

    回答

    0

    如果不重新加載頁面,則無法運行服務器端代碼(在這種情況下爲登錄憑據驗證)。這需要AJAX,它涉及Javascript。

    0

    如果我正確理解你的問題,你想驗證用戶輸入沒有頁面重新加載或刷新,沒有客戶端腳本這樣做是據我所知不可能的。一旦PHP(超文本處理器)完成了代碼的播放,它就會發送給客戶端和PHP「進入休眠狀態」,直到加載另一個頁面。使用Javascript是達到理想效果的最佳方式。我猜這不是一個真正的答案,但是你想要做的只是採用服務器端技術來處理尚未發送到服務器的數據。這不可能。

    Javascript可能在後方很痛苦,但現在有一些工具可以使調試變得簡單Chrome甚至還內置了一個開發控制檯,它可以消除其中的痛苦。

    0

    要進行登錄,客戶端(瀏覽器)必須POST到服務器,然後接收響應。如果您希望該響應不是全頁面重新加載,您需要javascript才能通過AJAX獲取JSON或頁面片段,或通過websockets獲取信號,或通過WebRTC獲取數據通道或其他模式全雙工通信不受任何正常請求流標準支持。

    如果只是通過該頁面重新加載屏幕上的內容,請查找iframe。

    -2

    查看本教程...它有你需要的一切。

    http://www.phpeasystep.com/phptu/6.html 查詢的結果爲後值計分貝 - 如果值是1點登錄是成功的,否則會顯示錯誤消息

    if($count==1){ 
        // Register $myusername, $mypassword and redirect to file "login_success.php" 
        session_register("email"); 
        session_register("password"); 
        header("location:[name_of_your_success_page.php"); 
    } 
    else { 
        echo "Wrong Username or Password"; 
    }