PHP检查是否设置了变量

时间:2017-09-18 18:15:26

标签: javascript php jquery joomla

我想要使用从两个不同页面链接的一个页面。以下是我的情景:

  

1)用户单击要指向URL中具有salesID的页面的超链接   2)用户直接导航到页面,并且URL

中没有传递salesID

现在考虑上述每种情况 - >

  

1)如果salesID为NULL,则从页面获取参数   
2)如果salesID不是NULL,则onload()显示传递的salesID的所有相关数据

我知道如何编写查询以默认使用参数加载页面,并且我知道如何从按钮按下事件加载页面上捕获的参数页面。我不知道该怎么做是将两者结合起来并检查多个标准。我想要做的是在pageload()上评估条件1 - 如果将salesID传递给页面,则继续并使用该salesID的所有数据填充页面。如果条件2为真,则不填充页面,等待用户输入从选择框中选择并按下按钮。

这是我如何获得页面语法的基础知识:

<?php
    //Capture variable from URL
    $salesID = urldecode($_GET['salesID']);

    //Check if variable is set
    if (isset($_GET['salesID'])) {
        //A salesID was passed to the page so load that data by default
        //ignoring any variables set on the page
    }
    else {
        if (isset($_POST['btnpressevent'])) {
            //button has been pressed capture variables from page and run query
        }
    }
?>

2 个答案:

答案 0 :(得分:1)

你可以试试这个: -

    // if salesId is not set or is null then show form with select and button

 if (!isset($_GET['salesId']) || is_null($_GET['salesId'])) {
      $html = "<form action='samepage.php'><select><option>Select one</option><option>Item 1</option></select><button name='btnpressevent'>Press button</button></form>";
      echo $html;
      return; // or die();
    }

    // do stuff with salesId
    echo "${$_GET['salesId']} helllo w";

答案 1 :(得分:0)

您应该将$salesID = urldecode($_GET['salesID']);更改为$salesID = to_utf8($_GET['salesID']);

然后只需if(isset($salesID) {}

GET已经解码,您已经将其声明为变量。

我不确定你提出的问题究竟是什么,但通常不起作用,但这两项修改应该有助于它按预期工作。