@arturka_v_10

Как исправить появление нулевых строк и значений в БД?

Причина проблемы мне не до конца известна. Получается так, что при переходе на определенную страницу (ее код ниже) автоматически вбивается строка с нулевыми значениями. Есть еще одна страница, на которой я вообще не пойму из-за чего появляется тоже самое. Помогите разобраться. Есть подозрение, что из-за "header("Location: $web[url]");" проблемка.
<?php
if(!$_SESSION['usern']) { header("Location: $web[url]"); }
if(idinfo($_SESSION['user_id'],"status") !== "3") { header("Location: $web[url]"); }
$type = protect($_GET['type']);
$id = protect($_GET['id']);
?>

<ol class="breadcrumb">
							  <li><a href="<?php echo $web['url'];?>"><?php echo $web['web_name']; ?></a> <i class="icon-right-open-1"></i></li>
							  <li class="active">GROUP (суммы вложений | выплат)</li>
							</ol>					
							<div class="bg-color white rounded event-item">
									<div class="box-padding narrow">
										<div class="media">
		  
		                                        Выставление сумм выплат и вложений в проекты, отображаемые в разделе выплат.
												<br>
												<br>
												<h5>СТАТИСТИКА по 1</h5>
									<form action="" role="form" method="POST" style="float: left;">Вложено:  <input name="up_1" type="text" size="8" maxlength="8" class="summ" value=""></form>
									<form action="" role="form" method="POST" style=" float: left; padding-left: 20;">Выведено: <input name="down_1" type="text" size="8" maxlength="8" class="summ" value=""></form>
									            <br>
												<br>
												<br>
												<h5>СТАТИСТИКА по 2</h5>
									<form action="" role="form" method="POST" style="float: left;">Вложено:  <input name="up_2" type="text" size="8" maxlength="8" class="summ" placeholder="100" value=""></form>
									<form action="" role="form" method="POST" style=" float: left; padding-left: 20;">Выведено: <input name="down_2" type="text" size="8" maxlength="8" class="summ" value=""></form>
									            <br>
												<br>
												<br>
												<h5>СТАТИСТИКА по 3</h5>
									<form action="" role="form" method="POST" style="float: left;">Вложено:  <input name="up_3" type="text" size="8" maxlength="8" class="summ" value=""></form>
									<form action="" role="form" method="POST" style=" float: left; padding-left: 20;">Выведено: <input name="down_3" type="text" size="8" maxlength="8" class="summ" value=""></form>
									            <br>
												<br>
												<br>
												<h5>СТАТИСТИКА по 4</h5>
									<form action="" role="form" method="POST" style="float: left;">Вложено:  <input name="up_4" type="text" size="8" maxlength="8" class="summ" value=""></form>
									<form action="" role="form" method="POST" style=" float: left; padding-left: 20;">Выведено: <input name="down_4" type="text" size="8" maxlength="8" class="summ" value=""></form>
									            <br>
												<br>
												<br>
									               <h6>инфа о выплатах</h6>
									<form action="" role="form" method="POST" style="float: left;">новая выплата:
									<input name="down" type="text" size="8" maxlength="8" class="summ" value="">
									<input name="link" type="text" size="18" maxlength="88" class="summ" value=""></form>
   <form action="" method="post">
   <table width="99%" border="0" align="center">
  <tr>
    <td>сумма: </td>
	<td><input type="text" name="down" size="15"/></td>
  </tr>
  <tr>
    <td>линк: </td>
	<td><input type="text" name="link" value="" size="15" /></td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" value="внести в выплаты" style="height: 30px; margin-top:10px;" /></td>
  </tr>
</table>
</form>
</div>
		  <?php
		  $dadd = time();
		  
		  # Вносим запись о выплате - "down"
          $db = mysql_query("INSERT INTO down_money (down, date_add, link) VALUES ('$down','$dadd','link')");
		  $down = protect($_POST['down']);
		  if(empty($down)) { echo error("Вы не ввели сумму."); }
		  $link = protect($_POST['link']);
		  if(empty($link)) { echo error("Вы не ввели ссылку."); }
		  
		  #Все производные полей (down - выплаты и up - вложения соответственно)
			$up_1 = protect($_POST['up_1']);
			$up_2 = protect($_POST['up_2']);
			$up_3 = protect($_POST['up_3']);
			$up_4 = protect($_POST['up_4']);
			$down_1 = protect($_POST['down_1']);
			$down_2 = protect($_POST['down_2']);
			$down_3 = protect($_POST['down_3']);
			$down_4 = protect($_POST['down_4']);
			
			$up_1=$_POST['up_1'];
			$up_2=$_POST['up_2'];
			$up_3=$_POST['up_3'];
			$up_4=$_POST['up_4'];
			$down_1=$_POST['down_1'];
			$down_2=$_POST['down_2'];
			$down_3=$_POST['down_3'];
			$down_4=$_POST['down_4'];
			
			# приплюсовываются значения
			$db = mysql_query("UPDATE pays SET up_1=up_1+'$up_1', up_2=up_2+'$up_2', up_3=up_3+'$up_3', up_4=up_4+'$up_4', down_1=down_1+'$down_1', down_2=down_2+'$down_2', down_3=down_3+'$down_3', down_4=down_4+'$down_4' WHERE id = '1'");
			
		  ?>
										  </div>
										</div>
									</div>
  • Вопрос задан
  • 2293 просмотра
Решения вопроса 1
gephaest
@gephaest
PHP, Yii2, Laravel
# Вносим запись о выплате - "down"
          $db = mysql_query("INSERT INTO down_money (down, date_add, link) VALUES ('$down','$dadd','link')");
        $down = protect($_POST['down']);
        if (empty($down)) {
            echo error("Вы не ввели сумму.");
        }
        $link = protect($_POST['link']);
        if (empty($link)) {
            echo error("Вы не ввели ссылку.");
        }

Вероятнее всего из-за пустых переменных при обновлении страницы происходит запрос
INSERT INTO down_money (down, date_add, link) VALUES (null,[время],'link')

Добавьте проверки выше, и не делайте запрос, если переменная не установлена
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы