Re: [Phplib-users] Classes, MySQL, Images & phplib
Brought to you by:
nhruby,
richardarcher
From: Frank B. <fb...@sy...> - 2001-12-31 20:52:46
|
Try: function Image() { global $GLOBALS; $ID=$GLOBALS[ID]; At 03:51 PM 12/31/01 -0500, Mike Gifford wrote: >Hey Nathan, > >nathan r. hruby wrote: > >>>OK.. My present code looks like this: >>>require('config.php3'); >>>class Image { >>> var $db; >>> function Image($ID='$GLOBALS[ID]') { >> No quotes in the above, it's not working cause $ID is being set to the >> string "$GLOBALS[ID]" and not the actual value of the global $ID (as a >> side note, this happen becasue you're using single quotes which casue >> literal strings, double quotes would have meant that the string would have >> been scanned for variable substituion and it would have been ok, but you >> would have paid a small performance penalty for that substitution. This >> is where knowing everything about your varibles comes in handy.) > > >I tried a stack of different options on this, but these gave me parse >errors: > $ID=$GLOBALS[ID] > $ID="$GLOBALS[ID]" > >and these didn't (they gave me identical - but bad results): > $ID='$GLOBALS[ID]' > $ID=48 > >As did this actually: > >require('config.php3'); >class Image { > var $db; > function Image() { > $ID=$GLOBALS[ID]; > echo "ID $ID"; > $this->db = new proDB; > $sql="SELECT photo FROM WLPphoto WHERE profileID='$ID'"; > $this->db->query($sql); > while ($this->db->next_record()) { > Header("Content-type: image/jpeg"); > print $this->db->Record['photo']; > } > } >} > >Although this displays properly outside of the class... > $ID=$GLOBALS[ID]; > echo "ID $ID"; > >result is: > ID 48 > > >>>I just want to clarify though.. in the example you gave ($this->db = >>>new nameOfdbClass;), if I was trying to add this to phpSlash 6.2 >>>nameOfdbClass; would be DB_Sql (or would it be slashDB? >> if all youre tables are in the same databse as the phpslash stuff, then >> slashDB, else you'll need to make a new subclass of DB_Sql. > > >Hmm.. That is essentially what I'm doing... > >Some folks on this list may remember me asking about/talking up a online >bibliography 6 months or so ago.. It's mostly working now and sitting >here (still in draft mode): > http://www.openconcept.ca/WLP/biblio/categories.php3 > >I'm presently working up the portfolio side (harder to explain), but >this is what I need the images for... In anycase, it's all based on the >6.2 code of phpSlash.. > > >>>Both seem to produce the same result for me.. I even tried commenting >>>out the header line (Header("Content-type: image/jpeg");) to see if that >>>would just echo the raw jpg data.. It didn't.. So something's goofing >>>up... >> Make sure you're not outputing anything before that header() call. I bet >> there's an error creeping in (probably from using the wrong db class) >> that's casuing it. For something liek what you're doing I like to add a >> construct like this to the top of my code: > >> if ($debug && $HTTP_GET_VARS[breakme]) { >> echo "I'm outputing something to break the headers.<br>\n"; >> echo "This will allow me to see what exactly I'm sending.<br>\n"; >> echo "Including errors :)<br>\n"; >> } > > >This is usefull.. That way it is easy to make/break code.. >http://localhost/WLP/profiles/image.php3?ID=48&breakme=yes > > > >However, I can't seem to get any output from within the class.. > >Putting this in the function and commenting out the header doesn't >output anything.. > echo "this isn't working"; > >The URL above does, but.. that isn't managing stuff within the code.. > > >> Also, check to make sure (for debug pruposes) error_reporting is set to >> E_ALL. And FWIW, I'd do a $this->db->nf() and make sure the returned >> valus is 1 and if it isn't sending a "not availible" jpeg to the >> browser before entering the while() loop. This ensures that if the script >> freaks out and can't find a image in the databse, something is returned to >> the user indicating so :) > > >I've got a couple references of phpSlash 6.2 ending Variable.class with: >}; /* end of Variable.class */ > > >and not the ?> which would be standard.. I've never seen a php file >ended like that before... > >In anycase, the whole file now looks like this: > ><?php >error_reporting(E_ALL); >require('config.php3'); > >if ($debug && $HTTP_GET_VARS[breakme]) { > echo "I'm outputing something to break the headers.<br>\n"; > echo "This will allow me to see what exactly I'm sending.<br>\n"; > echo "Including errors :)<br>\n"; >} > >class Image { > var $db; > function Image() { > $ID=$GLOBALS[ID]; > $this->db = new proDB; > echo "this isn't working"; > $sql="SELECT photo FROM WLPphoto WHERE profileID='$ID'"; > echo $this->db->nf(); > $this->db->query($sql); > while ($this->db->next_record()) { > // Header("Content-type: image/jpeg"); > print $this->db->Record['photo']; > } > } >} >?> > >And results in the following: > >Warning: Undefined variable: sitename in >/usr/local/web/WLP/profiles/config.php3 on line 191 > >Warning: Use of undefined constant rootdir - assumed 'rootdir' in >/usr/local/web/WLP/profiles/Variable.class on line 23 > >Warning: Use of undefined constant basedir - assumed 'basedir' in >/usr/local/web/WLP/profiles/Variable.class on line 24 > >Warning: Use of undefined constant listvariable - assumed 'listvariable' >in /usr/local/web/WLP/profiles/Variable.class on line 33 > >Warning: Use of undefined constant newvariable - assumed 'newvariable' >in /usr/local/web/WLP/profiles/Variable.class on line 34 > >Warning: Use of undefined constant value - assumed 'value' in >/usr/local/web/WLP/profiles/Variable.class on line 55 > >Warning: Undefined variable: siteowner in >/usr/local/web/WLP/profiles/config.php3 on line 192 > >Warning: Use of undefined constant value - assumed 'value' in >/usr/local/web/WLP/profiles/Variable.class on line 55 > >Warning: Undefined variable: xsitename in >/usr/local/web/WLP/profiles/config.php3 on line 193 > >Warning: Use of undefined constant value - assumed 'value' in >/usr/local/web/WLP/profiles/Variable.class on line 55 > >Warning: Use of undefined constant breakme - assumed 'breakme' in >/usr/local/web/WLP/profiles/image.php3 on line 5 > >Warning: Undefined index: breakme in >/usr/local/web/WLP/profiles/image.php3 on line 5 > >Which shouldn't be affecting things when the errors are turned off.. >Those should be pretty innocent.. > >Mike >-- >Mike Gifford, OpenConcept Consulting, http://www.openconcept.ca >Supporting progressive organizations in online campaigns and tools. >Feature: Women's Learning Partnership http://learningpartnership.org >Truth is that which confirms what we already believe. Northrop Frye > > >_______________________________________________ >Phplib-users mailing list >Php...@li... >https://lists.sourceforge.net/lists/listinfo/phplib-users > |