php - isset按钮

时间:2012-02-17 07:45:45

标签: php isset

我尝试解决问题,但没有成功。我从谷歌分析中检索数据,我必须发送开始和结束日期。我有两个文本框和用户选择开始和结束日期。但是,在用户选择enter image description here开始和结束日期之前。问题出现了..

我使用的地方isset在这里,

这是我的完整HTML

<?php
define('ga_email','mertmetinbjk@gmail.com');
define('ga_password','************');
define('ga_profile_id','*******');

require 'gapi.class.php';
require 'connectDB.php';

$ga = new gapi(ga_email,ga_password);




?>



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>İçerik</title>
<script language="javascript" type="text/javascript" src="datetimepicker.js">

//Date Time Picker script- by TengYong Ng of http://www.rainforestnet.com
//Script featured on JavaScript Kit (http://www.javascriptkit.com)
//For this script, visit http://www.javascriptkit.com 

</script>
</head>
<div></div>
<body>
    <table align="center">
        <tr> 
        <td><br />
    <br />
    <form action="#" method="post" name="formDates" id="form1" >
    <table width="303" height="40" border="0" align="center">
        <table width =""
  <tr>
    <td>Başlangıç Tarihi</td>
    <td>
      <label for="txtStartDate"></label>
      <input type="text" name="txtStartDate" id="txt1" value="" /><a href="javascript:NewCal('txt1','ddmmyyyy')"><img src="images/cal.gif" width="16" height="16" border="0" alt="Başlangıç Tarihi Seçin">
      </a>
    </td>
  </tr>
  <tr>
    <td>Bitiş Tarihi</td>
    <td>
      <label for="txtEndDate"></label>
      <input type="text" name="txtEndDate" id="txt2" /><a href="javascript:NewCal('txt2','ddmmyyyy')"><img src="images/cal.gif" width="16" height="16" border="0" alt="Bitiş Tarihi Seçin">
      </a>

    </td>
  </tr> 
    </form>
        <tr>
             <td><input type="submit" name="btnSubmit" value="Gönder"</td>
        </tr>

</table>
    <table width="1250" height="26" align="center">
  <tr>

    <td width="138"><strong>Kanal Adı</strong>
    <td width="150"><b>Kategori Adı</b></td>
    <td width="130"><p><strong>Event Adı</strong></td>
    <td width="145"><strong>Toplam</strong>

  </tr>
    </table>



            <?php

            if(isset($_POST['submit'])){     
                $startDate = $_POST['txtStartDate'];
                $endDate = $_POST['txtEndDate'];  
             }


             $arrDates = explode("-",$startDate);
             $startDate=$arrDates[2]."-".$arrDates[1]."-".$arrDates[0];
             $arrDates = explode("-",$endDate);
             $endDate = $arrDates[2]."-".$arrDates[1]."-".$arrDates[0];

             echo $startDate;
             echo $endDate;



            $ga->requestReportData(ga_profile_id,array('eventCategory','eventAction'),array('totalEvents'),$sort_metric=null,$filter='eventAction==InitPlayer',$start_date='2012-02-02',$end_date='2012-02-16');
            foreach($ga->getResults() as $result2);
            {
                echo $result2->geteventCategory();
                echo $result2->geteventAction();
                echo $result2->gettotalEvents();
            }


            $ga->requestAccountData();
            $mysql = new mysql(); 
            $mysql->connect();  
            $counter = 0;



            foreach($ga->getResults() as $result)
            {     
                 echo $result . ' (' . $result->getProfileId() . ")<br />";
                 echo "<br />";
                 $counter++;
            }

            $result = mysql_query("select profile_id from profiles");
            $num_rows = mysql_num_rows($result);



            if($counter != $num_rows)
            {
                $mysql->query("delete from profiles");

                foreach($ga->getResults() as $result)
                { 
                   $mysql->query("insert into profiles values(".$result->getProfileId().",'".$result."')");
                }
            }






            ?>

</td>
    </tr>
    </table>
</body>
</head>
</html>

出了什么问题?

如果选择了开始和结束日期问题,则在选择之前会出现问题

7 个答案:

答案 0 :(得分:2)

必须isset($_POST["btnSubmit"])不提交

submit = type btnSubmit =按钮的名称

答案 1 :(得分:1)

Undefined index txtStartDate, ...

似乎您的表单可能与您在此php文件中使用的表单符合相同的变量名称规范。确保字段名称在表单和此处匹配。

此外,您应该在提交成功后在您的php文件中进行这些检查:if(!isset($_POST['submit']))

答案 2 :(得分:1)

我认为应该是:

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

而不是:

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

isset前面的感叹号表示not。另外,我会检查您要使用的实际字段,而不是$_POST['submit']

if(isset($_POST['txtStartDate']) && isset($_POST['txtEndDate']))
{
    // Do something with $_POST['txtStartDate'] and $_POST['txtEndDate']
}

您收到错误的原因是$_POST['submit']不存在。 input个元素没有名为name的{​​{1}}属性。请注意submittype之间的区别。

答案 3 :(得分:1)

当您的网页加载且未设置$_POST['submit']时,您的$_POST['txtStartDate']$_POST['txtEndDate']未设置,因此$arrDates也未设置。您需要检查是否设置了这些$ _POST变量,以便与它们一起使用。

答案 4 :(得分:1)

您必须对每个变量使用isset(),而不仅仅是一个变量。 $_POST['txtStartDate']$_POST['txtEndDate']以及其他变量根本没有定义,这意味着它们不会随POST请求一起发送。

答案 5 :(得分:0)

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

这意味着如果提交按钮按下。作为表单提交的结果,您应该检查$_POST['submit']是否已设置,如下所示:

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

答案 6 :(得分:0)

我想它应该是if(isset($_POST['submit']))而不是if(!isset($_POST['submit']))因为!在开始时意味着否定