繁体   English   中英

如何在PHP中删除URL中的+和%符号

[英]How to remove the + and % symbols in URL in PHP

我使用输入get方法表单创建了一个简单的单页网站,而没有使用数据库连接

创建新网址时, +%符号出现问题。

当用户输入"Aravind Kumar"类的名称时,它会创建一个诸如example.com/?name=Aravind+kumar类的URL,并且在Facebook上共享链接时还会带有%符号。

如何删除网址中的%+符号?

我的表格

<form action="" class="login-form" method="get" accept-charset="UTF-8">
<div class="form-group">
<input type="text" class="form-control" required id="name" name="name" class="form-control w-40 dis-ib" placeholder="Enter your name" />
</div>
<div class="form-group">
<button type="submit" class="btn btn-success btn-block btn-lg">Create Now</button>
</div>
</form>

用户输入名称时,它将自动为他们创建以下格式的URL: example.com/?name=user name=user

GET方法将变量嵌入(附加到操作URL)。 POST方法使用HTTP请求的实体主体,因此它们不会出现在URL中。

将表单方法从GET更改为POST:即更改以下内容:

<form action="" class="login-form" method="get" accept-charset="UTF-8">

对此:

<form action="" class="login-form" method="post" accept-charset="UTF-8">

您尚未显示PHP,但我假设您正在使用$ _GET解释表单变量。 使用POST方法时,将需要使用$ _POST数组解释变量。 如果要发布到其他某个域/站点,则可能会发现您必须使用两种方法之一,具体取决于站点的要求,而这可能超出了您的控制范围。

编辑:如果要动态地将提交的值从空格(将转换为+符号)更改为连字符,则下面是使用javascript实现onsubmit()处理程序的示例表单。 在提交表单之前,空格将更改为连字符。

<html>
<head>
    <title>Test Page</title>
</head>
<script lang="javascript">
function getObj(id)
{
    if (document.getElementById)
    {
        //standard browsers
        return(document.getElementById(id));
    }
    else if (document.all)
    {
        //older browsers
        return(document.all[id]);
    }
    else if (document.layers)
    {
        return(document.layers[id]);
    }
}

function onSubmit(obj)
{
    var objName = getObj('name');
    objName.value = objName.value.replace(/ /i,'-'); //replace spaces with hyphens
    return true;
}
</script>
<body>
Hello
<form action="" class="login-form" method="get" accept-charset="UTF-8" onsubmit="return onSubmit(this)">
<div class="form-group">
<input type="text" class="form-control" required id="name" name="name" class="form-control w-40 dis-ib" placeholder="Enter your name"/>
</div>
<div class="form-group">
<button type="submit" class="btn btn-success btn-block btn-lg">Create Now</button>
</div>
</form>
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM