[PHP] Randomly missing a function

2008-07-17 Thread Miles Thompson
An online signup script is randomly missing part of the task. These scripts
are involved:
sub_signup.php
   include/cc_proc.php - does the CC (credit card) processing
   include/user_maint.php - inserts the new subscriber into the database

When the CC processing finishes, with the success flag, user_maint.php is
included, and a few lines later the createUser($params) function therein is
called to create the user. Every mysql_ function in user_maint.php is
backstopped with a die() if it fails. But sometimes it appears that the call
to this script, or the createUser() function just isn't made.

What seems to happen, randomly, is that the script charges on so to speak,
sending an advisory email to the office manager that there is a new
subscriber, and calling sub_signup_thanks.php, which displays a completion
message, etc.

In all of these cases the credit card processing has succeeded. Sometimes
people have tried to sign up two or three times, the card processes, but no
addition is made to the database. It's driving us nuts! Any thoughts?

Regards - Miles

Infrastructure: Apache 2.2, PHP 5.x, MySQL 5

Code:
switch ($ret) {
case CC_SUCCESS:
require 'include/user_maint.php';
$cctype = cc_getCardType($cc);
if ($cctype == 'Visa') $cctype = 'VISA';
elseif ($cctype == 'MasterCard') $cctype = 'M-C';
//Shouldn't happen in case CC_SUCCESS, but better safe than sorry
else die('We don\'t support this credit card');

$params = array(
'firstname'   = $first,
// various fields
'postal_code' = $postal_code,
'pay_method'  = $cctype
);
// createUser is a function in user_maint
createUser($params);
// sendEmail is func in user_maint, advises office manager
sendEmail('New subscriber!!!', Already paid $amount by credit
card, $fields);
require 'sub_signup_thanks.php';//Grabs authCode from $result
return;

} //other situations dealt with, and properly closed


Re: [PHP] Randomly missing a function

2008-07-17 Thread Micah Gersten
Try returning a value from CreateUser and checking it before sending the
E-Mail.

Thank you,
Micah Gersten
onShore Networks
Internal Developer
http://www.onshore.com



Miles Thompson wrote:
 An online signup script is randomly missing part of the task. These scripts
 are involved:
 sub_signup.php
include/cc_proc.php - does the CC (credit card) processing
include/user_maint.php - inserts the new subscriber into the database

 When the CC processing finishes, with the success flag, user_maint.php is
 included, and a few lines later the createUser($params) function therein is
 called to create the user. Every mysql_ function in user_maint.php is
 backstopped with a die() if it fails. But sometimes it appears that the call
 to this script, or the createUser() function just isn't made.

 What seems to happen, randomly, is that the script charges on so to speak,
 sending an advisory email to the office manager that there is a new
 subscriber, and calling sub_signup_thanks.php, which displays a completion
 message, etc.

 In all of these cases the credit card processing has succeeded. Sometimes
 people have tried to sign up two or three times, the card processes, but no
 addition is made to the database. It's driving us nuts! Any thoughts?

 Regards - Miles

 Infrastructure: Apache 2.2, PHP 5.x, MySQL 5

 Code:
 switch ($ret) {
 case CC_SUCCESS:
 require 'include/user_maint.php';
 $cctype = cc_getCardType($cc);
 if ($cctype == 'Visa') $cctype = 'VISA';
 elseif ($cctype == 'MasterCard') $cctype = 'M-C';
 //Shouldn't happen in case CC_SUCCESS, but better safe than sorry
 else die('We don\'t support this credit card');

 $params = array(
 'firstname'   = $first,
 // various fields
 'postal_code' = $postal_code,
 'pay_method'  = $cctype
 );
 // createUser is a function in user_maint
 createUser($params);
 // sendEmail is func in user_maint, advises office manager
 sendEmail('New subscriber!!!', Already paid $amount by credit
 card, $fields);
 require 'sub_signup_thanks.php';//Grabs authCode from $result
 return;

 } //other situations dealt with, and properly closed

   

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



Re: [PHP] Randomly missing a function

2008-07-17 Thread Shawn McKenzie

Micah Gersten wrote:

Try returning a value from CreateUser and checking it before sending the
E-Mail.

Thank you,
Micah Gersten
onShore Networks
Internal Developer
http://www.onshore.com


Exactly!  You'll find that CreateUser() is called, however for whatever 
reason the user isn't created.  Do as Micah suggests and also add so 
error checking to CreateUser() to find out why the user isn't created.


-Shawn

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



Re: [PHP] Randomly missing a function

2008-07-17 Thread Miles Thompson
MIcah,

Duh!! So damned obvious.

We'll try that.

Thanks - Miles


On Thu, Jul 17, 2008 at 5:42 PM, Micah Gersten [EMAIL PROTECTED] wrote:

 Try returning a value from CreateUser and checking it before sending the
 E-Mail.

 Thank you,
 Micah Gersten
 onShore Networks
 Internal Developer
 http://www.onshore.com



 Miles Thompson wrote:
  An online signup script is randomly missing part of the task. These
 scripts
  are involved:
  sub_signup.php
 include/cc_proc.php - does the CC (credit card) processing
 include/user_maint.php - inserts the new subscriber into the database
 
  When the CC processing finishes, with the success flag, user_maint.php is
  included, and a few lines later the createUser($params) function therein
 is
  called to create the user. Every mysql_ function in user_maint.php is
  backstopped with a die() if it fails. But sometimes it appears that the
 call
  to this script, or the createUser() function just isn't made.
 
  What seems to happen, randomly, is that the script charges on so to
 speak,
  sending an advisory email to the office manager that there is a new
  subscriber, and calling sub_signup_thanks.php, which displays a
 completion
  message, etc.
 
  In all of these cases the credit card processing has succeeded. Sometimes
  people have tried to sign up two or three times, the card processes, but
 no
  addition is made to the database. It's driving us nuts! Any thoughts?
 
  Regards - Miles
 
  Infrastructure: Apache 2.2, PHP 5.x, MySQL 5
 
  Code:
  switch ($ret) {
  case CC_SUCCESS:
  require 'include/user_maint.php';
  $cctype = cc_getCardType($cc);
  if ($cctype == 'Visa') $cctype = 'VISA';
  elseif ($cctype == 'MasterCard') $cctype = 'M-C';
  //Shouldn't happen in case CC_SUCCESS, but better safe than sorry
  else die('We don\'t support this credit card');
 
  $params = array(
  'firstname'   = $first,
  // various fields
  'postal_code' = $postal_code,
  'pay_method'  = $cctype
  );
  // createUser is a function in user_maint
  createUser($params);
  // sendEmail is func in user_maint, advises office manager
  sendEmail('New subscriber!!!', Already paid $amount by credit
  card, $fields);
  require 'sub_signup_thanks.php';//Grabs authCode from $result
  return;
 
  } //other situations dealt with, and properly closed