To elaborate, this statement:
if($_SESSION['coupondis'] = "1")
First assigns a value to the $_SESSION['coupondis'] variable, and then evaluates that value as a boolean (so pretty much anything other than a 0, '0', false, '', NULL, etc. results in boolean true and thus the if() block is executed).
If what you instead intended to do was compare the value that the variable already contains, then djjozsi is correct in suggesting the '==' comparison operator, NOT the '=' assignment operator.
For more information about the different operators and what they mean, see this manual page: [man]operators[/man].