2017-01-26 27 views
-1

我的頁面的URL是一樣的東西http://localhost/coursera/instructor/course.php?id=1&name=web%20development&section=overview

,並在該網頁上我有一個像

<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">  
<div class="form-group"> 
    <textarea class="form-control" placeholder="What will students need to know or do before starting this course? Who is your target student? At the end of my course, students will be able to..." rows="8" required="" name="description"></textarea> 
</div>         
<button type="submit" class="btn btn-info btn-fill btn-block" name="overview">Save</button> 
</form> 

形式,但問題是<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?><?php echo $_SERVER["PHP_SELF"];?>不與所有的$ _Get值返回相同的URL。

無論如何,使表單返回到同一頁面,因爲我不能硬編碼$ _Get值。

謝謝。

編輯:

print_r($_SERVER["PHP_SELF"]); 

是顯示/coursera/instructor/course.php 但我想http://localhost/coursera/instructor/course.php?id=1&name=web%20development&section=overview任何方式做到這一點?

+0

'的print_r($ _ SERVER)',看看你可以用什麼 –

+0

@Federkun我想,當我提交表單我應該返回到相同的URL,但它不是 – Phoenix

回答

4

更新1:

我想,當我提交表單我應該返回到相同的URL,但它 不是

你可以簡單地保持動作的屬性空您希望表單返回到同一頁面。

<form method="post" action=""> 

更新2:

雖然它的工作,根據W3C文檔,它不是一個有效的值。

的動作和formaction內容屬性,如果指定,必須有 的值是一個有效的非空URL由 空間可能包圍。


請注意,PHP_SELF沒有。只是在目錄和文件名返回的查詢字符串(?X = Y & Z = d)。

PHP_SELF

當前正在執行的腳本,相對於 文檔根的文件名。例如, 地址http://example.com/foo/bar.php的腳本中的$ _SERVER ['PHP_SELF']將是/foo/bar.php。常量包含當前(即包含)文件的完整路徑和文件名。如果PHP以命令行處理器 的形式運行,則此變量包含自PHP 4.3.0起的腳本名稱。以前它 不可用。

+0

是很好的做法,讓它空上提交? – Phoenix

+0

謝謝。加工。 – Phoenix