【发布时间】:2019-09-16 08:27:29
【问题描述】:
我对 php 和 html 编程非常陌生。我有一个用于将信息更新到 SQL DB 的表单。
我可以获得将信息发送到 SQL 的表单,但是一旦我在输入中添加了一个空格或者它们变得太长,它就会停止工作。
我已经到了我想要做的就是发送 $test 变量的地步。我还尝试使用 SP 本身直接将空格发送到 SQL 中,它工作得很好。任何建议表示赞赏。
<div class="form-popup" id="myForm">
<form action="../processors/unload.php" method = "POST" class="form-container" >
<h1>EDIT BOX</h1>
<label for="part-id"><B>PART ID</B></label>
<input type="text" placeholder="enter part ID" name="partID" required>
<label for="part-id"><B>BOW</B></label>
<input type="text" placeholder="BOW" name="bow" >
<label for="partid"><B>TUBE HEIGHT</B></label>
<input type="text" placeholder="TUBE HEIGHT" name="tube">
<label for="notes"><B>NOTES</B></label>
<input type="text" placeholder="notes" name="notes">
<br>
<label for="quality"><B>QUALITY</B></label>
<select name='quality' class='defectDrop'>
<option value='ok'>OK</option>
<option value='NOK'>NOK</option>
<option value='online'>ONLINE</option>
</select>
<label for="defect"><b>DEFECT</b></label>
<button type="submit" class="submit-button" id ="boo" >SUBMIT</button>
<button type="button" class="cancel-button" onclick=hideIt();>CLOSE</button>
</form>
</div>
<?php
include('../connect.php');
$partID = $_POST['partID'];
$quality = $_POST['quality'];
$notes = $_POST['notes'];
$bow = $_POST['bow'];
$tube = $_POST['tube'];
$test = "what up";
$sql = "EXEC dbo.php_test
@part_ID = " .$partID. "
, @notes = " .$test. " ";
echo $sql;
sqlsrv_query($conn, $sql);
sqlsrv_close($conn);
header("location: ../html/test.html");
【问题讨论】:
-
如果您启用错误 (stackoverflow.com/a/21429652/6362129),您看到了吗?而且我认为您目前面临受到 SQL 注入攻击的风险,这是一个巨大的安全风险,可能会暴露您的整个服务器 (blogs.msdn.microsoft.com/brian_swan/2010/03/04/…)。