如何将 explode() 与 php 变量一起使用


How to use explode() with php variables

我正在使用一个html表,其中每一行和每一列都有自己的ID(例如 name="23_3")。但是这个 ID 由 2 个变量组成$calUser= $x['idTask'] . "-" . $y['idTime'];

我是这样explode()的:

list($uTask,$uTime) = explode("-", $_POST['$calUser'], 2);

但它没有任何想法?

编辑

对不起,忘记了input

<input type='text' name='" . $calUser . "' value='$calUser'>

在您的案例中输入应为:

<input type='text' name='calUser' value='". $calUser . "'>

通过查看生成的页面的 soure 代码来验证这一点。

之后,您可以通过调用以下内容来获取内容:

list($uTask,$uTime) = explode("-", $_POST['calUser'], 2);

但与所有用户提供的内容(_POST美元)一样,检查内容是否确实在预期值范围内,以防止页面上的 XSS 和注入攻击。

拳头,你试图爆炸$calUser,或者对应于$calUser键的值?

我认为你应该这样做:

list($uTask,$uTime) = explode("-", $_POST[$calUser], 2);

删除 $_POST 键上的引号,否则您将要求文字"$calUser"

编辑

此外,您的输入标签必须是:

<input type='text' name='" . $calUser . "' value='" . $calUser  ."'>

虽然我不知道 rou 是使用字符串作为标签,还是直接回显到 ouput,所以有些像:

<?php
echo "<input type='text' name='" . $calUser . "' value='" . $calUser ."'>";

建议,我最喜欢的语法:

<?php
echo "<input type='text' name='{$calUser}' value='{$calUser}'>";

我喜欢括号,因为即使使用 SQL,也更友好......