与新页面的超链接未通过传递的变量打开

时间:2020-11-12 07:16:07

标签: php html

我有一个表单,该表单具有两个名为uin的输入,并为这两个字段定购日期,这两个字段从表中获取数据。有一个按钮(Generate)导航到新页面viewstationerypdf.php,其中包含在这两个字段中选择的值。当我单击此按钮时,它没有反应,这没有使我进入新页面。两个输入字段中的数据都在获取。我的代码是-

<div class="form-group col-md-12">
  <label> UIN<span style="color:red;">*</span></label>
  <select class="form-control" name="uin" id="uin">
    <option value=""> </option>
    <?php 
    $sql = "SELECT uin from  tblstationerystock group by uin order by uin asc";
    $query = $dbh->prepare($sql);
    $query->execute();
    $results=$query->fetchAll(PDO::FETCH_OBJ);
    $cnt=1;
    if($query->rowCount() > 0)
    {
    foreach($results as $result)
    {  ?>
    <option value="<?php echo htmlentities($result->uin);?>">
      <?php echo htmlentities($result->uin);?>
    </option>
    <?php }} ?>
  </select>
</div>


<div class="form-group col-md-12">
  <label> ORDER DATE<span style="color:red;">*</span></label>
  <select class="form-control" name="orderdate" id="orderdate" value="" ;>

  </select>
</div>

<button><a href="stationerypdf.php?uin=<?php echo $_POST[uin];?> & orderdate= <?php echo $_POST[orderdate];?> target="popup"  onclick="window.open('stationerypdf.php?uin=<?php echo $_POST[orderdate];?> & orderdate= <?php echo $_POST[orderdate];?> ,'popup','height=600,width=900 top=15 left=300,location=no,toolbar=no,resizable=no, scrollbars=no'); return false;" > GENERATE</button></a>

1 个答案:

答案 0 :(得分:0)

您的HTML无效

设置锚样式而不是将其包装在按钮中,并确保href中没有空格,并且参数中的逗号正确

您在href中也缺少“”

如果没有弹出窗口阻止程序,此命令将返回错误的“!w”

.button {
  font: bold 11px Arial;
  text-decoration: none;
  background-color: #EEEEEE;
  color: #333333;
  padding: 2px 6px 2px 6px;
  border-top: 1px solid #CCCCCC;
  border-right: 1px solid #333333;
  border-bottom: 1px solid #333333;
  border-left: 1px solid #CCCCCC;
}
<a href="stationerypdf.php?uin=<?php echo $_POST[uin];?>&orderdate=<?php echo $_POST[orderdate];?>" 
target="popup" class="button" 
onclick="var w=window.open(this.href,'popup','height=600,width=900,top=15,left=300'); return !w;">GENERATE</a>

请注意,您正在邀请代码使用XSS,因为如果我可以发布
" onclick="location='https://hackersite.com'" 用户将在页面中获得该信息。

https://xkcd.com/327/

相关问题