PHP和HTML表单-输入字段中的随机值

时间:2019-05-14 19:06:47

标签: php

我写了从摄氏到华氏度的转换,反之亦然。问题是现在在表单字段中向我显示随机值。如何转换此代码,以便在输入值后,第二个字段中的转换值出现在第一个字段中?  可以只使用php吗?

if(isset($_POST['fah'])){
    $cel=($_POST['fah']+32)/1.8;
}
if(isset($_POST['cel'])){
    $fah=($_POST['cel']-32)*1.8;
}

?>
<html>
<body>


<form method="post" action="calc.php">
Fahrenheit: <input id="inFah" type="text" placeholder="Fahrenheit" value="<?php echo $fah; ?>" name="fah">
Celcius: <input id="inCel" type="text" placeholder="Celcius" value="<?php echo $cel; ?>" name="cel">
<input type="submit" value="Calc">

</form>

我希望在第一个字段中输入的值在第二个转换后显示。

5 个答案:

答案 0 :(得分:0)

如果您发回自身,则可以完成所有php。如果输入的页面是calc.php 添加else将值设置为空字符串。

if(isset($_POST['fah'])){
    $cel=($_POST['fah']+32)/1.8;
} else {
    $cel = '';
}
if(isset($_POST['cel'])){
    $fah=($_POST['cel']-32)*1.8;
} else {
    $fah = '';
}

答案 1 :(得分:0)

尝试这样的事情

$cel="";
$fah="";

if(isset($_POST['fah']) && !empty($_POST['fah'])){
    $cel=($_POST['fah']+32)/1.8;
}
if(isset($_POST['cel']) && !empty($_POST['cel'])){
    $fah=($_POST['cel']-32)*1.8;
}

答案 2 :(得分:0)

您可以尝试以下示例:

$celValue = $_POST['cel'];
$fahValue = $_POST['fah'];

if( ! empty($fahValue)){
    $celValue = fahrenheitToCelcius($_POST['fah']);
}
if( ! empty($celValue)){
    $fahValue = celciusToFahrenheit($_POST['cel']);
}

function celciusToFahrenheit($cel) {
    return ($cel - 32) * 1.8;
}

function fahrenheitToCelcius($fah) {
    return ($fah + 32) / 1.8;
}

?>
<html>
<body>


<form method="post" action="calc.php">
Fahrenheit: <input id="inFah" type="text" placeholder="Fahrenheit" value="<?php echo $celValue; ?>" name="fah">
Celcius: <input id="inCel" type="text" placeholder="Celcius" value="<?php echo $fahValue; ?>" name="cel">
<input type="submit" value="Calc">

</form>

答案 3 :(得分:0)

由于两个变量都为isset(),因此我们可以得到类似的东西

if(isset($_POST['fah']) && isset($_POST['cel'])) {
    //if cel is not empty
    if(!empty($_POST['cel'])) {
       $cel = $_POST['cel'];
       $fah=($cel-32)*1.8;
    } else if(!empty($_POST['fah']){
       $fah = $_POST['fah'];
       $cel = ($fah+32)/1.8;
    }
}

?>
<html>
<body>


<form method="post" action="calc.php">
Fahrenheit: <input id="inFah" type="text" placeholder="Fahrenheit" value="<?php echo $fah; ?>" name="fah">
Celcius: <input id="inCel" type="text" placeholder="Celcius" value="<?php echo $cel; ?>" name="cel">
<input type="submit" value="Calc">

</form>

答案 4 :(得分:0)

您只是缺少设置的默认值,如果存在其他发布值,则默认设置将被覆盖;否则,如果仅加载一个参数,则其他参数将为空

    <?php
    $cel = "";
    $fah = "";

    if(isset($_POST['fah'])){
        $cel=($_POST['fah']+32)/1.8;
    }elseif(isset($_POST['cel'])){
        $fah=($_POST['cel']-32)*1.8;
    }

    ?>
    <html>
    <body>


    <form method="post" action="calc.php">
    Fahrenheit: <input id="inFah" type="text" placeholder="Fahrenheit" value="<?php echo $fah; ?>" name="fah">
    Celcius: <input id="inCel" type="text" placeholder="Celcius" value="<?php echo $cel; ?>" name="cel">
    <input type="submit" value="Calc">

    </form>