Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не получается изменить баланс пользователя / 4 сообщений из 4, страница 1 из 1
03.09.2014, 05:09
    #38735615
Не получается изменить баланс пользователя
Есть страница пользователя, которая вызывается методом GET на которой 2-е формы для пополнения и штрафа вот ее листинг
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
<?php
	session_start();
	include("baza.php");
	if($_SESSION["status"] == true && isset($_SESSION["operatorId"]) && $_SESSION["operatorId"] != "" && isset($_SESSION["password"]) && $_SESSION["password"] != "")
	{
		$q = mysql_query("SELECT companyId FROM operators WHERE id='$_SESSION[operatorId]' AND password='$_SESSION[password]'");
		if(mysql_num_rows($q) == 0)
			header("Location:/");
	}
	else
		header("Location:/");
	if(!isset($_GET["id"]) || $_GET["id"] == "")
		header("Location:/");
	
	$res = mysql_fetch_row($q);
	$q = mysql_query("SELECT * FROM drivers WHERE id='$_GET[id]'");
	if(mysql_num_rows($q) == 0)
		header("Location:/");
	else
		$res = mysql_fetch_assoc($q);
	include("lang.php");
?>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Биржа такси</title>    
		<link rel="stylesheet" type="text/css" href="css/index.css" media="all">
		<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
		<link type="text/css" rel="stylesheet" href="css/table.css">
		<script>
			$(document).ready(function(){
				$('body').on("click",".add_money",function(){
					var th = $(this);
					var sum = $(this).parent().find(".p_inp").val();
					var driver = $(this).parent().find(".id_driver").val();
					var company = $("#id_company").val();
					if(isFinite(sum))
					{
						if(parseFloat(sum) > 0)
						{
							$.ajax({
								url:"ajax/money.php",
								type:"post",
								data:"sum="+sum+"&driver="+driver+"&company="+company,
								success:function(rdata)
								{
									if(rdata == "NO")
										alert("У Вас недостаточно средств!");
									else if(rdata == "")
										alert("Кошелек  не удалось пополнить! Попробуйте еще раз.");
									else
									{
										$(th).parent().find(".p_inp").val("");
										$(".bl span a").text(rdata);
										alert("Кошелек  удачно пополнен!");
									}
										
								}
							});
						}
						else
							alert("Введите корректное число!");
					}
					else
						alert("Введите корректное число!");
				});
				
				// Штраф
				$('body').on("click",".straf",function(){
					var th = $(this);
					var sum = $(this).parent().find(".s_inp").val();
					var driver = $(this).parent().find(".id_driver").val();
					var company = $("#id_company").val();
					if(isFinite(sum))
					{
						if(parseFloat(sum) > 0)
						{
							$.ajax({
								url:"ajax/straf.php",
								type:"post",
								data:"sum="+sum+"&driver="+driver+"&company="+company,
								success:function(rdata)
								{
									if(rdata == "NO")
										alert("У пользователя нет средств для списания штрафа!");
									else if(rdata == "")
										alert("Не удалось списать деньги со счета! Попробуйте еще раз.");
									else
									{
										$(th).parent().find(".s_inp").val("");
										$(".bl span a").text(rdata);
										alert("Оштрафован!");
									}	
								}
							});
						}
						else
							alert("Введите корректное число!");
					}
					else
						alert("Введите корректное число!");
				});
				
			
			});
		</script>
	</head>
	<body>
		<div id="wrap">
			<input id="cmpId" type="hidden" value="<?=$ress[0]?>" />
			<br>
			<center><font size=6 color=red><b>Пользователь</b></font>
				<table class="table1" border="1">
				
					<tr>
						<td><font size=4 color=MidnightBlue>Имя:</td>
						<td><?=$res['fio']?></td>
					</tr>
					<tr>
						<td><font size=4 color=MidnightBlue>Телефон:</td>
						<td><?=$res['phone']?></td>
					</tr>
		
				</table><br>
				
				<input size='7' class='p_inp tophead-search' />
								<button class='add_money'/>Пополнить</button><br>	
								<input class='id_driver' type='hidden' value='$res[id]' />
				
				<br>
				<input size='7' class='s_inp tophead-search' />
								<button class='straf' >Оштрафовать</button><br>	
								<input  class='id_driver' type='hidden' value='$res[id]' />
				
				
				</center>
				
		</div>	
	</body>
</html>



листинг ajax/straf.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<?php
	if($_POST)
	{
		include("../baza.php");
		$q = mysql_query("SELECT balans FROM drivers WHERE id='$_POST[driver]'");
		$res = mysql_fetch_row($q);
		$sum2 = $res[0] - $_POST["sum"];
		if($sum2 < 0)
			echo "NO";
		else
		{
			$qq = mysql_query("UPDATE drivers SET balans='$sum2' WHERE id='$_POST[driver]'");
			if($qq)
			{
				$q = mysql_query("SELECT balans FROM company WHERE id='$_POST[company]'");
				$res = mysql_fetch_row($q);
				$sum2 = $res[0] + $_POST["sum"];
				$q3 = mysql_query("UPDATE company SET balans='$sum2' WHERE id='$_POST[company]'");
				if($q3)
				{
					mysql_query("INSERT INTO transactions (type,source,dest,sum,in_out,dr_cmp) VALUES ('Штраф','$_POST[driver]',$_POST[company],'$_POST[sum]','in','company')");
					echo $sum2;
				}
			}
		}
	}
?>



Не получается оштрафовать выводит имя и телефон пользователя правильно, но похоже что не привязывается его id к обработки штрафа, не могу понять что я упустил
...
Рейтинг: 0 / 0
03.09.2014, 12:54
    #38736084
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается изменить баланс пользователя
мдя... не хочу задеть ТС, просто именно на его теме понял, почему новичку трудно сделать самому...спешит на форум быстрее чем осознает проблему... осознал бы, знал бы где искать решение, ну или описывал бы задачу болле чотко.

============
Техническая проблема в чом?

не получаеться изменить баланс - это проявление проблемы.
а ошибка в чом?

поясню суть вопроса.

допустим у меня код, реализующий алгоритм в 10 шагов
пускай каждый шаг делает функция fn, входными данными для неё является результат предыдущей.
(чтоб яснее, допустим первая проверит логин, вторая достанет ключи шифрования, третья чтото шифрует, четвертая подключаеться к базе, пятая находит в базе чтото, шестая чтото обновляет, седьмая записывает в другую базу лог о действии, восьмая формирует ответ пользователю, девятая пишет в лог замеры времени работы или чото там, и 10 отдаёт ответ.

каждая функция если у неё ошибка, бросает исключение. получаем код.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?php
$input = array_merge($_GET,$_POST,...);

try{
$step1 = f1($input);
$step2 = f2($step1);
....
f10($step9);
}
catch(Ecxeption $e)
{
echo "SOMETING WRONG";
}

?>



и ТС пишет, у меня не получилось..и? что не получилось?
первое действие, второе третье... какое действие не получилось...помагать в чом?

бери дописывай код, смотри что получаеться, на каждом шаге, найдёшь где начинаеться не то и тогда спросишь.

а гадать никто не будет что не работает...
...
Рейтинг: 0 / 0
08.09.2014, 14:56
    #38740617
meg17m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается изменить баланс пользователя
PHP, HTML и JS в одном файле - это, конечно, жесть.
Я когда-то работал над таким сайтом 2 месяца. Причем, крупный магазин был ion.ua.
...
Рейтинг: 0 / 0
08.09.2014, 15:35
    #38740685
SmeL_md
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается изменить баланс пользователя
Сергей СтрогановНе получается оштрафовать выводит имя и телефон пользователя правильно, но похоже что не привязывается его id к обработки штрафа, не могу понять что я упустилза ajax/straf.php я бы с удовольствием Вас оштрафовал бы и выгнал.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не получается изменить баланс пользователя / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]