2012-11-19 64 views
0

我想根據POST結果在頂部標識符「MessageError」和「MessageOK」中顯示消息。例如:在PHP表格頂部顯示消息

<p id="MessageError"></p> 
<p id="MessageOK"></p> 

<form name="Form" method="post" action="<?php $_SERVER[ 'PHP_SELF' ]; ?>" enctype="multipart/form-data" accept-charset="UTF-8" id="Form"> 
    <input type="text" name="test" value="" /> <input type="submit" name="Submit" value="" /> 
</form> 

<?php 
if (isset ($POST[ 'Submit' ])) { 
    if ($_POST[ 'test' ]) { 
    // Echo message at "MessageOK 
    } 
    else { 
    // "Echo message at "MessageError" 
    } 

} 
?> 

任何幫助將不勝感激。

謝謝。

回答

2

移動你的表格上面的代碼打印上述錯誤信息的形成。此外,您的段落標記可以在運行中產生,避免浪費:

<?php 
    if(isset($_POST['submit'])){ 
     if($_POST['test'])echo("<p id='MessageOk'>There was an Error</p>"); 
     else echo("<p id='MessageError'>There was no error</p>"); 
    } 
?> 

如果你是在添加內容死心塌地地預創建使用PHP的div,可我建議創建一個使用PHP例如輸入:

<?php 
     $test = $_POST['test']; 
     echo("<input type='hidden' id='test' value='$test' />"); 
?> 

,然後使用JavaScript來添加數據:

if(document.getElementById('test').value){ 
    document.getElementById('MessageOk').innerHTML = 'No Error'; 
} 
else{ 
    document.getElementById('MessageError').innerHTML = 'Error ??'; 
} 
+0

謝謝你的回答。爲什麼我不把它放在最上面的原因是在rbtux答案的註釋中描述的。 – PDR

+0

謝謝。那可行。雖然我沒有看到創建隱藏輸入的原因。 – PDR

+0

要傳遞PHP和javascript之間的信息(服務器端到客戶端) – Sinkingpoint

1

在形式將你的PHP代碼,回聲消息分配給一個變量,並使用<?php echo $variable; ?>在適當的位置打印的郵件...

+0

謝謝你的回答。我不能這樣做,因爲當發現一個錯誤的腳本將**死亡**,並且表單將停止顯示。這就是爲什麼它應該在底部。 – PDR

0

請務必包括_在您的文章變量。

$_POST[]