یک فرآیند چند بار تکرار شود

این تاپیک 1 پاسخ و 1 مشارکت کننده دارد . آخرین آپدیت توسط :  Azid Wer ،‏ 1 سال و 7 ماه پیش .

این تاپیک تاکنون 397 بازدید داشته است .

نویسنده پست
جمعه ، 17 آوریل 2015     8:00 ب.ظ #


Azid Wer

Subscriber
1 پست1 تاپیک

با سلام

در اسکریت سایتم می خواهم یک فرایند چند بار (مثلا 4 بار) تکرار شود ولی مشکلی که وجود دارد  بجای اجرای یکی از این فرایند تمامی فرایند ها تکرار می شود.

کد تابعی که چند بار تکرار شده است.


function PaymentWasSuccessfully1()
{
$payer_email = $_SESSION['user_email'];
$item_number = $_SESSION['item_id'];
$Service = $_SESSION['service'];
$phone = $_SESSION['user_phone'];
$dataJSON = json_decode(file_get_contents('./includes/Inc/paymentClass/' . $Service . '/info.json'));
if ($dataJSON->{'Back_TYPE'} == 'POST') {
$RefID = $_POST[$dataJSON->{'Back_TAG'}];
} else if ($dataJSON->{'Back_TYPE'} == 'GET') {
$RefID = $_GET[$dataJSON->{'Back_TAG'}];
}
$row = mysql_fetch_array(mysql_query("SELECT * FROM `items1` WHERE `id`='" . $item_number . "'"));
$web = mysql_fetch_array(mysql_query("SELECT * FROM `settings`"));
$web_admin = mysql_fetch_array(mysql_query("SELECT * FROM `admins`"));
$payment_amount = $row['price'];
$update = mysql_query("UPDATE settings SET earnings=earnings+$payment_amount");
$update = mysql_query("UPDATE items1 SET sales=sales+1 WHERE id='$item_number'");
$time = time();
$insert = mysql_query("INSERT buyers1 (service,item_id,buyer_email,buyer_phone,authority,time)
VALUES ('$Service','$item_number','$payer_email','$phone','$RefID','$time')");
$SMS_THEME_BUY = str_replace(array(
"[SITE_NAME]",
"[SITE_URL]",
"[ITEM_NAME]",
"[EMAIL_BUYER]",
"[PHONE_BUYER]"
), array(
$web['sitename'],
$web['url'],
$row['name'],
$payer_email,
$phone
), $web['SMS_THEME_BUY']);
echo SmsSender($phone, $SMS_THEME_BUY);
$array_str = array(
"[SITE_URL]",
"[ITEM_NAME]",
"[ITEM_Authority]",
"[ITEM_DOWNLOAD_LINK]"
);
$array_replace = array(
$web[url],
$row[name],
$RefID,
$web[url] . 'download/' . $email_code . '/email=' . $payer_email
);
$message = str_replace($array_str, $array_replace, base64_decode($web[etheme]));
$mail = new PHPMailer();
$mail->setFrom('info@hafile.ir');
$mail->addAddress($payer_email);
$mail->Subject = $web[sitename] . ' - دانلود محصول "' . $row['name'] . '"';
$mail->msgHTML($message);
$mail->addAttachment($row['main_file']);
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
$_SESSION['PaymentWasSuccessfully_Authority'] = $RefID;
header("Location: $web[url]CheckPayment");
}
}

کد تابع PaymentWasSuccessfully2,3,4 مانند بالاست بااین تفاوت که 'items1'و 'buyers1' تغییر می کنند

اما کدی که باید این فرایند را بررسی کند


<?php
if (isset($_SESSION['payment_error'])) {
echo 'پرداخت موفق آمیز نبود !';
if (empty($_SESSION['PAYMENT_ERR_MSG'])) {
echo error("به دلیل نا معلومی تراکنش با خطا مواجه شده است .");
} else {
echo error($_SESSION['PAYMENT_ERR_MSG']);
unset($_SESSION['PAYMENT_ERR_MSG']);
}
unset($_SESSION['payment_error']);
} elseif (isset($_SESSION['PaymentWasSuccessfully_Authority']) && isset($_SESSION['user_email']) && isset($_SESSION['item_name'])) {
echo PaymentWasSuccessfullyMsg();
}else {
if (!PaymentTrue($_SESSION['service'], 'true')) {
echo error("سروریس پرداختی از طرف سرور تایید نشد . با مدیر سایت تماس بگیرید .");
} else {
include 'includes/Inc/paymentClass/' . $_SESSION['service'] . '/' . $_SESSION['service'] . '.php';
if (PaymentFunc('', 'verify') == true) {
PaymentWasSuccessfully1();
PaymentWasSuccessfully2();
PaymentWasSuccessfully3();
PaymentWasSuccessfully4();
} else {
$_SESSION['payment_error'] = 'ERR';
header("Location: $web[url]CheckPayment");
}
}
}
?>

 

مشکلم در این بخش از کد است


if (PaymentFunc('', 'verify') == true) {
PaymentWasSuccessfully1();
PaymentWasSuccessfully2();
PaymentWasSuccessfully3();
PaymentWasSuccessfully4();
}

هدف اینست فرایند موردنظر از این چهار فرایند اجرا شود

با سپاس از راهنمایی تان

0  تشکر
یکشنبه ، 19 آوریل 2015     7:40 ب.ظ #


Azid Wer

Subscriber
1 پست1 تاپیک

توضیحات بیشتر
'items1'و 'buyers1'  مربوط به دیتابیس است 'items1' مشخصات مشتری  و 'buyers1' مشخصات خریدار را در دیتابیس ثبت می کند.

PaymentWasSuccessfully تابعی است که پس از پرداخت هزینه کد پیگیری همراه با فایل محصول خریداری شده به ایمیل خریدار ارسال می کند

مشکل اینجاست که چون در سایتم 4 بخش برای فروش محصول وجود دارد خریدار بجای دریافت یک ایمیل 4 ایمیل دریافت می کند

0  تشکر
پست 1 تا 2 (از مجموع 2 پست)

برای پاسخ دادن به این تاپیک باید وارد سایت شوید .