如何从 url 中删除多余的 % 和数字?

How can I remove extra % and digit from url?

我想获取下一页的 id url。但是有很多%和带id的数字。例如:我的 id 在 url 之后应该是 13。但它变得 http://localhost/daudkandi/photo_upload.php?id=%27%20.%2013%20.%20%27

如何删除 % 和多余的数字?

这是我的总代码

<?php @session_start(); ?>
<?php include "db.php";

$union=$_POST["union"];
$mouja=$_POST["mouja"];
$khatian=$_POST["khatian"];
$extra=$_POST["extra"];
$creator=$_SESSION["email"];
$c_date=(time());
$table="form";




mysql_query("INSERT INTO $table(`id`, `union`, `mouja`, `khatian`, `extra`, `creator`, `c_date`) 
            VALUES(NULL,'$union','$mouja','$khatian','$extra', '$creator', '$c_date')") or die(mysql_error());

                        $id = mysql_insert_id();
                        $sql="SELECT * FROM $table WHERE id='$id' AND creator='$creator'";                      
                        $result=mysql_query($sql);
                        $row = mysql_fetch_array($result);

    header("Location: photo_upload.php?id=' . $row[0] . '");

?>

您的字符串连接错误。您的最终字符串看起来像 Location: photo_upload.php?id=' . 13 . '。使用这些代码之一连接字符串:

header("Location: photo_upload.php?id=".$row[0]);
header("Location: photo_upload.php?id={$row[0]}");
header('Location: photo_upload.php?id='.$row[0]);

header("Location: photo_upload.php?id=' . $row[0] . '");
在 $row[0] 周围有额外的空格和点,这些空格和点被 urlencode 为
%27%20.%2013%20.%20%27
Trim 额外的点和空格得到 photo_upload.php? id=13

您可以通过以下方式修复它:

header("Location: photo_upload.php?id=".$row[0]);

在您获取 ID 的地方,只需使用 urldecode($_GET['id']); 将其删除。