未定义的变量再次使用isset和错误

时间:2014-02-10 08:47:47

标签: php

我有这个小代码。它在HTML中获得3个值,并应使用1个函数回显它们。 但是我看到了错误!我不知道问题所在。

错误:

  

警告:在C:\ Program Files中调用的日期()缺少参数1   (x86)\ EasyPHP-5.4.0RC4 \ www \ test \ index.php在第20行并定义于   第17行的C:\ Program Files(x86)\ EasyPHP-5.4.0RC4 \ www \ test \ index.php

     

警告:在C:\ Program Files中调用的dates()缺少参数2   (x86)\ EasyPHP-5.4.0RC4 \ www \ test \ index.php在第20行并定义于   第17行的C:\ Program Files(x86)\ EasyPHP-5.4.0RC4 \ www \ test \ index.php

     

警告:在C:\ Program Files中调用的dates()缺少参数3   (x86)\ EasyPHP-5.4.0RC4 \ www \ test \ index.php在第20行并定义于   第17行的C:\ Program Files(x86)\ EasyPHP-5.4.0RC4 \ www \ test \ index.php

     

注意:未定义的变量:在C:\ Program Files中使用hafte   (x86)\ EasyPHP-5.4.0RC4 \ www \ test \ index.php第18行

     

注意:未定义的变量:C:\ Program Files中的rooz   (x86)\ EasyPHP-5.4.0RC4 \ www \ test \ index.php第18行

     

注意:未定义的变量:在C:\ Program Files中   (x86)\ EasyPHP-5.4.0RC4 \ www \ test \ index.php第18行

代码:

<form method="POST" name="my">
<input type="text" name="hafte"><br>
<input type="text" name="rooz"><br>
<input type="text" name="mah"><br>
<input type="submit" name="submit">
</form>
<?php
if (isset($_POST['hafte'])){
$hafte = $_POST['hafte'];
}
if (isset($_POST['rooz'])){
$rooz = $_POST['rooz'];
}
if (isset($_POST['mah'])){
$mah = $_POST['mah'];
}
function dates($hafte,$rooz,$mah) {
    echo $hafte." ye ".$rooz." ye ".$mah;
}
dates();
?>

3 个答案:

答案 0 :(得分:2)

使用

之类的参数调用您的函数
function dates($hafte,$rooz,$mah) {
    echo $hafte." ye ".$rooz." ye ".$mah;
}
dates($hafte,$rooz,$mah);

答案 1 :(得分:1)

您的问题是,无论何时加载页面,它都会执行表单处理的PHP代码。

你不想采用两阶段方法:

首先显示表格

第二次处理已处理的表格。

像这样的东西

    if(!isset($_POST['hafte'])) {
?>
<form method="POST" name="my">
<input type="text" name="hafte"><br>
<input type="text" name="rooz"><br>
<input type="text" name="mah"><br>
<input type="submit" name="submit">
</form>
     <?php
       } else {
       // the code to handle the form 
      }

是的,你没有把任何参数传递给日期。实际定义函数是否有意义?为什么不jut echo $ hafte。“ye”。$ rooz。“ye”。$ mah;

答案 2 :(得分:1)

<form method="POST" name="my">
<input type="text" name="hafte"><br>
<input type="text" name="rooz"><br>
<input type="text" name="mah"><br>
<input type="submit" name="submit">
</form>
<?php
if(isset($_POST["submit"]))
{
    $hafte = $_POST['hafte'];   
    $rooz = $_POST['rooz'];
    $mah = $_POST['mah'];
    dates($hafte,$rooz,$mah);
}

function dates($hafte,$rooz,$mah) {
    echo $hafte." ye ".$rooz." ye ".$mah;
}

?>
try this.