发送给自己时<form action ="?">做什么?

mat*_*ard 11 html forms

我跟随php mysql新手到忍者:

下面的表单模板

<form action="?" method="post">
    <div>
        <label for="joketext">Type your joke here:</label>
        <textarea id="joketext" name="joketext" rows="3" cols="40"></textarea>
    </div>
    <div><input type="submit" value="Add"></div>
</form>
Run Code Online (Sandbox Code Playgroud)

PHP控制器的一部分:

if(isset($_POST['joketext'])) //insert block
{
    try
    {                     //prepared starement
        $sql = 'INSERT INTO joke SET 
            joketext = :joketext,
            jokedate = CURDATE()';
Run Code Online (Sandbox Code Playgroud)

什么是'?' 做形式动作

Bar*_*mar 17

?用于将URL路径与查询字符串分开.在这种情况下,查询字符串为空,因此它与以前一样action="".

但是,有区别.如果使用具有查询字符串的URL加载原始页面,action=""则将使用相同的查询字符串提交表单.?在URL中显式替换原始查询字符串与此空查询字符串.