-1

我得到了下面的代码来工作,但我想知道是否有更好的方法来做到这一点。即使仅使用本示例中调用的两个变量,它也会使 URL 看起来很草率。如果可能,我希望我的 URL 看起来干净,我想知道我创建自定义链接的方式是否危险。

在这个例子中,我真的没有做任何类型的消毒,我只是让它尽快工作。基本上我有一个数据库,其中列出了不同类别和子类别中的不同业务,用户从下拉列表中选择主类别和子类别。

然后,用户被引导到一个页面,该页面具有所有这些企业的列表作为链接,每个链接都是唯一的,因此当他们单击它时,只有数据库中有关该企业的信息显示在模板页面上,所有页面都具有相同的布局只有业务独有的内容发生变化。您可以看到,如果我要传递更多的变量,那么 URL 会变得非常长且荒谬,无法复制粘贴并与他人共享。

<?php
require 'DB.php';
require 'functions.php';
session_start();
session_is_registered(myusername);
$mainCat = $_POST['thing'];
$subCat = $_POST['subCats'];
echo $mainCat;
echo "<br>" . $subCat;
try{
$stmt = $conn->prepare('SELECT * FROM `CLL_businesses` WHERE `bCatID` = :bCategory AND `sCatID` = :sCategory');
$stmt->bindValue(':bCategory', $mainCat);
$stmt->bindValue(':sCategory', $subCat);
$stmt->execute();
} catch (PDOException $e){
    echo 'Connection failed: ' . $e->getMessage();
}

while($row = $stmt->fetch())
  {
$name1 = trim($row['name']);
$name = $row['name'];
$logo = $row['logo'];
$bCatID = $row['bCatID'];
$sCatID = $row['sCatID'];
$username = $row['username'];
$website = $row['website'];
  echo "<br>" . "<a href=" ."http://test.com/test/new/test12.php?string1=".$name1 . "&string2=" . $logo . ">" . $name ."</a>";


  }

?>

测试12.php

<?php

$name = $_GET['string1'];
$logo = $_GET['string2'];

echo $name;
echo "<br>" . $logo;
?>
4

1 回答 1

0

我通过只向 url 添加一个字符串来解决它

于 2012-12-02T20:05:32.700 回答