Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #15675
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Newsgroups | comp.lang.php |
| Subject | Re: A project involing sessions |
| Date | 2015-09-11 19:42 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <msvoov$dv1$1@dont-email.me> (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> <msvk01$ffq$1@ns2.nl2k.ab.ca> |
On 9/11/2015 6:18 PM, The Doctor wrote:
> 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.
>
It doesn't matter if it's a classroom instructor or not. If it's
homework, you should have your own server. If you're doing the work in
class, you should be asking your instructor.
--
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex@attglobal.net
==================
Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll 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