2013-06-23 59 views
-1

我在fuction.php中爲客戶區使用了自定義登錄函數,但問題是用戶只能在一個頁面中使用。如果用戶轉到另一個頁面,他必須重新登錄等等。如何在wordpress自定義登錄功能中保持所有頁面的用戶登錄?

如何保持所有頁面的用戶登錄而不是一個?

此外,PLZ審查我的登錄功能。如果我正在做對嗎?

PLZ幫助。

function login(){ 

    global $wpdb; 

    if(isset($_POST['loggingg']) AND !empty($_POST['loggingg'])) { 

    $email = $wpdb->escape ($_REQUEST['email']); 
    $pass = $wpdb->escape ($_REQUEST['pass']); 

    $sql = $wpdb->get_results ("SELECT * FROM wp_users where user_email='$email'"); 
    $numrows = $wpdb->num_rows; 

    foreach ($sql as $fsql) { 
     $password = $fsql->user_pass; 
     $user_id = $fsql->ID; 
     $username = $fsql->fname; 
     $remember = $fsql->remember; 

    } 
    if($password) { 
     $login_data = array(); 
     $login_data[] = $username; 
     $login_data[] = $password; 
     $login_data[] = $remember = TRUE; 

     $wpdb->query ("UPDATE wp_users SET useronline='1' WHERE ID='$user_id'"); 

     $user_verify = wp_signon ($login_data, FALSE); 
     wp_set_auth_cookie ($user_verify, 0, 0); 


     wp_set_current_user ($user_id, $username); 
     do_action ('wp_set_current_user'); 


    } 
    else { 
     echo "username r password is wrong.If you forgot ur password click <a href='#'>here</a>"; 
    } 
} 
} 
+0

只需將它存儲在使用sql字段的會話變量intead中即可實現所需內容。 – Jerska

+0

@Jerska,我試過了,但它沒有工作 –

回答

1

可以使用wp signon功能:Function Reference/wp signon

,你可以在這裏看到:

<?php wp_signon($credentials, $secure_cookie) ?> 

它會和數組($憑證)和一個布爾值(這是可選)。

在這裏你可以看到一個示例代碼,它的使用:

$creds = array(); 
$creds['user_login'] = 'username'; 
$creds['user_password'] = 'password'; 
$creds['remember'] = true; 
$user = wp_signon($creds, false); 
if (is_wp_error($user)) 
    echo $user->get_error_message(); 

這個功能是核心WP功能,意味着這意味着,當它的使用,它會做一切WordPress的需要爲它做按照它應該的方式工作。請使用WordPress Cookies

你的情況

我已經看到你使用:Function Reference/wp set auth cookie 這是服用這些參數:

<?php wp_set_auth_cookie($user_id, $remember, $secure) ?> 

$user_id是一個整數,$remember是一個布爾值(真/假)。

$user_id你試圖把一個不是整數的變量。 用$user_verify->ID更改它,它應該工作。

+0

謝謝你,我試過了,但仍然存在問題。當用戶點擊任何其他頁面時,他再次登錄。 –

+0

您是否在頁面加載時輪詢會話? –

相關問題