@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'; ?>
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
маловато кода
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы