1
<?php
$retrive=mysql_query("SELECT * FROM oes.questions;");
$questions=mysql_fetch_array($retrive);
?>
<form action="delete.php" method="post">
<input type="checkbox" name="del" value=<?php $questions["q_no"] ?> /><?php echo $questions["q_no"]; ?>
<input type="submit" value="submit"/>
<?php

if(isset($_POST["del"]))
{
  echo $_POST["del"];
} 
?>

我想使用 delete ($_POST["del"]) 函数,但为了调试,我使用了 echo 并发现它打印 '/' 。

4

4 回答 4

1

弹出的第一件事是您没有引用 value 属性:

 value=<?php $questions["q_no"] ?> /

你也没有从$questions["q_no"]. 由于值需要用引号括起来,并且添加额外的引号只会导致值设置为错误的值,因此将一个奇怪的值发送回服务器也就不足为奇了(甚至可能是 HTML 表单其余部分的一部分,包括 /)。

于 2013-09-18T18:37:39.567 回答
1

如前所述,您需要回显该值以及 qoute (') 问题。尝试这个

<input type="checkbox" name="del" value='<?php echo $questions["q_no"]; ?>' /><?php echo $questions["q_no"]; ?>

或者

<input type="checkbox" name="del" value="<?php echo $questions['q_no']; ?>" /><?php echo $questions["q_no"]; ?>
于 2013-09-18T18:38:49.600 回答
1
<input type="checkbox" name="del" value=<?php $questions["q_no"] ?> />

您没有回应这个问题,因此您的 HTML 呈现为:

<input type="checkbox" name="del" value= />

因此被解析为:

<input type="checkbox" name="del" value=" /">

您需要引用您的属性,并确保您告诉 PHP 回显某些内容。

<input type="checkbox" name="del" value="<?php echo $questions["q_no"] ?>" />
于 2013-09-18T18:39:25.737 回答
1
 value='<?php echo $questions["q_no"]; ?>'

您没有回显$questions索引的值。

编辑:为了帮助防止 XSS:

确保正确设置标题:

 header('Content-type: text/html; charset=utf-8');


value="<?php echo htmlspecialchars($questions['q_no'], ENT_QUOTES, 'UTF-8'); ?>"
于 2013-09-18T18:36:10.537 回答