-1

別のページのフォームに収集されたデータを使用してHTMLページを生成しようとしています。このタグは、次の形式のhtmlページにあります。

<html>
<body>

<meta http-equiv="cache-control" content="private" > 
<link rel="stylesheet" type="type/css" href="vytran_css.css" />


<head> New Product Introduction </head>

<p> In order to begin the process of introducing a new product, please complete
the following form. Once you are satisfied with your responses to the various 
prompts, please click on the submit button at the bottom of the page. If you 
would like to start over, click the Reset button. If you have any questions, 
Please follow the link that says "Help".


<form action="html_data.php" id=from1 method="post"> 
Product Name: 
<input name="Name" size="20" type="text">
<br><br>

Project Lead Name:
<input name="PLname" size="20" type="text"> <br><br>

Team-members: <br>
<textarea name="Team-members" rows=10 cols=40 type="text"> </textarea> <br><br>

Product Type: <br>
<input name="Product Type" size="20" type="text"> <br><br>

Description: <br>
<textarea name="Description" rows=10 cols=40 type="text"> </textarea>
<br>

<br> <br>



<input value="Submit" type="submit" name="formSubmit">
<input value="Reset" type="reset">
<input value="Help" type="button" onclick="window.location.href='problems.html'">
</form>
</p>

</body>
</html>

html_data.phpページには次のものがあります。

<?php 
    ob_start(); // start trapping output 
    $name = @$_POST['Name']; 
?> 
<html> 
<body> 
<p> 
Product Name: <?php echo $Name; ?><br> 
Project Lead: <?php echo $PLname; ?><br> 
Team Members: <?php echo $Team-members; ?><br> 
Description: <?php echo $Description; ?> 
</p> 
</body> 
</html> 
<?php 
    $output = ob_get_contents();  
    $newfile="output.txt";  
    $file = fopen ($newfile, "w");  
    fwrite($file, $output);  
    fclose ($file);   
    ob_end_clean();  
?> 

これは私がそれをするように頼んでいることをするはずです。フォームは問題なく送信されますが、送信するとページが見つかりません。何を変更する必要があるか考えてみてください。

4

1 に答える 1

1

あなたのフォームで

から変更する

<textarea name="Team-members" rows=10 cols=40 type="text">

<textarea name="Team_members" rows=10 cols=40 type="text">

html_data.php

から変更する

<?php echo $Team-members; ?> <?php echo $Team_members; ?>

チームとメンバーの間のダッシュには明らかに問題があります。

  • PHPは、ハイフンを数学演算として扱い、マイナスになっています。

  • すなわち:チームマイナスメンバー

次に、echo送信後にデータをスクリーニングする場合は、次のように追加します。

echo $output;

下にob_end_clean();

これは私のために働いた。

于 2012-06-14T16:01:28.167 に答える