PHP- Isset()函数,checkin参数

时间:2014-04-27 21:37:33

标签: php isset

我需要帮助找出isset函数的正确PHP编码。

我无法准确理解我需要对isset()函数做些什么。下面我有分配说明,我已经完成了 part b 的结尾,使用isset()函数检查查询字符串中是否存在参数。当我构建表单时,表单操作是" GET" ,因为它需要在查询字符串中,这也是正确的吗?

我唯一的两个变量是Value1Value2,它们由用户输入。

SimpleCalculator.php - 编写一个脚本,从查询字符串中检索两个值,将它们相加并显示结果。

步骤:

  
      
  1. 从HelloForm.php复制代码并修改它以显示两个文本框。将输入的值分配给名为value1value2的变量。

  2.   
  3. 在PHP代码中,将查询字符串中的参数分配给名为$value1$value2的局部变量。您需要使用isset()函数来检查这两个参数是否在查询字符串中。

  4.   
  5. 将变量回显到浏览器以确保它们已被正确检索。

  6.   
  7. 使用以下语句添加并打印值:

         回声'总和是:' 。 ($ Value1 + $ Value2);

  8.   

这是我到目前为止所做的:

<html>
    <head>
        <title>Sample web form</title>
        <link href="/sandvig/mis314/assignments/style.css" rel="stylesheet" type="text/css">
    </head>

<body>
<div class="pageContainer centerText">

<h2>Simple Calculations </h2>
<hr />

<form method="get" >
    Please enter two numbers:<br><br>
    Value 1: <input type="text" name="Value1" autofocus> <br><br>
    Value 2: <input type="text" name="Value2" autofocus> <br><br>
    <input type="submit" value="Add">
 </form>

 <?php

 $value1 = $_GET ['Value1'];
 $value2 = $_GET ['Value2'];

 //Retrieve name from querystring. Check that parameter
 //is in querystring or may get "Undefined index" error

 echo 'Value 1 was:' . ($value1);
 echo 'Value 2 was:' . ($value2);
 echo 'Sum is: ' . ($value1 + $Value2);

 ?>
</div>
</body>
</html>

4 个答案:

答案 0 :(得分:0)

如果未设置该值,则不会说明该怎么做,但这是获取值的最佳方法。如果未设置$ value1或$ value2,则可能会显示错误。在下面的示例中,它们将为null。

$value1 = isset($_GET['Value1']) ? $_GET['Value1'] : null;
$value2 = isset($_GET['Value2']) ? $_GET['Value2'] : null;

http://www.php.net/isset

答案 1 :(得分:0)

<?php

if(isset($_GET))
{
    $value1 = isset($_GET ['Value1']) ? $_GET ['Value1'] : null;
    $value2 = isset($_GET ['Value2']) ? $_GET ['Value2'] : null;

   //Retrieve name from querystring. Check that parameter
   //is in querystring or may get "Undefined index" error

   echo 'Value 1 was:' . ($value1);
   echo 'Value 2 was:' . ($value2);
   echo 'Sum is: ' . ($value1 + $Value2);
}
?>

答案 2 :(得分:0)

首先,检查this manual关于isset()功能。

它是如何工作的?

$value1 = isset($_GET ['Value1']) ? $_GET ['Value1'] : null;
$value2 = isset($_GET ['Value2']) ? $_GET ['Value2'] : null;

现在,如果用户在查询字符串中发送了Value1参数,那么将为$value1变量分配该数据;如果不分配null。与value2相同。

简单:)

答案 3 :(得分:0)

考虑我的get()函数的这个例子:

<?php

$arr = [];

var_dump( get($arr,'a','b') ); // NULL

$arr['a']['b'] = 'ab';
var_dump( get($arr,'a','b') ); // 'ab'

//var_dump(get($arr,'aa'));

/*
    Get with safety
    @author: boctulus

    @param array 
    @param index1
    @param index2
    ..
*/
function get(){ 
    $numargs  = func_num_args();
    $arg_list = func_get_args();

    $v = $arg_list[0];  

    for ($i = 1; $i < $numargs; $i++) 
    {
            if (isset($v[$arg_list[$i]]))
            $v = $v[$arg_list[$i]];
        else
            return null;
    }

    return $v;
}
你知道吗?你可以毫无风险地获得:)