setting cookie doesn't work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here is one of my final objectives at PHP introductory course ot
O'Reilly. The strange thing that setting a cookie in that program
les13uadownload.php doesn't work. I don't have a clue - sometimes in
other programs when I run them they set cookies and sometimes not. To
see the full functionality of this "program" I had to set cookie
sevendays in another program. Please check where is my bug. Thanks in
advance, Grega from Slovenia

<?php
if (!empty($_GET['delete_cookie'])) {
   setcookie("sevendays", "", time()-3600); //delete the cookie to
allow to download the file more than 1x in 7days as another user
}

if (isset($_POST['check'])AND(isset($_POST['email']))AND(empty($_COOKIE["sevendays"])))
{#user clicked form download button
  $email = $_POST['email'];
  setcookie("sevendays", "email", time()+60*60*24*7);
  $filepath = $_SERVER['DOCUMENT_ROOT']."/.php_files/acme_brochure.pdf";
  if (file_exists($filepath)) {
     header("Content-Type: application/force-download");
     header("Content-Disposition:filename=\"brochure.pdf\"");
     $fd = fopen($filepath,'rb');
     fpassthru($fd);
     fclose($fd);
  }
}#isset(check)
?>
<script type="text/javascript">
	function setcolor(backgcolor,color) {
		document.getElementById("file").style.color=color;
		document.getElementById("file").style.background=backgcolor;
	}

  function setStyle(x) {
	document.getElementById(x).style.background="yellow";
  }
  function unSetStyle(x) {
	document.getElementById(x).style.background="white";
  }

            function isFormValid (formToCheck) {
                retVal = true;
 		
                if (
(formToCheck.email.value).search(/^[\w!#$%&\'*+\/=?^`{|}~.-]+@(?:[a-z\d][a-z\d-]*(?:\.[a-z\d][a-z\d-]*)?)+\.(?:[a-z][a-z\d-]+)$/i)
== -1 )
                {
                    element = document.getElementById ("new1Label");
                    element.style.color = "red";
                    element.style.fontWeight = "bold";
                    retVal = false;
                    retEmVal = false;
                }
                else
                {
                    element = document.getElementById ("new1Label");
                    element.style.color = "black";
                    element.style.fontWeight = "normal";
                    retEmVal = true;

                }
	
                if (formToCheck.downloaded.value=='no') {
                    ret7daysVal = true;
                }else {
                    ret7daysVal = false;
                }

                if (!retEmVal)
                {
                    alert ("Please enter a valid e-mail address!");
                    retVal = false;
                }else if (!ret7daysVal)
                {
                    alert ("You can download the file only once in
seven days!");
                    retVal = false;
                }

                return retVal;

            }
</script>
<?php
require($_SERVER['DOCUMENT_ROOT']."/template_top.inc");
$ua = $_SERVER['HTTP_USER_AGENT']."<br />";
if (preg_match("/Macintosh/",$ua)) {
  if (!preg_match("/Firefox/",$ua)) {
    echo "For Macintosh You need to use Firefox! <a
href=\"http://www.apple.com/downloads/macosx/internet_utilities/mozillafirefox.html\";>Download
here ...</a>";
    exit();
  }
}
if (preg_match("/Windows/",$ua)) {
  if (!preg_match("/MSIE/",$ua)) {
    echo "For Windows You need to use Internet Explorer!";
    exit();
  }
}
$ip = $_SERVER['REMOTE_ADDR'];
$ipCheck = substr($ip,0,3);
if ($ipCheck == "202") {echo "I don't trust You."; exit();}
?>
<?php
if (!empty($_COOKIE["sevendays"])) echo "IN SEVEN
".$_COOKIE["sevendays"]." DAYS!!!";
if ($_COOKIE["sevendays"]) {
  echo $_COOKIE["sevendays"];
  ?>
  <a href="les13uadownload.php?delete_cookie=1">Not my email: <? echo
$_COOKIE["sevendays"]; ?>?</a>
  <?php
}else {
  ?>
  <form method="post" name="vnosnaForma" action="les12uadownload.php">
  <span id="new1Label">Enter Your e-mail: </span><input type="text"
size="25" name="email" value="<? echo $_COOKIE["sevendays"]; ?>">
  <input type="button" name="button" value="Download now!" onClick="if
(isFormValid(document.vnosnaForma)) {document.vnosnaForma.submit();}"
/>
  <input type="hidden" name="check" value="1" />
  <input type="text" name="downloaded" value="<?php if
(!empty($_COOKIE["sevendays"])) echo $_COOKIE["sevendays"]; else echo
"no"; ?>"/>
  </form>
  <?php
}
require($_SERVER['DOCUMENT_ROOT']."/template_bottom.inc");
print_r($_COOKIE);
echo "XX".$_COOKIE["sevendays"]."XX";
?>


-- 
When the sun rises I receive and when it sets I forgive ->
http://users.skavt.net/~gleskovs/
All the Love, Grega Leskov'sek

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux