2016-05-27 14 views
0

1番目のフォームは顧客IDを要求します。関連する顧客がデータベースから抽出され、次に2番目のフォームがデータベースに更新される新しい(変更された)アドレスを要求します。 私はこれがすべて同じページで起こることを望みます。私は物事のデータベース側で問題はありませんが、私はちょうど正しく動作するように2番目のフォームを取得することはできません。 何も起こりません。 私は何が間違っていますか? 「アドレスを送信」ボタンが押されたときに同じページに2つのHTML/PHPフォームがあります

<!DOCTYPE html> 

<head><title>Test Page</title></head> 
<body> 
<h2>Data Collection</h2><p> 

<form name="Form1" method="post" action="<?php $_SERVER[ 'PHP_SELF' ]; ?>" > 
Enter Customer ID <input type="text" name="cust" > 
<br> 
<input type="submit" name="submit1" value="Submit ID"><br> 
</form> 

<form name="Form2" method="post" action="<?php $_SERVER[ 'PHP_SELF' ]; ?>" > 
New Address : <input type="text" name="newaddress"> 
<br> 
<input type="submit" name="submit2" value="Submit Address"><br> 
</form> 

<?php 
if ($_SERVER[ "REQUEST_METHOD" ] == 'POST') { 
if (isset ($_POST[ "submit1" ])) {echo $_POST["cust"];} 

if ($_SERVER[ "REQUEST_METHOD" ] == 'POST') { 
if (isset ($_POST[ "Submit2" ])) {echo $_POST["newaddress"];} 
        }} 

?> 
</body> 
</html> 

「newaddress」エコーしません: はここに関連するコードのサンプルです。 カール

答えて

1

あなたはif文にタイプミスを持っている - あなたのコードではそれがないときSubmit2は資産計上された - あなたのphpは次のようになります。

if (isset ($_POST[ "submit2" ])) {echo $_POST["newaddress"];} 

、あなたが削除することで、とにかくあなたのif文を簡素化することができますもしさんの1:

<?php 
    if ($_SERVER[ "REQUEST_METHOD" ] == 'POST') { 
     if (isset ($_POST[ "submit1" ])) {echo $_POST["cust"];} 
     if (isset ($_POST[ "Submit2" ])) {echo $_POST["newaddress"];} 
    } 
?> 

ともアクセシビリティを - あなたは、入力されたIDにリンクされているラベルを含める必要があります - あなたは同様にあなたの入力を終了する必要があります。

<label for ="newAddress">New Address : </label> 
<input type="text" id="newAddress" name="newaddress" /> 

とも - あなたは<h2>の端部の開口部<p>が、ノークロージング</p>を持っているように見える、それは削除する必要があります。

<h2>Data Collection</h2> 
関連する問題