chronister Posted August 16, 2007 Share Posted August 16, 2007 Hey folks, I have been banging my head against the monitor for a while now because of this issue. I am sharing a form between 2 insert functions. I can do this because they only differ by 1 field. I have added a hidden var to tell me which query to run, so that is not the problem. The issue comes when I try not to display the email field's table row. <?php if($_GET['view']!=='add_store_team' || $_GET['action']!=='edit_store_team' ){ ?> <tr> <td nowrap="nowrap"><label for="email">Email Address</label></td> <td><input type="text" name="email" id="email" value="<?=$_email ?>"/></td> </tr> <?php } ?> I am wanting to not display this field when either of 2 vars are passed in the url, action=edit_store_team view=add_store_team These are passing correctly. When I drop one of the conditions from the if statement, it works fine. I have dropped each one out and tested it and separately they work, but I cannot get it to work when I have it set up like above. What am I missing here??? Why isn't this working?? Thanks in advance for your input. Nate Quote Link to comment https://forums.phpfreaks.com/topic/65310-what-am-i-missing/ Share on other sites More sharing options...
akitchin Posted August 16, 2007 Share Posted August 16, 2007 your if() condition will always be true, because your $_GET['view'] variable can only ever have one value. let's say $_GET['view'] is 'add_store_team' - the first part of the condition will be false, because it DOES equal 'add_store_team.' however, the second part will be true because in being equal to 'add_store_team', it's NOT equal to 'edit_store_team.' see what i mean? you need to change the || operator to &&, such that it will only display the e-mail row if the $_GET['view'] is neither 'add_store_team' nor 'edit_store_team'. i hope i've interpreted your question correctly. Quote Link to comment https://forums.phpfreaks.com/topic/65310-what-am-i-missing/#findComment-326169 Share on other sites More sharing options...
chronister Posted August 16, 2007 Author Share Posted August 16, 2007 Thx for the reply, but notice that I have action= and then view= I have attached screenshots so you can see what I got. the first screenshot is the view=add_store_team, in the second screenshot(modified to hide folks names) when the edit icon is clicked it takes you back to the form with their information filled in and gives the action=edit_team_member So I want this if statement to basically read if view not equal to add_store_team OR action not equal to edit_store_team, then show the email form. I hope this clears things up a bit. Thanks, Nate [attachment deleted by admin] Quote Link to comment https://forums.phpfreaks.com/topic/65310-what-am-i-missing/#findComment-326181 Share on other sites More sharing options...
akitchin Posted August 16, 2007 Share Posted August 16, 2007 assuming you're only ever passing one of the vars, when the $_GET['action'] or $_GET['view'] aren't set, one of the conditions will still ring true. try this: if ((!isset($_GET['action']) && !isset($_GET['view'])) || (isset($_GET['action']) && $GET['action'] !== 'edit_store_team') || (isset($_GET['view']) && $_GET['view'] !== 'add_store_team')) { // show email row only if neither of the $_GETs are set, or // if $_GET['action'] is set and not equal to edit_store_team, or // if $_GET['view'] is set and not equal to 'add_store_team' } my apologies for misreading the code the first time - did i interpret you correctly this time? Quote Link to comment https://forums.phpfreaks.com/topic/65310-what-am-i-missing/#findComment-326188 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.