私は以下のコードを機能させましたが、これを行うためのより良い方法があるかどうか疑問に思っています。この例で呼び出された2つの変数だけでも、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>";
}
?>
Test12.php
<?php
$name = $_GET['string1'];
$logo = $_GET['string2'];
echo $name;
echo "<br>" . $logo;
?>