将html输入作为php的变量

时间:2018-11-06 10:41:09

标签: php html input

这是我的第一篇文章。非常抱歉,如果我输入的格式错误:)

我正在尝试构建一个程序,该程序使用html请求输入,将该输入设置为php变量,然后计算该变量。除了输入部分,一切准备就绪,我觉得这非常具有挑战性。我的代码如下:

<?php
$x = 1;
$answer = ($x = 1);
if($answer) {
    echo "The answer is: True"; 
} else {
    echo "The answer is: False";    
}
?>

我要设置的变量是($ x = 1)部分。该代码的目的是查看数学计算是对还是错。该代码已经过测试。

我已经在互联网上搜索了答案,可悲的是,我只看到了与问题截然不同的答案。

6 个答案:

答案 0 :(得分:0)

为此,您需要具有一个表单,该表单可以将值提交到计算脚本或如果脚本在同一页面中的同一页面。

  

在您的脚本中,您也没有进行任何比较,因为条件始终为true,答案始终为1,条件始终满足,因此您可以像示例中那样比较用户输入与答案。

例如calc.php

<?php 
echo"<form method="POST" action="">Your answer:<input type="text" name="val" /><br><input type="submit" /></form>";
@$val=$_POST['val'];
if($val){
    $answer = 1;
    if($answer==$val) {
    echo "The answer is: True"; 
    } 
    else {
        echo "The answer is: False";    
    }
}
?>

答案 1 :(得分:0)

在PHP中,'='表示赋值运算符。 相等的检查运算符应为'=='

因此,您的代码应重构为:

    <?php

    $x = 1;

    $answer = ($x == 1); // this will return true or false

    if($answer) {
       echo "The answer is: True";    
    } else {
       echo "The answer is: False";
    }


    ?>

您也可以使用三元运算符来缩短代码,而不是像这样的if / else语句:

    <?php

    $x = 1;

    $answer = ($x == 1); // this will return true or false

    echo $answer ? 'The answer is: true' : 'The answer is: false';


    ?>

答案 2 :(得分:0)

您需要创建表单以从html获取输入。创建表单有很多不同的方法。

我认为您是入门者,因此只需在同一页面上创建表格即可。

您可以将php代码与html表单分开,如下所示,将您的php代码写在页面顶部

    <?php
if(isset($_POST['submit'])){
    $x = $_POST['myinput'];

    $answer = $x;

    if($answer) {
    echo "The answer is: True"; 

     } else {
        echo "The answer is: False";    
     } 
    }   
     ?>


    <form method="POST" action="">
    <input type="Text" name="myinput" >
    <inpu type="submit" name="submit" value="submit button">
    </form>

action =“”用于同一页面。如果您想为html部分使用单独的页面,则可以执行action =“ yourPHPPage.php”

答案 3 :(得分:0)

这是你的意思吗?

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <?php
      if (isset($_POST['submit'])) {

        $answer = $_POST['input'];

        if($answer == 1) {
        echo "The answer is: True"; 

        } else {
            echo "The answer is: False";    

        }
    }

    ?>
    <form action="" method="post">
        Enter value: <input name="input" type="text" />
        <input name="submit" type="submit" />
    </form>
</body>

</html>

答案 4 :(得分:0)

您当前的代码有一个小问题:您正在使用=将值与另一个值进行比较,这是行不通的,单个=用于分配一个变量。您应该改用==

当您要使用用户的输入时,将需要一个名为$_POST的东西,您可以使用method="POST"属性在表单中设置此方法。提交表单后,它将创建一个包含表单中值的数组。

然后,您可以使用某个键来访问这些值,该键等于表单中输入,选择或textarea的name=""属性。

示例


考虑此表单,并提供一些PHP代码:

<form method="post">
    <input type="text" name="myName" placeholder="Enter your name!">
    <input type="submit" value="Submit">
</form>

<?php
// When the server gets a $_POST request
if($_SERVER['REQUEST_METHOD'] == 'POST') {

    // Set the variable name to whatever the user put in
    $name = $_POST['myName']; // equal to the name="" attribute in the form

    echo "Hello, " . $name . "!";

}
?>

如果我使用自己的名字提交表单,它将回显:Hello, rpm192!


对于您的情况,它看起来像这样:

<form method="post">
    <input type="number" name="answer" placeholder="Your answer">
    <input type="submit" value="Submit answer">
</form>

<?php

// When the server gets a $_POST request
if($_SERVER['REQUEST_METHOD'] == 'POST') {

    // Set the variable X to whatever the user put in
    $x = $_POST['answer'];

    $answer = ($x = 1);

    // Check if $answer is true or false
    if($answer) {
        echo "True!";
    } else {
        echo "False!";
    }

}

?>

答案 5 :(得分:-1)

由于目的是检查数学函数的值是True还是False,所以我提出了一个简单的CLI脚本。

<?php
 print ((isset($argv[2]) && ($argv[2] === 1)) ? "\nAnswer is True\n\n" : "\nAnswer is false\n\n");

将其另存为myfile.php 打开命令行导航到该文件夹​​并输入

>php myfile.php 1 // Returns Answer is True

因此,如果要更改输入,也可以这样做。

>php myFile.php 4 // Answer is False

请注意,如果您要传递字符串“ 1”,则该字符串也将返回True。