2011-11-15 12 views
0

ログイン時にJSを使用してプロフィールページに誘導しようとしています。 URLにプロファイルIDを取得する必要がありますが、機能していません。JSファイルのPHPを使用

  if(data == 'success'){ 
       window.location = 'profile.php?id=<?= $user_id ?>'; 
      } else { 
       $('#signin_errors').html(data); 
      } 

アドバイスはありますか?あなたのhttpd.conf

AddType application/x-httpd-php .php .js 
+1

を持っていますか?または完全なPHPタグを使用してください。 – Sarfraz

+1

[short_tags enabled](http://php.net/manual/ini.core.php)がありますか? –

+0

答えが記載されているので、これがPHPファイル(またはPHPで処理するように設定したファイル)にあることを確認してください。 –

答えて

3

これはそれ<script src="blah.php"></script><script src="blah.js"></script>変更に含まれるファイルがあるとblah.php

<?php header("Content-type: application/x-javascript"); 
$user_id = "whatever"; ?> 

if(data == 'success'){ 
    window.location = 'profile.php?id=<?php echo $user_id ?>'; 
} else { 
    $('#signin_errors').html(data); 
} 
0

作業。たとえば:あなたはファイルの.jsにこれを置けば

<?php 
echo "blablabla"; 
?> 
<script> 
if(data == 'success'){ 
       window.location = 'profile.php?id=<?= $user_id ?>'; 
      } else { 
       $('#signin_errors').html(data); 
      } 

</script> 

しかし、それは動作しません!これはPHPファイルではないため、JSファイルです。 ApacheはJSファイルの中のphpコードを読みません。

+0

私はそれをしないことをお勧めします。そうすると、サーバー上で作業が非常に大きくなります。 .phpファイルでjsコードを使用し、それに応じて作業することが最善です – brunoais

+0

私はPHPの動作を説明していました。私は彼の特定の状況を知りません:) – SERPRO

0

あなたが直接PHPファイルにこれを置くことができる場合それはよにそれを追加しない限り、サーバーがそれを認識しませんので、あなたは、あなたのJavaScriptファイルにPHPを追加することはできません

1

にこのコードを貼り付けた場合はちょうどあなたの.htaccessに次の行を追加します

AddType application/x-httpd-php .php .js 
2
あなたは印刷する必要があり

やエコー変数。

if(data == 'success'){ 
    window.location = 'profile.php?id=<?php print $user_id; ?>'; 
} 
else { 
    $('#signin_errors').html(data); 
} 
0

私は最良の方法は、これをPHPファイル内で行い、そこに必要なスクリプトをエコーすることだと思います。必要なcharをエスケープしてください。以下のような

何か:あなたは短いPHPのタグはphp.iniのからオン

echo "<script type=\"text/javascript\"> 
window.addEvent('domready', function() { 

    myjavascriptcode(); 
$('mybutton').set('html', '<input id=\"mybutton\" type=\"submit\" value=\"" . $php_variable . "\" />'); 
}); 
</script>"; 
関連する問題