【问题标题】:Notice: Undefined variable: value_1 in C:\xampp\htdocs\joyce\projectcal.php on line 29注意:未定义的变量:第 29 行 C:\xampp\htdocs\joyce\projectcal.php 中的 value_1
【发布时间】:2017-02-03 20:49:27
【问题描述】:
<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title> calculator </title>
 </head>
 <body bgcolor="goldenrod">

<center>
<h1>Calculator Application</h1>

<form action="projectcal.php" method="POST">

Type value1:<br/><input type="text" name="value1"><br/><br/>
Type value2:<br/><input type="text" name="value2"><br/><br/>
Calculation sign:<br/><input type="text" name="action"><br/><br/>
<input type="submit" name="submit" value="Submit">

</form>
</center>

上面..创建用于放置值的html表单...下面是源代码..

<?php

if(isset($_POST['submit']))
{   

存储在本地变量中

  $value_1=$_POST['value1'];
  $value_2=$_POST['value2'];
  $action=$_POST['action'];
}         

if($value_1=='' || $value_2=='')                //errorline
{
   echo "<script>alert('Please Enter Any Value')</script>";   //if user enters blank value
   exit();
   }

   if($action=='')
   {
    echo "<script>alert('Please Enter the Operator Sign')</script>"; 
   }  

使用数组来缩短代码

   if(in_array($action,array('+','-','*','/')))     

如果用户输入任何上述登录操作字段..比它会回显该值..我通过使用这个得到结果...但错误不是从第 29 行开始

   switch($action)
    {  
     case '+': 
       echo "Your answer is ";   
       echo $value_1+$value_2;
     break;

     case '-': 
       echo "Your answer is ";
       echo $value_1-$value_2;
     break;

     case '*':
       echo "Your answer is ";
       echo $value_1*$value_2;
     break;

     case '/':
       echo "Your answer is ";
       echo $value_1/$value_2;
     break;   
  }
 ?>


</body>
</html>

希望现在清楚

【问题讨论】:

  • 您的错误似乎与您的代码不匹配。您确定粘贴了您正在运行的内容吗?
  • 看起来您只是在 isset 返回 true 时才设置该变量(它似乎没有这样做),但无论哪种方式,您稍后仍在尝试使用这些变量。
  • 是的,我粘贴了我正在运行的代码...有关更多信息,我添加了一些要点...以及整个代码..@Andy C
  • .......我正在设置,如果用户在 value1 和 value 2 中输入任何数字 ..用户可以输入任何值进行计算。 @MagnusEriksson ....我是编程新手。我第一年从大学开始做这项工作..

标签: php


【解决方案1】:

可能是您忘记初始化文件中使用的变量。

//initialize the variable with your desire value 
$value_1 = '';
$value_2 = '';
$action = '';

在文件开头尝试此代码。我希望它能解决你的问题。

【讨论】:

    【解决方案2】:

    $_POST[value1] 中没有值。运行

    var_dump($_POST);  
    

    到您的屏幕来调试该问题。它会向您显示您缺少的变量。我还建议您查看您的用例。

    【讨论】:

    • 我创建了一个视图和控制器来处理您的代码,我没有收到任何错误。我在一个或所有字段中使用空值对其进行了测试,我使用实际内容对其进行了测试,并将 $_POST 变量转储到屏幕上,它工作正常。
    猜你喜欢
    • 2015-04-25
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多