2017-09-23 11 views
-2

私はthisと同様の質問がありますが、解決策は私が望むように動作していません。だから少しの背景。私は2つのカスタムテンプレートページ "login.php"と "welcome.php"を持っています。そして、私は2つのWPページを作成しました:Login.phpをテンプレートとして使用するログインページとwelcome.phpをテンプレートページとして使用するDashboardページ。 したがって、構造は "http://example.com/login/"(テンプレートとしてlogin.phpを使用) と "http://example.com/dashboard/"(テンプレートとしてwelcome.phpを使用)です。 は、ログインページからログインに成功した後、私はまたPHPのコードからWPページに移動

ob_end_clean(); 
header("location: welcome.php"); 
exit; 

しかし、ログイン成功後、ログインページにログインフォームがちょうど消えるが、私が試した

ob_end_clean(); 
header("Location: http://example.com/dashboard/"); 
exit; 

を使用してダッシュボードに移動したいですダッシュボードページには表示されないため、ページに要素が表示されないため、再度ログインすることはできません。これを引き起こす原因は何ですか?

サイドノート:私はこの警告

警告を取得:ヘッダー情報を変更することはできません - すでに(出力によって送られたヘッダが/home/xxx/example.com/wp-includes/class.wpで開始します-styles.php:237)ライン32

上/home/xxx/example.com/wp-content/themes/spacious/page-templates/login.phpにそれは警告だが、私は知りませんこれがダッシュボードページに表示されない原因になっている場合私は開け閉めphpタグの間にスペースがないことを保証していた。class.wp-styles.phpファイル。

答えて

0

このリダイレクトコード(header(...)を使用することができないというメッセージは、の後に既にページに何らかのHTML出力があることを意味します。だから、

ログインフォームは、すべてのフォーム要素であれば」などのif句で、任意のHTMLをエコーされる前に、ページの上部にそのコードを入れて、フォームデータの提出後に同じページに戻ってしまう場合埋め込まれて正しく送信された場合、リダイレクトが機能します。

+0

どうすればいいですか。初心者はPHPとhtmlです。 – saintjab

関連する問題