PHP If和Else操作不正确

时间:2011-09-21 13:43:38

标签: php if-statement

以下PHP应确定是否有?purpose=email,然后确定是否包含?emailaddress。如果有一个emailaddress,那么它会触发一组脚本,如果不是另一个脚本。但不管它是否表现得像emailaddress !== '';任何想法。

<?php if($_GET['purpose'] == 'email') {?>
<?php   if($_GET['emailaddress'] !== '') {?>
  <script type="text/javascript">
    alert('<?php echo $_GET['emailaddress'];?>');
    window.setTimeout(function(){
      $('.dirops .loadpanel div span', window.parent.document).html('Complete');
      $('.dirops .loadpanel', window.parent.document).removeClass('slideup');
    },1000);
  </script>
<?php } else { ?>
  <script type="text/javascript">
    window.setTimeout(function(){
      $('.dirops .loadpanel div span', window.parent.document).html('Loading');
      $('.dirops .confirmemail', window.parent.document).addClass('slideup');
    },1000);
    $('#confirmemail', window.parent.document).attr('href', 'http://www.golfbrowser.com/A4/directions.php?purpose=email&start=<?php echo $_GET['start'];?>&end=<?php echo $_GET['end'];?>')
  </script>
<?php   } ?> 
<?php } ?> 

有什么想法吗?

非凡

5 个答案:

答案 0 :(得分:4)

尝试if($_GET['emailaddress'] != ''),即!=而不是!==

答案 1 :(得分:3)

使用:array_key_exists('emailaddress', $_GET)代替$_GET['emailaddress'] !== ''

答案 2 :(得分:1)

if (isset($_GET['emailaddress'])) { ....

答案 3 :(得分:1)

我不认为if / else不起作用......

尝试var_dump($_GET)也许isset($_GET['emailaddress'])可以帮助您。

答案 4 :(得分:0)

尝试更改前两行:

<?php if(array_key_exists('purpose', $_GET) && $_GET['purpose'] == 'email') {?>
<?php   if(array_key_exsist('emailaddress', $_GET) && $_GET['emailaddress'] != '') {?>