1

我对 PHP 很陌生,但它是很棒的语言 :)

我创建了简单的数学计算脚本,它根据变量从表单中获取输入并执行简单的计算。我希望结果以另一种形式显示,而不是简单地显示在页面底部。

<html>
<body>
<p>Simple PHP script for cloning calculations</p>
<form name="form1" method="post" action="">
<p>
<label for="vector_lenght">La taille du vecteur (kb)</label>
<input type="text" name="vector_lenght" id="vector_lenght">
</p>
<p>
<label for="insert_lenght">La taille de l'insert (kb)</label>
<input type="text" name="insert_lenght" id="insert_lenght">
</p>
<p>
<label for="conc_insert">La concentration de l'insert</label>
<input type="text" name="conc_insert" id="conc_insert">
</p>
<p>
<input type="submit" name="ratio_calc" id="ratio_calc" value="Calculer">
</p>
<p>
<label for="ratio">Le ratio à utiliser</label>
<input type="text" name="ratio" id="ratio">
</p>
<p>
<label for="ratio_1">ratio 1:1</label>
<input type="text" name="ratio_1" id="ratio_1">
<br>
<label for="ratio_3">ratio 1:3</label>
<input type="text" name="ratio_3" id="ratio_3">
<br>
<label for="ratio_5">ratio 1:5</label>
<input type="text" name="ratio_5" id="ratio_5">
</p>
</form>

<?php

if($_POST['ratio_calc']!=''){ 
define("conc_vector", 100);
$vector_lenght = $_POST['vector_lenght']; 
$insert_lenght = $_POST['insert_lenght'];
$conc_insert = $_POST['conc_insert'];
$result = (conc_vector * $insert_lenght) / $vector_lenght; 
echo "<h1>$result</h1>"; 
} 


?>

</body>
</html>
4

1 回答 1

3

在您的开始表单标签中,“action”属性指定了哪个文件应该接收您提交表单时创建的 HTTP 请求。因为它现在的值是一个空字符串,并且脚本默认将数据发布回当前脚本。

(我假设这种其他形式在不同的页面中 - 如果没有,请跳到最后一个代码片段)

因此,创建另一个 PHP 脚本来表示您希望包含结果的页面,并将新脚本的名称作为“action”属性的值。在新脚本中,您可以通过 $_POST[] 超全局检索表单发送的值(与您在发布的代码中的方式相同)。

如果新页面名为 resultPage.php(并且与您发布的脚本位于同一目录中),您的表单标签应如下所示:

<form name="form1" method="post" action="resultPage.php">

如果您希望数据显示在新页面的表单中,请执行以下操作:

<input type="text" value="<?php echo $_POST['conc_insert'] ?>">
于 2013-04-13T02:00:11.667 回答