在打印HTML页面的函数中转义PHP
目前还不知道如何在输出HTML页面的打印函数中正确地转义php函数 例如,我有一个名为removeClient的页面,在该页面中,我希望根据客户机的ID删除该客户机。下拉框应向用户提供当前可用的客户机ID,并且用户应能够单击其中一个 我有一个主页,根据URL提供的视图调用函数 现在,我希望页面打印带有Postgres数据库提供的ID的下拉菜单,然后打印一些表单来填充新的用户数据 被调用的函数如下所示在打印HTML页面的函数中转义PHP,php,html,Php,Html,目前还不知道如何在输出HTML页面的打印函数中正确地转义php函数 例如,我有一个名为removeClient的页面,在该页面中,我希望根据客户机的ID删除该客户机。下拉框应向用户提供当前可用的客户机ID,并且用户应能够单击其中一个 我有一个主页,根据URL提供的视图调用函数 现在,我希望页面打印带有Postgres数据库提供的ID的下拉菜单,然后打印一些表单来填充新的用户数据 被调用的函数如下所示 function removeClient() { include 'dbco
function removeClient() {
include 'dbconnect.php';
if ((isset($_POST['add']))) {
if (isset($_POST['ID']) && (isset($_POST['FirstName'])) && (isset($_POST['LastName'])) && (isset($_POST['IP'])) && (isset($_POST['Status']))) {
$clientid = $_POST['ID'];
$FirstName = $_POST['FirstName'];
$LastName = $_POST['LastName'];
$ip = $_POST['IP'];
$status = $_POST['Status'];
$result = pg_query($dbconnection, "somequery");
if (@pg_affected_rows($result) === 1) {
echo "<p> Client removed!</p>";
} else {
echo "<p> Something went horribly wrong. Contact a system adminstrator </p>";
}
}
}
echo
"<form name=\"addClient\" method=\"post\" action=\"?view=addClient\"/><br/>" .
"<select name=\"clientID\" id=\"clientID\"> " .
"<td>ID</td> <tr><input type=\"text\" maxlength=\"32\" name=\"ID\" /></tr><br/>" .
"<td>First Name</td> <tr><input type=\"text\" maxlength=\"32\" name=\"FirstName\" /></tr><br/>" .
"<td>Last Name</td> <tr><input type=\"text\" maxlength=\"32\" name=\"LastName\" /></tr><br/>" .
"<td>IP Addr.</td> <tr><input type=\"text\" maxlength=\"32\" name=\"IP\" /></tr><br/>" .
"<td>Status</td> <tr><input type=\"text\" maxlength=\"32\" name=\"Status\" /></tr><br/>" .
"<input type=\"submit\" name=\"add\" value=\"Send\" /></form><br/>";
}
函数removeClient(){
包括“dbconnect.php”;
如果((isset($_POST['add'])){
如果(信息集($发布['ID'])和($发布['FirstName'])和($发布['LastName'])和($发布['IP'])和($发布['Status'])){
$clientid=$_POST['ID'];
$FirstName=$_POST['FirstName'];
$LastName=$\u POST['LastName'];
$ip=$_POST['ip'];
$status=$_POST['status'];
$result=pg_query($dbconnection,“somequery”);
如果(@pg_受影响的行($result)==1){
echo“客户端已删除!”;
}否则{
echo“出现严重错误。请联系系统管理员”;
}
}
}
回声
“
”。
" " .
“ID
”。
“名字
”。
“姓氏
”。
“IP地址
”。
“状态
”。
“
”;
}
现在,我想做的是改变路线
“”
到Postgres通过PHP加载数据库值的行
对于PHP部分,我得到了这个
<option>Select userID</option>
<?php
$db = pg_connect("connection details") or die('Could not connect: ' . pg_last_error());
$sql = pg_query("SELECT title FROM books WHERE ownedby='$user_id'";
while ($row = pg_fetch_assoc($sql)) {
echo '<option value="'.htmlspecialchars($row['title']).'"></option>';}
pg_close($db);
?>
</select>
<input type="hidden" name="userid" id="userid" value="<?php echo htmlspecialchars($user_id); ?>">
选择userID
echo可能htmlspecialchars中缺少参数ENT_QUOTES
htmlspecialchars($row['title'], ENT_QUOTES)
另外,检查htmlspecialchars
(和/或htmllentities
)文档以查看其他参数(第三个是关于字符集)
编辑:我不确定
是否可以显示该值,因此您也可以尝试以下操作:
echo '<option>'.htmlspecialchars($row['title'], ENT_QUOTES).'</option>';}
echo'.htmlspecialchars($row['title'],ENT_引号)。'''.}
正如TiMESPLiNTER指出的那样-您需要更改此项:
echo '<option value="'.htmlspecialchars($row['title']).'"></option>';}
echo';}
到
echo'.htmlspecialchars($row['title'])。';}
您没有为所有选项设置“选项标签”。该选项的标签介于
和
之间,而值
属性定义了在选择特定选项标签时提交的值。
echo '<option value="'.htmlspecialchars($row['title']).'"></option>';}
echo '<option>'.htmlspecialchars($row['title']).'</option>';}