PHP将一个文本框的值放在数组中

时间:2013-01-15 18:22:28

标签: php arrays textbox

所以我有这个"形式"和一个带有文章的数据库。我想做的是以下内容: 我有一个名为" inputaddtobill"的单个文本框,当焦点被释放时,会自动按下一个按钮。

现在在文本框中,应该放置条形码。这些条形码指的是文章名称。 每当我在文本框中放置条形码时,都应显示相应的文章,当我将下一个条形码放入其中时,应该显示2篇文章

这是我的HTML

<html>
<head>
<title>Verkoop</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="../js/artverklostfoc.js"></script>
<link rel="icon" href="../img/favicon.png">
<link rel="stylesheet" href="../css/style.css"/>
</head>
<body>
<form method="post" action="kassaverkoop.php?a=b" name="frmkassaverkoop">
<input type='text' onBlur='lostFocus()' name='inputaddtobill' class='inputaddtobill'>
<input type='submit' value='toevoegen' name='butaddtobill' id='butaddtobill' />
</form>
</body>
</html>

这是我的php

<?php
include "connect_to_mysql.php";
if(isset($_GET['a']) && $_GET['a'] == 'b')
{
    $input = array($_POST['inputaddtobill']);
    $queryart = mysql_query("SELECT * FROM tbl_artikel WHERE FLD_Barcode IN ($input)");

    while ($row = mysql_fetch_array($queryart))
    {
        echo $row['FLD_Artikel'];
    }
}
?>

1 个答案:

答案 0 :(得分:0)

您的代码无效。

$input = array($_POST[...']);

创建一个在索引0处具有单个值的数组 - 来自$ _POST的值。

然后在查询中直接使用$ input。这意味着您在字符串上下文中使用数组,这意味着您实际上将单词Array插入查询字符串并以

结尾
SELECT ... WHERE FLD_Barcode IN (Array)

同样请注意,即使这可行,您也可以直接将用户提供的数据插入查询字符串,让您对SQL injection attacks开放。