2012-04-02 4 views
0

いくつかのPHPコードを実行した後、要素の内容を更新しようとしています。私は、PHPが最初に実行されることを実現するが、私は要素を見つけることができるページを読み込むことによって考えた?しかし、コンソールはnullの要素を見つけることができないので、innerHTMLコードが実行される前にページが読み込まれていないと思います。PHPがinnerHTMLを返す

誰でもいいですね。

else if(strlen($_POST['username']) < 6){ 
    header("Location: http://webpage/register.html"); 
    echo "document.getElementById('elemID').innerHTML = usename too short"; 
} 
+1

afaikあなたは場所を指定してヘッダーを設定した後、何もエコーすることはできません。 – k102

答えて

5

header()は、したがってregister.htmlの内容はすでにサーバーによって異なる方法で処理されるよう、あなたのクライアントには影響を作らないであろうと後を出力し、新しい場所に移動するようにクライアントに指示します。

あなたの代わりにPHPを使用するようにregister.htmlを変更することができた場合は、その後、あなたのregister.php

if(!empty($_GET['msg'])) echo $_GET['msg']; 
2

まずで、あなたが本当に後に任意のロジックを持つべきではありません

header("Location: http://webpage/register.php?msg=username%20too%20short"); 

を渡すことができますあなたのヘッダーの場所のリダイレクト。リダイレクトする前にブラウザに次の行が表示されることを保証できないので、リダイレクト後に「終了」または「終了」することをおすすめします。実際には、コードを頻繁に見ないようにすることができます。あなたの中に続いて

header("Location: http://webpage/register.php?error=username%20too%20short"); 

register.phpは(私はそれを名前を変更:

あなたは、リダイレクトあなたのリダイレクトURLの引数としてごエラーを入れて、このようなエラーを示してそこにロジックを持っているつもりなら.htmlからエラーの引数を読むことができます)。次のようなエラーを参照できます。

$error = $_GET['error']; 
if (!empty($error)) { 
    //write your error out in some markup or javascript... 
} 
関連する問題