@1VAAS1

Почему не работает форма генерации промокодов?

Добрый день, есть форма в админке для генерации промокодов, суть в том что при генерации пишет "промокоды сгенерированы успешно" но в таблице не отображается и запись в бд не идет, если же делать запись напрямую из phpmyadmin то все успешно отображается, в чем проблема ?

вот код
<?php include_once 'init.php'; ?>
<?php
if(trim($_POST['action'])=='generate'){
include "includes/coupons.php";
header('Content-Type: application/json; charset=utf-8');
$response=array();
if(intval($_POST['count'])<1){
$response['status']='error';
$response['message']='Количество генерируемых промо-кодов должно быть не менее 1!';
} elseif(intval($_POST['count'])>100){
$response['status']='error';
$response['message']='Количество генерируемых промо-кодов должно быть не более 100!';
} elseif(floatval($_POST['amount'])<0.01){
$response['status']='error';
$response['message']='Номинал промо-кода должен быть не менее $0.01!';
} else {
for($i=1;$i<=intval($_POST['count']);$i++){
$code=coupon::generate(8).coupon::generate(8);
mysql_query("INSERT INTO `promo_codes` SET `code`='".$code."', `amount`='".floatval($_POST['amount'])."', `time`='".time()."';");
}
$response['status']='success';
$response['message']='Промо-коды успешно сгенерированы!';
}
echo json_encode($response, JSON_UNESCAPED_UNICODE);
exit;
}
if(trim($_POST['action'])=='remove'){
header('Content-Type: application/json; charset=utf-8');
$response=array();
mysql_query("DELETE FROM `promo_codes` WHERE `pcid`='".intval($_POST['id'])."';");
$response['status']='success';
$response['message']='Промо-код успешно удалён!';
echo json_encode($response, JSON_UNESCAPED_UNICODE);
exit;
}
?>
<?php
$pages=array();
$pages['count']=mysql_result(mysql_query("SELECT COUNT(*) FROM `promo_codes`;"), 0, 0);
$pages['per']=50;
if(intval($_GET['page'])>ceil($pages['count']/$pages['per'])){
$pages['current']=ceil($pages['count']/$pages['per']);
} else {
$pages['current']=((intval($_GET['page'])>1)?intval($_GET['page']):1);
}
$pages['show']=9;
$pages['url']=str_replace('?page='.intval($_GET['page']), '', str_replace('&page='.intval($_GET['page']), '', $_SERVER['REQUEST_URI']));
if(strpos($pages['url'], '?')===false){
$pages['url']=$pages['url'].'?page=(:page)';
} else {
$pages['url']=$pages['url'].'&page=(:page)';
}
$pagingHtml=paginator::getHtml($pages['count'], $pages['current'], $pages['per'], $pages['show'], $pages['url']);
$get_items=mysql_query("SELECT * FROM `promo_codes` ORDER BY `pcid` DESC LIMIT ".($pages['per']*($pages['current']-1)).", ".$pages['per'].";");
?>
<?php
$pagetitle='Промо-коды &bull; Администрирование &bull; '.$config['sitename'];
?>
<?php include 'includes/aheader.php'; ?>

<div class="modal fade" id="createCodes" tabindex="-1" role="dialog" aria-labelledby="createCodesLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title" id="createCodesLabel">Генерация промо-кодов</h4>
</div>
<div class="modal-body">
<form id="createCodesForm">
<input type="hidden" name="action" value="generate">
<div class="form-group">
<label>Количество промо-кодов:</label>
<input type="number" name="count" class="form-control" placeholder="Допустимое количество за раз - от 1 до 100">
</div>
<div class="form-group">
<label>Номинал одного промо-кода:</label>
<input type="number" name="amount" class="form-control" placeholder="В долларах, разделитель дробной части - точка">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Отмена</button>
<button type="button" class="btn btn-success" id="createCodesSubmit" onclick="generatePromoCodes();">Сгенерировать</button>
</div>
</div>
</div>
</div>

<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Промо-коды<button class="btn btn-primary pull-right" data-toggle="modal" data-target="#createCodes">Создать промо-коды</button></h1>
</div>
</div>

<?php if(mysql_num_rows($get_items)){ ?>

<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Код</th>
<th>Номинал</th>
<th>Создан</th>
<th>Статус</th>
<th></th>
</tr>
</thead>
<tbody>
<?php while($item=mysql_fetch_assoc($get_items)){ ?>
<tr>
<td><?php echo $item['pcid']; ?></td>
<td><?php echo $item['code']; ?></td>
<td>$<?php echo $item['amount']; ?></td>
<td><?php echo date('d.m.Y H:i', $item['time']); ?></td>
<td><?php if($item['status']=='1'){ ?><span class="label label-success">Код активирован</span><?php } ?><?php if($item['status']=='0'){ ?><span class="label label-info">Ожидает активации</span><?php } ?></td>
<td align="right"><a href="javascript:void(0);" onclick="removePromoCodes('<?php echo $item['pcid']; ?>'); return false;" class="btn btn-xs btn-danger">Удалить промо-код</a></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>

<?php
if($pages['count']/$pages['per']>1){
echo $pagingHtml;
}
?>

<?php } else { ?>

<div class="alert alert-warning">Здесь пока ничего нет.</div>

<?php } ?>

<script>
function generatePromoCodes(){
var data=$('#createCodesForm').serialize();
$('#createCodesSubmit').prop('disabled', true);
$.post('/admin/promo/', data, function(response){
$('#createCodesSubmit').prop('disabled', false);
new Noty({type:response.status, timeout:3000, layout:'topRight', text:response.message}).show();
if(response.status=='success'){
setTimeout(function(){
location.reload();
}, 3000);
}
});
}
function removePromoCodes(id){
$.post('/admin/promo/', 'action=remove&id='+id, function(response){
new Noty({type:response.status, timeout:3000, layout:'topRight', text:response.message}).show();
if(response.status=='success'){
setTimeout(function(){
location.reload();
}, 3000);
}
});
}
</script>

<?php include 'includes/afooter.php'; ?>
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
маловато кода
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽