我知道我的问题有点令人困惑,但我的意思是我想在PHP'echo'中显示HTML表单。所以我的整个HTML代码都在我的php打开和关闭标签内,然后在我的HTML脚本里面我想要一个PHP代码,但是我得到一个错误说:
解析错误:语法错误,意外'回声'(T_ECHO),期待','或';'
我的代码是这样的:
<?php
echo '<form method="post" id="customForm" action="add_assessment.php">
<table>
// this line is where I get the error
<input type="hidden" name="res_id" value='echo($_GET['res_id']);' />
?>
答案 0 :(得分:5)
您可以使用.
在PHP中连接字符串。所以你可以这样写:
<?php
echo '<form method="post" id="customForm" action="add_assessment.php">
<table>
// this line is where I get the error
<input type="hidden" name="res_id" value="'.$_GET['res_id'].'" />';
?>
答案 1 :(得分:2)
.
可用于连接字符串。您也可以使用,
将它们作为单独的回声发送。
<?php
echo '<form method="post" id="customForm" action="add_assessment.php">
<table>
<input type="hidden" name="res_id" value="' . intval($_GET['res_id']) . '" />';
?>
不要忘记XSS保护。 intval()
将用户输入从$ _GET转换为整数,确保它不是恶意的。这似乎是您系统的重要ID。您应该确保更改它不会破坏您的代码,如果愿意,请考虑使用Sessions代替。
XSS或跨站点脚本,是指攻击将javascript注入您的页面以试图使其以不同方式工作或重定向用户。在这种情况下,攻击者可以将此表单发送到其他位置。如果此表格包含信用卡信息,其他个人信息或您申请的内部数据;攻击者只需将用户链接到包含错误数据的表单即可访问该信息。
如果设置正确,用户可能甚至不知道他们的信息被盗了!
答案 2 :(得分:1)
<?php
echo '<form method="post" id="customForm" action="add_assessment.php">
<table>
<input type="hidden" name="res_id" value="' . $_GET['res_id'] . '" />';
?>
答案 3 :(得分:1)
你走了:
<?php
echo '<form method="post" id="customForm" action="add_assessment.php">
<table>
<input type="hidden" name="res_id" value="' . $_GET['res_id'] . '" />';
?>
答案 4 :(得分:1)
在这里,您可以从官方php文档中找到如何使用php-tag的解释:http://php.net/manual/en/language.basic-syntax.phpmode.php