我正在使用人们可以订购产品的表格。 产品的变量之一是:
$product1 = 'Baguette Cheese';
我在这样的形式中使用这个变量:
<td><?php echo $product1 ?></td>
<td>€ <?php echo number_format($prijs[$product1], 2); ?></td>
<td><input type="text" name="<?php echo $product1 ?>" size="3" /></td>
这样做,我无法读取名称attrib。使用$ _POST因为 Baguette 和奶酪之间有空格
这确实有效:
$product1 = 'Cheese-Burger';
但是在第一个 td 中显示了Cheese-Burger,我不想在它之间使用连字符。 所以我认为:将连字符放在一边,并删除名称中的空格,如下所示:
<td><input type="text" name="<?php echo str_replace(' ', '', $product1) ?>" size="3" /></td>
不幸的是,这不起作用,他无法阅读$ _POST。
如何在不使用 Baguette 和奶酪之间的连字符或下划线的情况下完成此项工作?
提交时:
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
echo $_POST[$product1]; // no result
}
答案 0 :(得分:1)
不幸的是,这不起作用,他无法阅读$ _POST。
你没有回应str_replace
:
<td><input type="text" name="<?php str_replace(' ', '', $product1) ?>" size="3" /></td>
更改为:
<td><input type="text" name="<?php echo str_replace(' ', '', $product1) ?>" size="3" /></td>
阅读评论后更新:
为什么要为
form
input
name
提供产品名称 只是product1
?然后你可以使用$_POST['product1'
]得到它; 。表单代码没有意义。
请改为尝试:
<td><?php echo $product1 ?></td>
<td>€ <?php echo number_format($prijs[$product1], 2); ?></td>
<td><input type="text" name="product1" size="3" /></td>
然后使用:
获取$_POST
值
$_POST['product1']
答案 1 :(得分:-1)
你可以这样做:
$product1 = 'Baguette Cheese';
$test = explode(" ", $product1);
这将生成一个数组:
["Baguette","Cheese"]
然后:
$nowhitespace = $test[0] . $test[1];
or
$nowhitespace = implode("", $test);