2016-11-05 4 views
0

У меня уже законченный сайт, и я работаю над формой обратного вызова клиента, где они вставляют имя, адрес электронной почты, тел, чтобы я мог связаться с ними. Теперь у меня есть то, что в действии формы я указываю скрипт «php/sendform.php». В этом скрипте я помещаю все html, что мои обычные веб-страницы имеют нижний колонтитул и заголовок с сообщением. Спасибо, что обратились к нам. Все работает, но кажется немного неудобным, и я никогда не видел его на других основных сайтах, где вдруг строка адреса меняется на страницу php, где все остальные страницы на сайте являются html.Как правильно использовать php-страницу, отображаемую в действии формы

Так что мой вопрос в том, есть ли способ, возможно, назвать php асинхронным способом? Или каким-то образом замаскируйте адресную строку, где он не раскрывает каталог php, потому что теперь он просто говорит site.com/php/sendform.php. Благодарю.

+1

AFAIK Большинство современных сайтов используют JavaScript и AJAX для отправить данные формы – UnholySheep

+0

Либо это, либо они обрабатывают данные и отображают другую (HTML) страницу на стороне сервера и отправляют их обратно в браузер клиента. – UnholySheep

+0

Что не так с перенаправлением при успешной отправке почты? –

ответ

1

Вы можете использовать переписывание URL. Измените действие формы на submit. А в вашем файле .htaccess добавить эти строки:

RewriteEngine On 
RewriteRule ^submit?$ php/sendform.php [NC,L] 

Так что теперь ваша страница PHP будет выглядеть следующим образом:

yourdomain.extension/отправить

+1

Обратите внимание, что это предполагает, что OP использует HTTP-сервер Apache (или совместимый), который явно не задан в вопросе – UnholySheep

+0

Отлично, это точно что я искал, и по совпадению я нахожусь на апаче. –

+0

Жаль, что он не работает с GoDaddy. Я нашел эту версию, и она работает, но можете ли вы помочь мне переписать ее, чтобы она работала как ваш пример выше? RewriteEngine On # Удалить расширение php из запроса с помощью перенаправления. # Это должно быть действительно для PHP файлов, которые существуют RewriteCond% {REQUEST_FILENAME} -f RewriteCond% {THE_REQUEST}^[AZ] {3} \ S ([^.] +) \. PHP [NC] RewriteRule ^ /% 1 [R, L, NC] # 1. Карта запроса в PHP файл, если он существует RewriteCond% {REQUEST_FILENAME} .php -f RewriteRule ^% {REQUEST_URI} .php [L] –