This is a discussion on Randomly missing a function within the PHP General forums, part of the PHP Programming Forums category; An online signup script is randomly missing part of the task. These scripts are involved: sub_signup.php include/cc_proc.php - ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
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 |
|
|||
|
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 > > |
|
|||
|
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 |
|
|||
|
MIcah,
Duh!! So damned obvious. We'll try that. Thanks - Miles On Thu, Jul 17, 2008 at 5:42 PM, Micah Gersten <micah@onshore.com> 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 > > > > > |