2017-01-26 16 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"];?> не возвращаются тот же URL со всеми значениями в $ _GET.

В любом случае, чтобы вернуть форму на ту же страницу bacause Я не могу жестко задавать $ _Get значения.

Спасибо.

Edit:

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

Update 1:

Я хочу, чтобы, когда я отправить форму я должен вернуться в тот же URL, но не

Вы можете просто сохранить действие атрибута пустым в Если вы хотите, чтобы форма возвращалась на ту же страницу.

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

Update 2:

Пока он работает, в соответствии с W3C документации это не является допустимым значением.

Атрибуты действий и содержания formaction, если указано, должны иметь значение, которое является действительной непустой URL потенциально окружением пространств.


Пожалуйста, обратите внимание, PHP_SELF не возвращает строку запроса (? Х = у & г = d) .Just реж и имя файла.

PHP_SELF

Имя файла в данный момент скрипта, относительно корня документа. Например, $ _SERVER ['PHP_SELF'] в скрипте на адрес http://example.com/foo/bar.php будет /foo/bar.php. ФАЙЛ константа содержит полный путь и имя файла текущего (то есть включенного) файла. Если PHP работает как процессор командной строки , эта переменная содержит имя скрипта с PHP 4.3.0. Раньше он не был доступен.

+0

это хорошая практика, чтобы оставить его пустым на отправить ? – Phoenix

+0

Спасибо. За работой. – Phoenix