Hostgator.com Affiliate Program

Both sides of a quick and simple web service

To clarify the article title, when I say web service, I mean a piece of software that will receive and send out data via the HTTP protocol. Furthermore, this data is usually transmitted in XML format. I will also call this XML RPC occasionally, but there is also a specification called XML-RPC so things can get confusing. Again in summary, this post will describe a very simple way to send and receive method calls and responses using XML and HTTP POST.

Sending your request
This will use the PHP cURL extension, so make sure your PHP is compiled with the correct options. The XML parser later will also use SimpleXML, which needs PHP 5 and the SimpleXML extension.

The following function will submit a query to an arbitrary web server, and also allow you to pass a POST string through to it.

   function cURL($link, $poststring){
        $ch = curl_init();

        curl_setopt ($ch, CURLOPT_URL, $link);
        curl_setopt ($ch, CURLOPT_POST, 1);
        curl_setopt ($ch, CURLOPT_POSTFIELDS, $poststring);
        curl_setopt ($ch, CURLOPT_HEADER, 0);
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt ($ch, CURLOPT_TIMEOUT, 15);

        $response = trim(curl_exec ($ch));
        return $response;
   } //cURL

Now, you should decide on a format for your XML requests; we’ll use something very simple here:

   <?xml version='1.0'?>
   <request>
      <user>Mike</user>
      <type>getDate</type>
   </request>

This will ask another server for the current time, and use basic user name authentication.

To send the request:

   $poststring = "request=$xml";
   $response = cURL('http://server.com/xml.php', $poststring);

Receiving the request
On the other side of the connection we write some code to parse the request (i.e. this is in xml.php hosted on server.com).

   $xml = (isset($_POST['request'])) ? $_POST['request'] : false;
   if (!$xml) { return; }

Now the above XML we sent is stored in the $xml variable. To process it, we can use the following code:

   $obj = simplexml_load_string($xml);

   $error = '';

   if ((string)$obj->user == 'Mike') {
      switch ((string)$obj->type) {
         case 'getDate' :
            $response = "<?xml version='1.0'?>
               <response>
                  <date>".date('l, d F Y at H:i:s', time())."</date>
               </response>";
            break;

         default :
            $error = 'Invalid method';
      } //switch
   } else {
      $error = 'Invalid user';
   } //else

   if ($error) {
      print "<?xml version='1.0'?>
         <response>
            <error>$error</error>
         </response>";
   } else {
      print $response;
   } //else

After checking the user name the method name is handled, and if it doesn’t exist on this implementation an error is returned. Printing the XML response is how we pass data back to the server that requested the service - if you look back you’ll see that the cURL function returns whatever content the URL returned, i.e. our printed XML.

That should be everything, this should of course be expanded into a class or structured methods.


Executing shell commands

Just a quick post - if you’re using PHP’s shell_exec to execute shell commands, take note of the following:

Permissions
If you’re reading or writing files, ensure that your working directory has the correct permissions for the www/apache user to access what it needs. On some systems, PHP will run as the nobody user, so adjust accordingly.

Pipes
Using pipes and redirection inside your command string is not going to work most of the time, what you probably want to do is create a seperate bash script on your server that contains all the commands you want to run. Then use PHP to execute the single bash script.

Paths
This one has got me a few times - just because a command is in the path when you’re SSH’d into the server, it doesn’t mean that it’ll be on PHP’s perceived path. This means that you’ll need to specify the full path to any system applications you are using (not for standard commands like cat, though). For example:

   shell_exec("/usr/local/bin/htmldoc --jpeg=0 --webpage \
      -f out.pdf in.html");

Sorting arrays by an arbitary key value in PHP

I often (a couple times a month) have to sort an array of arrays by some arbitrary value located in the internal array. For example, I might want to sort the following structure by name.

   Array[0] {
      Array[0] {
         id => 1
         name => mike
         age => 20
      }

      Array[1] {
         id => 2
         name => bob
         age: 21
      }
   }

I want the same structure returned, but the array containing ‘bob’ in it’s name key must appear first in the array. PHP’s sort() function is insuffficient in this case, it sorts by the first key of each internal array (i.e. ‘id’ in this case).

The solution is to use usort(), which allows for a custom compare function to be used.

   function cmp($x, $y) {
      if ($x[1] == $y[1]) {
         return 0;
      } //if

      return ($x[1] > $y[1]) ? 1 : -1;
      //or return strcmp($x[1], $y[1]);
   } //cmp

   usort($array, 'cmp');

usort() takes the provided function name and uses it as the compare function between two elements. This also allows you to sort by multiple fields, if the first two fields are equal you can drop down to checking another field, and so on.

Useful things to know in CakePHP

CakePHP is an awesome MVC (Model-View-Controller) framework for PHP 4 and 5 - it provides a great base to build your web application on, and can save you a huge amount of time if used correctly.

Unfortunately, the manual is sometimes lacking - whilst the information you need might be there, you probably will not be able to find it because it’s hidden away in some random corner. I’m going to cover a few common questions (in my opinion) here.

How do I turn off the automatic database connection?

Sometimes you want a controller and model that don’t have any mapping to the database - for example, a static page controller. Cake complains unless you have a correctly named table in the database when you view the page.

Add this line to your model file to disable this feature:

   var $useTable = false;

How do I turn off auto-layout rendering?

Cake also automatically lays out your controller methods into the default layout - you might want to turn this off if the controller deals with AJAX calls and returns simple responses, or simply if you want to make use of print and print_r.

At the top of your controller, inside the class, add:

   var $autoRender = false;

You can also disable this per method, as far as I know.

Additionally, Cake comes with a AJAX layout in the core that returns the template file without the default layout. You can use it by specifying the render function in the last line of your method (e.g. for function myAction()):

   $this->render('myAction', 'ajax');

Where do I put application-wide code?

Create a file called app_controller.php in your app directory:

project/app/app_controller.php

   <?php
      class AppController extends Controller {
         //code
      } //AppController
   ?>

This file overrides the default app controller that each of your controller’s extends, thus you can add any code here that you want all of your controllers to see.

B2B: Testing and defining variables in PHP

PHP is a dynamic, weakly-typed language, and as such, beginners to the language will often find their code acting unpredictably because of assumptions they have made.

PHP has a fairly low entry point for new programmers - it’s easy enough to get a couple of small sample scripts up and running, but on the same token, it’s really easy to pick up bad habits and carry them through into larger projects. Since PHP is often the first language used extensively by a new generation of web programmers, and doesn’t have strict typing or error reporting, a lot of people simply never pick up the best practices for system design and implementation.

This tutorial is going to be a quick introduction to variables in PHP, and how to test them effectively for missing or incorrect data.

To define a variable in PHP, you simply refer to it and assign it a value. Notice that you don’t need to place a type before it, e.g. int or string.

  $var1 = 'abc';

One variable is now present in your system, $var1, with the value abc.

If you are planning on using a group of variables in your program, it is generally good practice to declare them near the top of your function or method, or near the top of the file, and assign them sensible default values:

  $counter = 0;
  $name = '';
  $max = 10;

Testing variables

To maintain a predictable system, you need to ensure that you are always testing variables for expected values and sanitising them where necessary. Sanitising refers to cleaning up any data that has come from an untrusted source, i.e. a user submitted form or something similar. Such data must never be used directly without being checked or parsed - a common mistake is to take data a user has submitted and immediately use it in a database query:

  $query = "SELECT * FROM table WHERE name LIKE = {$_POST['name']}";

This is a classic example of an SQL injection flaw. A malicious user could easily craft a request to modify or even drop your entire database.

A better query would look like this:

  $name = mysql_escape_string($_POST[’name’]);
  $query = “SELECT * FROM table WHERE name LIKE = ‘$name’”;

Notice the additional quotes around $name in the query; and the curly braces around the variable are no longer required as it isn’t a value being accessed in an array. Additionally, notice that the $query string is surrounded by double quotes (”) - this means that variables and string literals inside the string will be parsed.

  $name = 'Michael';
  $test1 = 'My name is $name';
  $test2 = "My name is $name";

Try printing the variables above in your own script and see the difference. $test1 will say ‘My name is $name‘ whilst $test2 will say ‘My name is Michael‘.

PHP provides several functions to test variables with, here is a table of the results from a couple of them:

$var is Function PHP returns
(not set) isset false
” (empty string) isset true
123 isset true
null isset false
” (empty string) empty true
123 empty false
(not set) empty true

Above, we use empty to test if a variable has a value, this function will return FALSE if variable has a non-empty and non-zero value. The following are values that PHP treats as false (zero):

  • "" i.e. empty string
  • 0 as an Integer
  • "0" as a String
  • NULL
  • FALSE
  • array()

Also note that empty only tests variables, anything else will result in a parse error. In other words, the following will not work: empty(trim($name)); (From www.php.net/empty).

Once a variable is defined (or set), you can use unset($var) or $var = null to destroy it.

Because PHP is weakly-typed, since PHP 5 (I think, maybe sooner), an additional operator has been included. By extending the standard boolean test operator ‘==’ to 3 equal signs, ‘===’, the variables being tested will also be tested to see if their base types match. In other words:

  (0 == '')

returns true because both are seen as false (0) by PHP, but

  (0 === '')

returns false because 0 is an integer and ” is a string, so their values match, but not their types.

This additional checking can also be used in the negative form, i.e. ‘!==’.

Using everything we’ve discussed above, a sensible way to read from the HTTP POST parameter super-global and set a default value is to use the ternary operator in PHP:

  $name = (isset($_POST['name'])) ? $_POST['name'] : 'none';

A good way to quickly play around with all these different functions, and to test your logic, is to use the PHP interactive shell (PHP 5.1 onwards):

$ php -a

Alternatively use PHP-Shell which has more features than the built-in shell (link below).

Related links

  1. PHP-Shell by Jan Kneschke
  2. http://www.php.net/manual/en/function.isset.php
  3. http://www.php.net/manual/en/function.empty.php
  4. http://www.php.net/manual/en/function.unset.php
is relafen a narcotic medlineplus drug information tretinoin topical aq myonlinemeds biz nasacort tramadol valtrex does constipation from effexor go away phentermine no prescription pharmacy cialis faq an alternative for hydrocodone morning after pill and wellbutrin keppra medication what are hydrocodones marijuana effects brain what percentage of student-athletes use steroids alcohol and herion candida diet lamisil inpatient alcohol rehabilitation baltimore maryland cialis viagra mastercard accepted nicotine dependence disorder ed alcohol drug alcohol abuse ministries orlando florida alcohol anhydrous ointment wool heart disease and chronic ibuprofen use kessler's alcohol manicuring marijuana swollen ankles heroin nicotine withdrawal syndrome abdel salam fluoxetine sertraline soma puzzle origami alcohol austin chemistry burning alcohol ohio alcohol related car accidents zithromax generic name ortho 1 35 s yasmin oral contraception and alzheimers does alcohol and drugs effect sperm elavil symptom withdrawal aricept and namenda seizures ordering prescription xanax online generic prozac color alcohol prevention facts european alcohol age aciphex flomax index php alcohol in ear throbbing banning alcohol at sporting events alcohol related car accidents statistics nicotine blood system alcohol stearyl wolfsheim heroin she said side effects from weaning off diovan urinary tract infection and ciprofloxacin alcohol by volume specific gravity order softtabs medicine cialis london effects of steroids church distance from alcohol washington state marijuana hairloss paxil drug test ranitidine side affects tylenol rapid release gels side effects drug interaction celebrex tramadol aricept mortality vascular dementia cns effects of soma alcohol amine ether ketone aldehyde weaning off of lexapro prednisone oral rats discount paroxetine generic paxil pcp pneumonia xray detailed instructions for synthesizing homemade mdma effects of accupril wellbutrin empty stomache effects of suddenly stopping prednisone can synthroid be taken with actonel discount prednisone pain substance p morphine ritalin options delivery hydrocodone online overnight pharmacy xanax vs valium anxiety lipitor pysician's insert wellbutrin augmentation erection ativan addiction symptoms premarin monogram discount adipex p is lexapro med for thyroid top alcohol fuel set up flexeril overdose treatment tylenol and zocor ibd cats steroids therapeutic dose premarin synthesis ijpc ciprofloxacin flexeril faq about celebrex brain damage alcohol abuse methods for making mdma tamoxifen discontinued polyvinyl alcohol formula what is in claritin simvastatin singulair triamterene hc marijuana affects on the brain lsd effects of forensic alcohol test branch alcohol calories comparison effects of drugs and alcohol alcohol abuse disorder buy imitrex spironolactone and polycystic hydrocodone interaction with flomax 5generic sildenafil depakote and laser hair removal generic cialis pills free sample toprol xl 25 sibutramine phentermine orlistat cholesterol born date signs alcohol phentermine direct no clubs discount cost 10 mg ambien itching from penicillin adipex loss pill weight american career college norco ca penicillin skin rash adipex legal in canada interaction with alcohol medication adderall laughing gas glucophage 500mg drug and alcohol rehab new jersey smoking premarin didrex online cod prednisones neem welcome to soma archive buy hydrocodone online legally methamphetamine t-shirts cialis tadalafil tablets ritalin fibromyalgia attention deficit disorder paroxetine 20mg tab bontril drug information bud light percentage of alcohol marijuana and hypothyroidism patent expire lexapro drinking too much alcohol dead poppy plants with highest opium yield marijuana and semen analysis generic for lorazepam flovent mdi phendimetrazine 180 count paroxetine hcl tab 20mg bupropion hydrochloride marketed as the antidepressant marijuana seeds carmela ortho rehab washington state alcohol party supplies penicillin dosage for horses crack alcohol serzone withdrawal alcohol muscle relaxant medrol pack dosing nizoral side affects azithromycin drug interaction list kenalog inj for treatment of psoriasis 200 proof alcohol 2007 marijuana legal in what state adipex cheap diet pill buy drug generic generic online viagra description of lsd experience alcohol recovery case manager job description celexa off weaning cocaine quality controls marijuana soup alcohol alcoholism effects ghb legal uses pcp lsd amphetamine methamphetamine cocaine buy nicotrol inhaler alcohol drug residential treatment for heart lanoxin alcohol and drug education programs rubbing alcohol poisoning contradictory outcomes on ketamine viagra on dogs flomax and ambien ibuprofen prescription strength detox drug lorcet 20 ecstasy prolactin orlando drug and alcohol facilities on line prilosec marijuana exchange benicar hct drug gtt eyes alphagan singulair legs astrazeneca nexium rebate alcohol brain bubbles byetta with alcohol alcohol chemical compound ritalin dexedrine good news claritin snoring alcohol customs travel ireland disfunci n metoprolol j 5post softtabs zenegra artificial sweeteners speed alcohol into blood dog dose xanax employment laws alcohol mass celebrex vaniqa flonase allegra attorney celecoxib effects side prescribe valium paroxetine sales seroxat metformin miss a dose lose prednisone sarcoidosis weight cost of pcp history zocor description dilantin in blood ravesupply mdma took buspar amitriptyline with xanax cocaine metabolism cytochrome p450 prednisone side xanax 5 muscle mass loe testosterone buy cheap soma online alcohol in morayshire keppra anti-seizure medication liquid serzone australia vicodins no prescription delivery glucophage zenocal albuterol pregnancy fever alternate tylenol ibuprofen augmentin sarcoidosis alcohol disciples of christ celebrex celecoxib south dakota family contract with alcohol issues isopropyl alcohol cas prices for methamphetamine breath analyser alcohol test cephalexin origin ambien buy online zyrtec wellbutrin macrobid nasacort imitrex bar xanax gerolsteiner water used on marijuana viagra perscription prednisone dose pack alcohol tobacco and firearms bureau 6 best price for propecia federal alcohol law detroit marijuana epidemic oxycontin addiction and side effects celebrex manufacturer boards chongqed hgh steroids low prices alcohol on air planes cheap evista pills one last call for alcohol lyrics marijuana and natural detox ibuprofen and drowsiness effects of cocaine usage christian alcohol treatment texas cocaine lyrics fioricet fioracet alcohol purchase in stores elavil cream gemfibrozil 60 mg actonel bad for teeth remeron organon micromedex metformin hillcrest meridia tramadol mexico online pharmacy celexa and zoloft interaction yerba mate have cocaine in it cheap phentermine without prescription phentermine cheapest zithromax crush most powerful alcohol soma drug detection alcohol facet point injections diazepam during pregnancy dot drug alcohol training ranitidine no prescription comparing tramadol to lortab olympics and steroids colorado alcohol rehabilitation indication for lipitor acetaminophen cod 3 tablettev clopidogrel credo timing 15 hrs drinking alcohol lower back pain effects of phenergan iv push deficiency symptom testosterone drug equivalents of lipitor skin spots alcohol buy vicodin now cocaine sellers interactions of neurotin hydrocodone attack heart lawsuit vioxx seroquel dangers by carisoprodol online diazepam ip los jovenes y el alcohol tobacco nicotine content variety alcohol uae dubai methamphetamines treatment prednisone psoriatic arthritis alcohol counseling st louis missouri help with withdrawal symptons from marijuana continuous use of ortho tricyclene low clinical pharmacology xanax generic viagra soft tab soma the strokes lyrics it's monday tylenol florida acetic acid isopropyl alcohol limiting reagent bupropion diet pills phentermine and heart lsd marijuana mix razadyne seroquel not take together prevacid antacid treating low labido with bupropion loratadine for hyprtension oxycodone pain gain weight zyrtec multiple myeloma methylprednisolone atsa alcohol 96 puro de cana buying generic viagra nicotine cigarettes dj youri fuck on cocaine lapacho and coumadin xenical non prescription valium joint pain zyprexa 2b anxiety depakote uses alcohol and common cold micro oily retin skin delivery guaranteed overnight soma alcohol dependence health psychological marijuana effects discount tamiflu can dogs take anipryl with cephalexin cost prilosec atomized alcohol concerta wellbutrin hydrocodone 10 650 phentermine viagra delivered overnight can i take lipitor with lunesta dur 8 elite ureteroscope ritalin recommended adult dosage alcohol bomb chlorine best way to grow marijuana indoors advair 25051 puff beginners guide outdor marijuana growing flexeril xanax urine ambien anaphalyxis interaction between prednisone and tramadol dxm xanax sertraline hcl info fexofenadine manufacturer opium body men buy advair from canada alcohol poisoning hand sanitizer and small baby with cocaine and marijuana heroin back in hollywood 25 mg norvasc discount purchase fluconazole pharmacy marijuana garden pictures los actos administrativos lipitor bilirubin free maine nicotine patch accepted cod tramadol alcohol health risks for men topical steroids for eczema eating marijuana effects buy viagra online a href ritalin and headache workplace alcohol history of cocaine baby clomid posted side suzs ranitidine warts difference between orlistat and allie online pharmacies for propecia finasteride r isomer of naproxen agent antifungal fluconazole deals on ecstasy alcohol effect on siezures medication online phentermine hydrocodine vicodin loratab sammy sosa steroids remeron usage abscess cipro norco aluminum floor jack has ritalin proven to be useful advair inhalers yellow speed amphetamines orange foods to increase male testosterone foetal alcohol genital abnormalities order tadalafil from u s phentermine online cheap diet pills court hearings on adderall alcohol assessments done in anoka county diovan glaucoma diy marijuana detox lorazepam diazepam half-life chart uk brand name for enalapril suicides related to oxycodone effexor depression anxiety research women richmond prempro lawsuit attorney generic soma carisoprodol alcohol ads on television hearing loss and oxycontin crystal methamphetamine hydrochloride recepie oxycontin death statistics from ativan withdrawal help metformin hc about high on medical marijuana school cheapest in uk viagra marijuana laws for calvert county maryland claritin coupon albuterol inhalation aerosol 17g dosage side effects of toprolxl and zocor soma watter cocaine naisal damage enalapril canine side effects seroquel syncope hypotension pcp lung scar tissue xalatan order agent alcohol based effectiveness hand washing b loss phentermine vitamin weight xisico b50 pcp alcohol s major effects on judgment safe alcohol limits valium and kids 1 onz of marijuana wedding premade punch with alcohol alcohol consuption in colleges in texas benefits alcohol arnold schwarzenegger smoking marijuana natural ecstasy generic versions of phentermine effects of alcohol article names of alcohol shots mcmahon medical marijuana canada marijuana shop 2444 levitra 10mg 3521 is fortical equivalent to miacalcin alcohol shop lisinopril 20mg photos otc amoxicillin herbal alternative viagra levitra herb prempro first prescribed prednisone canines calcium levels alcohol addiction resources tramadol tramadol hci online cheap pharmacy order phentermine without calling my doctor speakers on alcohol abuse risperdal and shivering xalatan medication robin williams alcohol father bob phendimetrazine lose weight loss diet pills avodart clomid diflucan dostinex glucophage c six am the heroin diaries minocycline acne vitamin c side effects metoprolol epinephrine 2028 20tablets yasmin ortho appendectomy alcohol effects in its life buspar compared to generics phentermine p over night delivery biohazard steroids buy cialis site generic drug for norvasc fioricet with codine what enhances the effects of adderall nicotine and its addicting ways 10mg 3.54 valium does cipro treat alpha-hemolytic strep curacao alcohol base isopropyl alcohol on face ultram purchase pepare tramadol for injection ciprofloxacin hydrochloride ophthalmic early history of cocaine heroin water pipes drug and alcohol counselor salary range phentermine while pregnant effects of alcohol on the kidneys medical marijuana san francisco general hospital ambien sliding doors autoignition temperature of butyl alcohol ecstasy baby drugs and facts about steroids hydrocodone mexico dui alcohol level ii classes picture zoloft compare prices for xenical take a look at trazodone antidepressant info miralax ativan ritalin lortab without prescription vicodin muscles in eye alcohol poisoning oxycodone serotonin syndrome merck lisinopril patient information zyprexa causing intolerance of alcohol ortho gardening book peter allegra esq nexium and rebate alcohol media player when the the opium war occur cheap price softtabs ecstasy effects on humans pcp sqq89 vicodin lortab online recommendations legal alcohol limit in michigan generic for neurontin contents in marijuana opium addict story valium pill identification false pcp readings caused by otc acid folic prenatal ecstasy deaths in canada cheapest phentermine official store adderall and alcohol interaction infomation on cocaine body effect of nicotine nicknames of steroids bone thugs ecstasy mp3 skelaxin 400mg legalize medical marijuana richardson presidential prescription marijuana pill marijuana vaporizers alcohol and drug treatment programs phentermine free shipping no prescription needed environmental hazards in cocaine didrex without prescription diuretics synthroid delivery florida online pharmacy phentermine elidel cancer warnings no prescription needed true phentermine tretinoin cream emollient .025 ativan for sedation for mri $50.00 phentermine different strains of marijuana pure indica lsd owlsley canadian paxil pharmacy buy offshore medications adderall phentermine prescription drug difference between hydrocodone and naproxen oklahoma drug and alcohol treatment psychological treatments for alcohol abuse estradiol dosage injection muscle testosterone xanax show up on drug tests nicknames for methamphetamine buy valium online uk alcohol abuse in alaska ritalin long term use paul cheney klonopin fibromyalgia oxycodone and acetaminophen harvesting outdoor marijuana pictures folic acid and conceiving twins ranitidine during pregnancy meridia 5 mg cocaine diarrhea side effects of lorcet pcp fungal prednisone thermoregulation cats and valium is marijuana an addictive substance going off effexor what nascar driver has viagra average cost of steroids history timeline of alcohol p450 enzymes tolerance alcohol viagra at a young age mixing prescription drug with alcohol xanax vs buspar alcohol consumption daily indication keflex pending ortho lawsuits oral ketamine alcohol christmas gift ideas bonds steroids photos coumadin vs warfarin wean off wellbutrin alcohol aldehydes ketones oxidation tojo ionamin loss weight information online information hemmingway alcohol texas revenge marijuana gov legal limits of alcohol folic acid 1000mcg tablet alcohol mint drink called mohana detrol oxycontin urinalysis results alcohol stil oxycontin deafness codeine cough promethazine syrup ecstasy warning signs marijuana matthew hashish massachusetts pregnancy using clomid fuel tank synthroid products otc vicodin detox health education marijuana lesson plan games afghanistan cultivation opium first agoraphobic nosebleed pcp torrent stamp out marijuana opium kathmandu ridalin mixed with alcohol alcohol response times zyban canada order anabolic steroids treating osteoporosis too much testosterone women is phentermine safe lorazepam adult dosage effexor xr panic disorder ultram and robaxin atorvastatin lipitor 134523038 safety data pregn overdose of zestril clinical psychologist evaluations for alcohol abuse marijuana detox clean green tea hashish produzione hydrocodone pill description cirrhosis alcohol diovan 160 25 hct wbr vioxx lawyer health care staffing adipex diet pill on line pharmacy vicodin dutch marijuana law skin test amoxycillin allergy coming down on cocaine attorney celebrex texas vioxx crack cocaine production phentermine used for gas alcohol 25mg morphine patches lamisil sore throat grow blueberry marijuana soma arts san francisco flonase panic attacks 5th of alcohol sideffects of cocaine tramadol er dosages vicodin no presciption no consultation fast facts about cocaine lisinopril identify tablet will phentermine cause positive results crack cocaine user profile ketamine clinical trials for depression medicine protonix adipex results b6 b12 and folic acid tylenol wikipedia tazorac benzoyl peroxide information of ortho evra soma club houston tx talking back to prozac closes thing to triphasil history of opium penicillin and bread mold websites for ambien ultravate cream diflucan outdated l tyrosine with wellbutrin auto dur 108 knox college galesburg marijuana kentucky statistics on methamphetamine use buy xanax with online consultation infant fetal alcohol wellbutrin and serotonin dogs using prednisone side effects of extra strength tylenol marijuana menu g 13 online pharmacy no prescription needed lasix what does propoxyphene do paul mccartney lsd ranitidine how long before it works albuterol ipratropium alcohol black out drug and alcohol abuse prevention safe injectable testosterone tylenol college scholarships prescription information vicodin yasmin rios shemale ortho tri cylcen lo spotting color buy consultation doctor hydrocodone no online 37 effects phentermine side drugs tobacco and alcohol no prescription needed for cheap adipex side effects from stopping adderall xr alcohol center christian treatment soma bright eyes show drug online prescription vicodin colesterol lsd types od steroids marijuana addiction progression marijuana not a drug types of rubbing alcohol zyban nicotine patch xanax and memory jagjit singh alcohol celexa for kids national clearing house alcohol and drug list of words for marijuana patanol eye alcohol treatment and california sibutramine urine drug tests singulair and dangers and pregnancy flomax bph buy vicodin no prescription doctor cod generic cetirizine zoloft discontinuing alcohol injections for treatment morton's neuroma blacks and testosterone ceftin drug information pill benicar fetal alcohol syndrome at birth passing alcohol urinalysis test yasmin headache tylenol simply sleep review clonazepam patient advice including side effects 300 mg wellbutrin with 20mg lexapro brains on cocaine sildenafil vs vardenafil furosemide without prescription overnight delivery glipizide how to administer tylenol 100 mg prednisone and wound healing low testosterone and immunity ritalin sr side effects atorvastatin cva treatment cialis generic tadalafil best price compare psilocybin therapy aromastat vs exercise propecia alcohol essay fetal syndrome 2005 cialis followup november post viagra fluconazole polymorphic esterification of alcohols clomid drug interaction codiene and hydrocodone drug interaction problems soma massage therapy ottawa online prescription renova tramadol zithromax depakote and lexapro sertraline mixed with fluoxetine anaprox naprosyn naproxen fentanol versus oxycodone cocaine hotline what is cetyl stearyl alcohol alabama vioxx lawyer hydrocodone overdose alcohol withdrawal phases sleepiness fosamax danger plavix reimbursed by medicare cost a ounce of cocaine 5mg finasteride alcohol and toxicology oxycodone used decay depakote tooth yasmin boland moon marijuana rolling tips cheap cialis find cleaning a marijuana glass pipe alcohol and substance abuse treatment cincinnati side effects of prednisone drug phenergan and pregnancy test addiction and wellbutrin miralax generic growing marijuana in wisconsin 15 mg valium preganacy and cocaine use robb celeb christina ricci prozac nation hypertension acetaminophen what does cephalexin capsol look like reasons not to use steroids buy generic fioricet quit marijuana tips uk cialis risperdal withdrawal symptom bupropion and hydroxycut heroin abuse recovery agencies co dovan and plendil mircette tablet cialis vardenafil alcohol drug abuse organization albuterol sulfate drug zoloft equivalent crimes drug alcohol alcohol addiction boards detox oxycontin medication cocaine engineer best morphine let's take a trip effects og marijuana alcohol law bartenders dartmouth symposium on drugs and alcohol celebrex and canker sores synthroid cytomel weight loss relapse and heroin and environment dms-iv alcohol dependence case sample alcohol treatment centers adolescents ohio positive steroids loratadine and black licorice weight gain advair singulair on line prescriptions cialis pills mike ditka levitra valium and vicodin addiction alcohol mare super weston clonazepam drug information medication taking amoxic clav with tylenol generic online zyrtec synthroid wellbutrin pravachol actos aricept india phentermine no prescription 2007 buy cheap pharmacy phentermine usa does tamoxifen cause liver cancer pregancy alcohol march for dimes alcohol 58 alcohol effects to the body prednisone and hair loss umaxppc yasmin amy hasan directions for taking viagra what kind of drug is cocaine penicillin pk picture of ativan tablet dr rehm alcohol on iv morphine to morphine sr conversion biaxin use in cats morphine generation jugend vintage crew burnout k dur dosage best price for lexapro meridia cost glyburide drug interactions vaniqa cost liquid morphine doseage dosages valium macrobid 100 mg rate of recovery for marijuana alcohol drink desert storm nicotine patchs success rate facts vs fiction on marijuana symptoms of paxil doxazosin mesylate synthroid and pain killers hydrocodone strenght alcohol and nerve damage official site of yasmin davidds buy online renova energy from lortab 12-session alcohol and drug program education touching cocaine urine can you drink alcohol on acyclovir negative effects of marijuana smoking baycol settlement secrets methamphetamine manufacture recent ecstasy deaths causes of alcohol different penicillin producing mushrooms alcohol absorption inhibitor heroin and circulatory problems heparin coumadin what makes anabolic steroids different contraindications of flexeril taking aciphex and always feeling hungry ortho innovations alcohol proof for various drinks oxazepam 600 mg ziac alcohol smoking kids esomeprazole drugs phenergan syrup codeine beer kegs alcohol content diazepam online usa pharmacy lysergic acid diethylamide actos plendil ranitidine long term impotence altace lorazepam pharmacology what is $80 of marijuana called cocaine and peripheral neuropathy drug interactions diazepam acetaminophen dog steroid affect of alcohol on a fetus omeprazole magnesium 100 n propoxyphene cialis singular interaction is cephalexin a canine antibiotic naproxen 500 mg side effects morphine er nicotine patch and pregnancy ovulatio using clomid alcohol handbook isopropyl costs of morphine maine marijuana boric acid buy cheap effects marijuana prevacid versus nexium imitrex vs generic brand preferred effects of androgel on levitra ritalin cocaine prescription drug to reduce alcohol cravings pregnant and tylenol pm prilosec dose for gerd seborrheic dermatitis and sprays containing alcohol azithromycin to treat gonnorhea naltrexone and ms marijuana legalization and the black market phentermine 40mg metrogel mole walgreens prescription for 100 mcg synthroid is ultracet a narcotic drug no alcohol good nights sleep synergism between alcohol and steroids tylenol televishon comercial heal my propecia side effects phentermine kosmix topic page when did cipro go generic asthma and ibuprofen sildenafil citrate and zocor oral testosterone zyban for sale drinking alcohol and nosebleeds side effects for xanax did cayce drink alcohol zyprexa hair loss wieght gain acetaminophen codeine 3 does zyrtec make a generic cocaine test remedies good effects and causes of alcohol access to alcohol cheap phentermine c o d marijuana tools loratadine online pharmacy alcohol high blood sugar sibutramine merida cheap domain phentermine p4p nsk ru ordering hydrocodone with no prescription ads on alcohol or tobacco make a alcohol still cyanocobalamin brand name neurontin multiple sclerosis similar pills yasmin ortho evra colorado louviers medical use marijuana legal symptons of withdrawel from cocaine clomid serophere clomiphene interesting facts ic paroxetine decatur alabama vioxx lawyer take ecstasy with sertraline metformin in cirrhosis ortho carolina huntersville marijuana plant fungus and disease teen alcohol abuse stories effects fenofibrate side tablet tricor cyclobenzaprine supplier adipex and prozac effects of ibuprofen and marijuana can ritalin be altered at home graph of teens using marijuana mircale gro tomato plant food marijuana naproxen apap paxil cr paroxetine ativan antianxiety drug ortho's isotox naltrexone odor low cost xenical phentermine 15mg fed ex overnight conseco jose steroids heat from water and isopropyl alcohol donating blood marijuana marijuana being used cialis viagra levitra tramadol clomiphene citrate first available cialis on line erectile dysfunction pill 19 vaniqa coupons anabolic steroids from thailand clarityne loratadine tramadol chlorhydrate supply price fluconazole lipitor interaction is there tylenol in oxycontin marijuana cabo hydrocodone 5-50 what does generic soma look like cheap online aciphex apg minocycline side effects fun fact about alcohol xanax time released alcohol drink receipt overnight prednisone delivery medroxyprogesterone and pregnancy planning flexaril valium social anxiety and ritalin order cheap bontril morphine pump trial michigan alcohol and tobacco commission alcohol and drug addiction jobs va hi gain alcohol program does wellbutrin change your metabolism pantoprazole 40 mg generic ciales tadalafil claritin prescription penicillin dosage kidney infection marijuana anal sex diabetes type 2 sugar alcohol alcohol houston treatment pictures of marijuana pounds free inpatient alcohol phoenix marijuana colonial celexa and 22central sleep apnea 22 glutamine and alcohol lsd spiral program marijuana used for adhd tramadol scheduling crack cocaine additions does klonopin cause vivid dreams ciprofloxacin side effects in dogs zocor and weight gain decriminalize marijuana canada arthritis pain reliever tylenol cocaine in blood stream by touching portland university drug alcohol studies alcohol and kidney damage oxycontin treatment withdrawal folic acid overdose during pregnancy clarinex doseage azithromycin and ear pain can pravachol lower blood pressure cle drug and alcohol seminar canine loratadine dosage medical reasons alcohol and native american intravitreal kenalog injections cocaine porn zyban xanax zyrtec tablet overuse albuterol inhaler analgesia morphine drug seroquel mixing alcohol and marijuana effects relationships klonopin subconscious vardenafil hcl 20mg 0.1mg clonidine effects elavil medication side sertraline oline myspace layout and alcohol actos information urinalysis blood alcohol purchase 30 mg phentermine no prescription nasonex for infants difference between paxil or lexapro mention types of alcohol ld 50 blood alcohol level alcohol is my anti drug over-the-counter amphetamines marijuana in afganistan injectable amoxicillin in canada lisinopril sildenafil paxil lawsuit vicodin foreign no prescription pharmacy after effexor loss weight picture of alcohol ads methylphenidate and d2 receptors actos phentermine imitrex marijuana grow gides arizona alcohol commission coumadin lab tests adderall drug test how long effects of heroin on babies nicotine gum health risk zyrtec gifts nizoral cream without a perscrition graphs on alcohol effects society for alcohol research no nicotine cigaretts winston dose of tetracycline for rat families dealing with alcohol article cocaine south america data trend women alcohol quantitiy pcp and lsd treatments after childbirth effects alcohol effexor xr buy oxycodone cod brand cialis name accupril lisinopril quinapril hcl klonopin withdrawal side effects buy in phentermine uk hctz 12.5 lisinopril 20mg compare crestor to lipitor information on alesse ngoc pham heroin pellets ibuprofen vs naproxen sodium oxford health care fioricet buying premarin on the internet zoloft generic brand clomid get pregnant free medication depakote alcohol licence az captopril suppression test cialis levitra viagra comparisons from lexapro to celexa morphine in pulmonary edema changing from wellbutrin to effexor affects of marijuana slot machines celebrex valtrex information on merck ethics vioxx interstitial cystitis prempro hrt songs about lsd mexico tussionex buy softtabs for sale tylenol brand identifier children on ecstasy mold marijuana heroin stereo difference oxycodone oxycontin meridia migraine headaches spina bifida folic acid benefit testosterone atorvastatin pravastatin cost medicine terbinafine hcl death effects lipitor side ambien prescription carisoprodol heroin addiction self help ups driver delivers marijuana does lexapro treat ocd oxycontin duration in urine buy drug satellite tv vicodin online is there a generic for celebrex neurontin warnings alcohol treatment centers-new haven ct ortho clinical rochester phentermine order no scripts overnight delivery vicodin usage shanghai ecstasy red silicone canada where to get anabolic steroids t suzuki acetaminophen oxycontin medicine buy online avandia cardiovascular mortality generic lasix otc viagra generic cheap discounted cheapest online remeron weaning schedule snorting flexeril alcohol enema murder alcohol after breast augmentation drug category of ecstasy achy back from jogging or cialis marijuana effects on the learning case studies dealing with alcohol does excessive hydrocodone cause muscular pain augmentin how to take dangers of atenolol prednisone induced cushing zoloft make you gain weight zocor and erectile disfunction north slope alaska laws on alcohol synthroid 0.5 mcg what is avandia buy norco pills com ortho pest identification phentermine no dr note is lsd bad for you skelaxin muscle relaxer amaryl generic common side effects zocor vardenafil sale generic prilosec for personal use medicine diclofenac sodium negative stories lsd singulair tx for migraines loratadine structure penicillin buy effects of drinking rubbing alcohol valium driving swollen liver from acetaminophen john sajo marijuana oregon avandia legal issues market for afghanistan opium what drug company makes celexa is oxycontin available in generic fluoxetine can you drink alcohol vytorin norvasc alcohol behandling death by alcohol numbers per year nio2 inhaled steroids nexium maker women excess testosterone high dose folic acid chemical formula of acetaminophen alcohol wordpress com celexa reactions to alcohol raynaud's phenonomen toprol xl depakote does it affect the kidneys clomid precautions maintenance therapy for alcohol withdrawal cipro jagged little pill willow enterprises tylenol before after pictures steroids digital ortho quads download texas mixing clonazepam and diflucan bupropion generico en mexico alcohol lowers your hearing acuity morphine and dilaudid causing pain loratadine ambien buy alprazolam online pharmacy ordering oxycontin overseas cialis cialis viagra viagra trazadone or trazodone cocaine vessel michigan marijuana granholm bill michigan marijuana monterey county head shop alcohol withdrawal ratings vicodin propoxy-n apap flomax morph medication dose information for amoxicillin mao inhibitor zoloft migraine headaches alcohol anabolic steroids on credit card discount online phentermine fda approved medications cialis compare prices adipex online approval effexor rx bacteria alcohol paul mitchell and cocaine interesting facts marijuana dilantin craniotomy alcohol liquor or beer first prescription miralax new hampshire vioxx heart lawyer celebrex for sale celexa withdrawal and weight loss metformin pregnancy infertility