我正在尝试创建一个用户可以输入其ID(用户名)的表单,它将作为变量附加到我的php脚本中使用的url中。这就是我所拥有的。
<?php
if(isset($_POST['submit']))
{
$id = $_POST['id'];
echo 'http://example.com/default.asp?action=data&id=$id';
}
?>
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="id"><br>
<input type="submit" name="submit" value="Submit Form"><br>
</form>
它正确地收集用户的ID,如果我只是回显$ id,它会输出正确的值,但是当我尝试回显url时,它只输出$ id而不是$的实际值id变量。我做错了什么?
答案 0 :(得分:5)
echo "http://example.com/default.asp?action=data&id=$id";
^---wrong quotes ^--- ditto
单引号字符串不会插入变量。
答案 1 :(得分:1)
单引号不会插入变量,使用双引号或使用字符串连接....三个选项:
echo "http://example.com/default.asp?action=data&id=".$id;
或
echo "http://example.com/default.asp?action=data&id=$id";
或
echo 'http://example.com/default.asp?action=data&id='.$id;
答案 2 :(得分:1)
这一行:
echo 'http://example.com/default.asp?action=data&id=$id';
应该是
echo 'http://example.com/default.asp?action=data&id='.$id;
如果你在PHP中使用带有字符串的单引号,它将打印字符串中的任何内容而不评估任何内容(即不评估任何变量)。所以你可以使用双引号或像我上面那样附加变量。