PHP通过URL传递变量

2 php variables url

我了解PHP URL的工作原理-我认为...但是在获取下面示例中要传递的变量的实际值时遇到问题。

注意:我将以下表单添加到数据单元中(作为通过PHP读取的表的一部分)。

$currentrowid = 1;

echo '<td>
  <div class="editdelete">
    <form action="phpindex.php?page=edit&thisrow=<?php echo $currentrowid;?>" method="post">
      <input type="submit" value="Edit" >
    </form>
  </div>
</td>';
Run Code Online (Sandbox Code Playgroud)

...代码的其他部分可读取上述形式输出的URL:

$val = $_POST['thisrow']; 
echo "the value is: " .$val; //Outputs "$currentrowid"
Run Code Online (Sandbox Code Playgroud)

因此,如您所见,代码将返回要传递的变量的实际名称,而不是要传递的变量的值。

这里有什么想法吗?

Jos*_*ber 5

由于您已经在PHP块中,因此不应将变量包装在中<?php ... ?>。这会给你一个错误。

要进行此工作,可以选择2个选项之一:

1)字符串串联:

echo '... <form action="phpindex.php?page=edit&thisrow='.$currentrowid.'" method="post"> ...';
Run Code Online (Sandbox Code Playgroud)

2)将您的字符串用"(双引号)代替'(单引号):

echo "... <form action=\"phpindex.php?page=edit&thisrow=$currentrowid\" method=\"post\"> ...";
Run Code Online (Sandbox Code Playgroud)

请注意,第二种方法强制您对字符串中的所有双引号进行转义。

  • @Even:因为这是基本的PHP代码。我并不是无礼的意思,但是如果您不知道这一点,则应该认真阅读PHP。 (3认同)