Re: Randomly missing a function
| From: | Micah Gersten | Date: | Thu, 17 Jul 2008 20:42:59 +0000 |
| Subject: | Re: Randomly missing a function | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-276996@lists.php.net to get a copy of this message | ||
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
>
>