powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не получается изменить баланс пользователя
4 сообщений из 4, страница 1 из 1
Не получается изменить баланс пользователя
    #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
Не получается изменить баланс пользователя
    #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
Не получается изменить баланс пользователя
    #38740617
Фотография meg17m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PHP, HTML и JS в одном файле - это, конечно, жесть.
Я когда-то работал над таким сайтом 2 месяца. Причем, крупный магазин был ion.ua.
...
Рейтинг: 0 / 0
Не получается изменить баланс пользователя
    #38740685
Фотография SmeL_md
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей СтрогановНе получается оштрафовать выводит имя и телефон пользователя правильно, но похоже что не привязывается его id к обработки штрафа, не могу понять что я упустилза ajax/straf.php я бы с удовольствием Вас оштрафовал бы и выгнал.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не получается изменить баланс пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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