2017-09-18 85 views
0

我想要使用链接到两个不同页面的一个页面。下面是我的场景:PHP检查变量是否设置

1)用户点击超链接将指向页面的URL
2)用户直接导航到该页面,并没有salesID在URL
通过了salesID

我们了解每个以上情况 - >

1)如果salesID IS NULL然后从页面
2)获得参数如果salesID IS NOT NU LL然后的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 
     } 
    } 
?> 
+0

出于好奇,你为什么不只是填充用PHP的形式呢? – entiendoNull

回答

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"; 
0

你应该改变$salesID = urldecode($_GET['salesID']);$salesID = to_utf8($_GET['salesID']);

,然后简单地if(isset($salesID) {}

GET已经被解码,并且您已经已经将其声明为一个变量。

我不确定你在问什么,但一般情况下不工作,但这两个改变应该可以帮助它按预期工作。