4

私は基本的なWebページをコーディングしていますが、要件の1つは、phpファイルを介して入力を送信するhtmlフォームです。

私はhtmlファイルに以下をコーディングしました:

<form method="post" action="formsubmit.php" name="Contact Form" id="contactform" enctype="multipart/form-data">
        <fieldset>
            <legend align="center">
                Your Details
            </legend>

            <p>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

                <label for="fname">First Name: </label>
                <input type="text" id="fname" required/>

                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

                <label for="sname">Surname: </label>
                <input type="text" id="sname" required/>

                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

                <label for="email">Email Address: </label>
                <input type="email" id="email" required/>

                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

                <label for="phone">Phone Number: </label>
                <input type="tel" id="phone" required/>
                <br />
                <br />

            </p>


        </fieldset>
                <fieldset>

            <legend align="center">
                Third Parties
            </legend>
            <p>
                <label for="sharedetails">Tick this box if you would like to recieve ticket and event information from our carefully selected third parties.</label>
                <input type="checkbox" name="sharedetails" value="sharedetailsno" id="sharedetails" />
            </p>
            <p>
                <input type="submit" value="Submit" />
                <input type="reset" value="Clear" />

            </p>
        </fieldset>
    </form>

次に、次のphpファイルを作成しました。

<html> 
<head> 
<title>Process Feedback</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head>
<body>

<?php
$fname = $_POST["firstname"];
$sname = $_POST["surname"];
$email = $_POST["email"];
$phone = $_POST["phone"];

$sharedetails = $_POST["sharedetails"];

print "test test $fname $sname $email $phone test test"; 
?>



</body> 
</html> 

明らかに、phpファイルはまだテスト段階にあり、正しいデータ出力などで適切にフォーマットする前に、送信されたデータを返すだけです。

ただし、フォームを送信するたびに「内部サーバーエラー」が返され続けます。私はインターネットで答えを検索し、同様の投稿を見つけましたが、私の問題を助けたものはありません

ローカルシステムでApacheサーバーを実行しています。¿問題はいくつかの設定ミスである可能性がありますか?

フォームデータを取得してphpファイルに適切に送信できれば、残りのhtmlページ/出力ページをフォーマットできます。

4

2 に答える 2

1

name最初のページのフォーム属性を$_POST、2 ページ目の配列要素と同じに設定する必要があります。

これは、最初のページのコードである必要があります。

<form method="post" action="formsubmit.php" name="Contact Form" id="contactform" enctype="multipart/form-data"> 
        <fieldset> 
            <legend align="center"> 
                Your Details 
            </legend> 

            <p> 
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

                <label for="fname">First Name: </label> 
                <input type="text" name="fname" id="fname" required/> 

                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

                <label for="sname">Surname: </label> 
                <input type="text" name="sname" id="sname" required/> 

                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

                <label for="email">Email Address: </label> 
                <input type="email" name="email" id="email" required/> 

                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

                <label for="phone">Phone Number: </label> 
                <input type="tel" name="phone" id="phone" required/> 
                <br /> 
                <br /> 

            </p> 


        </fieldset> 
                <fieldset> 

            <legend align="center"> 
                Third Parties 
            </legend> 
            <p> 
                <label for="sharedetails">Tick this box if you would like to recieve ticket and event information from our carefully selected third parties.</label> 
                <input type="checkbox" name="sharedetails" value="sharedetailsno" id="sharedetails" /> 
            </p> 
            <p> 
                <input type="submit" value="Submit" /> 
                <input type="reset" value="Clear" /> 

            </p> 
        </fieldset> 
    </form> 

これは、formsubmit.php のコードです。

<html>  
<head>  
<title>Process Feedback</title>  
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
</head> 
<body> 

<?php 
$fname = $_POST["fname"]; 
$sname = $_POST["sname"]; 
$email = $_POST["email"]; 
$phone = $_POST["phone"]; 

$sharedetails = $_POST["sharedetails"]; 

print "test test $fname $sname $email $phone test test";  
?> 



</body>  
</html>  
于 2012-10-10T16:08:46.737 に答える
0

雑然としすぎて、最初は基本を使用するだけです。

取り除く

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

ID を正しく使用していません

$_POST["fname"];

代わりに: $_POST["firstname"];

出力を結合してエコーする必要があります

echo "test test ".$fname.$sname.$email.$phone."test test"; 
于 2012-10-10T16:09:25.400 に答える