2017-10-23 11 views
1

申し訳ありませんが、私のPHPファイルでは、大きなif-loopの途中からリダイレクトするプログラムが必要です。ただし、バックグラウンドで私はリフレッシュ「レート」を取得する場所から、SQLクエリを実行し<meta http-equiv = "refresh" content = "url =" />の変数値を使用していますか?

echo '<meta http-equiv="refresh" content="2; url='www.google.com'"/>'; 

: は、私は正常のように、私は手動で秒を設定したときに別のページにリダイレクトするようにコマンドを使用することができます。私は変数に合格している、と私はこのような変数値を使用することを値:問題がどこにある

echo '<meta http-equiv="refresh" content="'.$refreshvalue.'; url='www.google.com'"/>'; 

は私は知りません。私のプログラムでは、値を手動で設定するとすべてが意図どおりに動作しますが、変数から値を取得しようとすると、プログラムは単にリダイレクトを実行しません。

クエリは私に正しい値を与え、変数に渡すことができます。しかし、構文に何か間違っていると思います。私は他の方法のカップルを試してみました。

また、 'meta'やPHP関数のheader()を使用する簡単な方法があれば、私はそれについてもっと知りたいと思っています。

私の構文が間違っているのですか、それとも何ですか?

+0

達成しようとしていることはありますか?あなたがPHPを強制的にクライアント側として動作させようとしているようです。 – hassan

+0

PHPで 'header()'関数を使用できない理由はありますか? PHPコンパイルが実行され、最初に実行されてから、それ自身のHTMLコピーが表示されます。 'header()'と 'exit()'を使うと、ヘッダー内のメタタグを設定するのとは異なる効果があります。ヘッダータグは、ページが表示されているときにのみ実行されるため、実行されません。 – IsThisJavascript

+0

@hassan基本的な考え方は、別のSQLクエリでX個以上の行が返された場合、サイトは別のサイトにリダイレクトされます。私がここで達成しているのは、エンドユーザーがリダイレクト間の時間を変更できるようにしたいということです。 – Matrix166

答えて

1

確かに、$refreshvalueには有効な整数値が含まれており、すべての引用符が正しくエスケープされていますか?

$refreshvalue = 2; 
echo '<meta http-equiv="refresh" content="' . $refreshvalue . '; url=\'http://www.google.com\'"/>'; 
+0

私はここで何か愚かなことをしない限り、それはすべきです。 $ sql = "SELECT secamount FROM秒where typeid = 1"; $ result = $ mysqli-> query($ sql); $ refreshvalue = $ result; PHPmyAdminでクエリを実行すると、結果として単一の整数が返されます。 – Matrix166

+0

var_dump($ refreshvalue);価値が期待どおりであることを保証します。 – Nic3500

+0

'mysli :: query'は' mysqli_result'オブジェクトを返します。最初の行を取得し、その列から 'secamount'を入力する必要があります。 – Philipp

0

あなたには問題があります。このように変更します。

echo "<meta http-equiv=\"refresh\" content=\"" . $refreshvalue . "; url=http://www.google.com/\">";  

あなたの質問に提示されているように、あなたは、httpのほかにも「 注意してちょうどwww.google.com前に、あなたの文字列を閉じている://前に。

関連する問題