Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #15674

Re: A project involing sessions

From doctor@doctor.nl2k.ab.ca (The Doctor)
Newsgroups comp.lang.php
Subject Re: A project involing sessions
Date 2015-09-11 22:18 +0000
Organization NetKnow News
Message-ID <msvk01$ffq$1@ns2.nl2k.ab.ca> (permalink)
References <mste1n$4ru$1@ns2.nl2k.ab.ca> <msut27$211$2@dont-email.me> <msveg0$8jh$1@ns2.nl2k.ab.ca> <msvetf$a05$2@dont-email.me>

Show all headers | View raw


In article <msvetf$a05$2@dont-email.me>,
Jerry Stuckle  <jstucklex@attglobal.net> wrote:
>On 9/11/2015 4:44 PM, The Doctor wrote:
>> In article <msut27$211$2@dont-email.me>,
>> Jerry Stuckle  <jstucklex@attglobal.net> wrote:
>>> On 9/11/2015 11:22 AM, The Doctor wrote:
>>>> In article <5QzIx.30597$Jh2.30280@fx31.iad>,
>>>> Richard Damon  <Richard@Damon-Family.org> wrote:
>>>>> On 9/10/15 10:24 PM, The Doctor wrote:
>>>>>>   For about 6 months this has been stomping me.
>>>>>>
>>>>>> Now repeat the assignment from the previous project, only this time,
>>>>>> instead of cookies use sessions. Since sessions are being used, it is
>>>>>> unnecessary to have the seven day limit from the previous assignment.
>>>>>> However users should only be able to download the file once per session.
>>>>>>
>>>>>>
>>>>>
>>>>> First question, What doesn't work? Just saying "this has been stomping 
>>>>> me" doesn't help us.
>>>>>
>>>>> Second, you do know that sessions tend to use a cookie anyway to keep 
>>>>> track of the session (the difference is that with sessions, the cookie 
>>>>> just stores a session ID, and the rest of the data is stored on the 
>>>>> server, with some automatic expiry procedure).
>>>>
>>>> So I have been reading.
>>>>
>>>>>
>>>>>> And the download.php is
>>>>>>
>>>>>>
>>>>>> <?php
>>>>>>
>>>>>> #start the session
>>>>>> session_start();
>>>>>>
>>>>>> if
>>>>>> (isset
>>>>>> ($_POST['check'])
>>>>>> AND
>>>>>> (isset($_POST['email']))
>>>>>> AND
>>>>>> (empty($_SESSION['email']))
>>>>>> )
>>>>>>   {//user clicked form download button
>>>>>> $customer_email = $_SESSION['email'];
>>>>> because of the if, we know $_SESSION['email'] is empty, why are you 
>>>>> trying to use it?
>>>>>> if (!($customer_email)) {
>>>>>>     $customer_email = $_GET['email'];
>>>>>>     //$customer_email = $_SESSION['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);
>>>>>> if (!($_GET['email'])) {
>>>>>>     #the customer wants us to remember him/her for next time
>>>>>>
>>>>>>    $_SESSION['email'] = $customer_email;
>>>>>>
>>>>>> }
>>>>>>   }
>>>>>>
>>>>>> }//end isset(check)
>>>>>>
>>>>>>
>>>>>>
>>>>>> ?>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> What is not happening given these 2 files?
>>>>>>
>>>>>
>>>>> If download.php isn't doing what you want, perhaps having it display a 
>>>>> page with what it sees would be helpful to debug.
>>>>>
>>>>> When you are detecting the right conditions, then you can change the 
>>>>> page to do the download, but still could show what the conditions were 
>>>>> if you detect you shouldn't download. To go to 'production' you would 
>>>>> then remove the debug output and display a nice error message on failure 
>>>>> (right now you just give the user a white screen if they try a second 
>>>>> download).
>>>>>
>>>>
>>>> All right.  On my test, I just simply do not see the session ID.
>>>>
>>>
>>> What have you done to debug the problem?  Do you have any error
>>> messages?  Are you displaying error messages?
>>>
>>> On your development machine your php.ini file should have:
>>>
>>> error_reporting = E_ALL
>>> display_errors = on
>>>
>> 
>> I will ask the instructor.
>> 
>
>You don't have your own development machine?  That's something every
>developer needs.  Even if you don't need it in class, you will need it
>when you start using PHP.
>

On my proper server this is turned on.

This is a classroom instructor in this case.

>-- 
>==================
>Remove the "x" from my email address
>Jerry Stuckle
>jstucklex@attglobal.net
>==================


-- 
Member - Liberal International This is doctor@@nl2k.ab.ca Ici doctor@@nl2k.ab.ca
God,Queen and country!Never Satan President Republic!Beware AntiChrist rising! 
http://www.fullyfollow.me/rootnl2k  Look at Psalms 14 and 53 on Atheism
Time for Stephen to move on on Oct 19 2015!!

Back to comp.lang.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

A project involing sessions doctor@doctor.nl2k.ab.ca (The Doctor) - 2015-09-11 02:24 +0000
  Re: A project involing sessions Richard Damon <Richard@Damon-Family.org> - 2015-09-11 08:30 -0400
    Re: A project involing sessions doctor@doctor.nl2k.ab.ca (The Doctor) - 2015-09-11 15:22 +0000
      Re: A project involing sessions Jerry Stuckle <jstucklex@attglobal.net> - 2015-09-11 11:49 -0400
        Re: A project involing sessions doctor@doctor.nl2k.ab.ca (The Doctor) - 2015-09-11 20:44 +0000
          Re: A project involing sessions Jerry Stuckle <jstucklex@attglobal.net> - 2015-09-11 16:53 -0400
            Re: A project involing sessions doctor@doctor.nl2k.ab.ca (The Doctor) - 2015-09-11 22:18 +0000
              Re: A project involing sessions Jerry Stuckle <jstucklex@attglobal.net> - 2015-09-11 19:42 -0400
    Re: A project involing sessions Jerry Stuckle <jstucklex@attglobal.net> - 2015-09-11 11:46 -0400
      Re: A project involing sessions doctor@doctor.nl2k.ab.ca (The Doctor) - 2015-09-11 20:44 +0000
        Re: A project involing sessions Jerry Stuckle <jstucklex@attglobal.net> - 2015-09-11 16:52 -0400

csiph-web