2016-10-15 3 views
-3

私はjavascriptのコードを次のようしている:Javascriptの呼び出しPHPのヘッダ

function like(){ 
    if(loged) { 
    if(liked) { 
     likes-=1; 
     liked = false; 
     document.getElementById('alike').src = "img/icons/like.png"; 
    } else if(disliked) { 
     dislikes-=1; 
     disliked = false; 
     likes+=1; 
     liked = true; 
     document.getElementById('alike').src = "img/icons/like1.png"; 
     document.getElementById('adislike').src = "img/icons/dislike.png"; 
    } else { 
     likes+=1; 
     liked = true; 
     document.getElementById('alike').src = "img/icons/like1.png"; 
    } 
    } else { 
    <?php header("Location:login");?> 
    } 
} 

私はどのようにこのするためにJavaScript内部のユーザiのPHPにできることは、ログインページにユーザーをリダイレクトします。私はアヤックスなどのような他のものを使用する必要はありません。ありがとう。

+0

'window.location'は、あなたが探しているものかもしれないのですか? –

+0

* "javascript redirect" *の簡単なウェブ検索は、あなたの質問に答えてくれました – charlietfl

答えて

1

JSを使用してリダイレクトする場合は、PHP header()を使用する必要はありません。他のコメントで述べたように、あなたがwindow.location.href = "your_url";のようなものを使用したいjavsascriptでリダイレクトするには、

window.location.href = "your_url"; 

//or 

window.location = "your_url"; 

//or 

location.href = "your_url"; 

//or 

location = "your_url"; 
1

:あなたは、単にwindow.locationプロパティを使用することができます。

PHPとJavaScriptの関係を誤解されているように見えるので、これからもあなたを助けるために追加情報があります。

ナットシェルでは、javascriptからPHP関数を呼び出すことはできません。 PHPコードとJavaScriptコードは、リクエストサイクルで2つの非常に異なる時間に実行されます。 PHPはサーバーによって実行され、JavaScriptはクライアント(ブラウザ)によって運営されている

PHP

あなたはそれを受け、要求がサーバーにクライアント(ブラウザ)によって送られるWebページをロード応答を返します。

PHPは受信側のサーバで実行され、それは非常に簡単に言えば、ブラウザに返信する応答を生成することです。したがって、html、javascriptなどを生成する可能性があります。

PHPを使用してhtmlを出力できます(例:<?php echo 'Hello world'; ?>)。

PHPが応答を送信したら、これはPHP用のゲームオーバーです。

HTMLとJavaScript

要求するブラウザは、サーバが送信した応答を受け取ることになりますし、それを処理します。 HTMLの場合、ページをレンダリングし、JavaScriptが実行されます。

Javaコードはクライアント上で実行されている間に、PHPコードがサーバー上で実行されたため、JavaScriptはとにかくPHPとやり取りできません。

それがそうでなければあなた自身が、今後同様の問題に実行して見つけることができます、クライアントとサーバの間で異なるを理解することが重要です:)

関連する問題