0

初めまして、タイトル失礼します。

誰かがこれで私を助けてください。以下のステートメントがあり、pidランダムな数字と文字にしたいので、function id_encode($id)

http://www.testing/details.php?Sef=canda&ppid=1

ユーザーがデータベースにある製品の数を推測できないように、ppid を表示したくありません。それが私がその機能を使用した理由です。

          $stmt = $conn->prepare(" 
          SELECT * FROM Product
          ");
          $stmt->execute();
            $i = 0;
            $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); 
        foreach ($rows as $row) {
           $id = $row["ppid"]; //id

    function id_encode($id) {
        return base_convert((9999999999 - (float) $id) , 10 , 32 );
        }
    $qstr = http_build_query(array("Sef"=>$row["Sef"], "ProdID"=>$id));

別のページへのリンクを含む表示ボタンがあります

<a href="<?php fetchdir($apages) ?>product.php?<?= $qstr ?>">View item</a>

私が持っている他のページで

<?php   
 if (isset($_GET['Sef']) && isset($_GET['ppid'])) {
    $id = $_GET["ppid"];
    $id2 = $_GET['Sef'];

エラーが発生 していますFatal error: Cannot redeclare id_encode() (previously declared in

また、私がこれを行っている方法では、他のページがこの情報を取得できますか? なぜならfunction、他のページがその製品の情報を受け取っていることを覚えているからです.

助けてください。

4

1 に答える 1

0

エンコード関数の数値に対して行うことを逆にする関数 id_decode( $encoded_id ) が必要です。

したがって、エンコードで ( N - id ) を行う場合は、base10 から base32 へ、デコードでは base32 から base10 へ、次に ( N - id ) を行います (N - (N - id)) = id のためです。

于 2013-07-30T19:16:30.007 に答える