2015-05-28 3 views
-2

У меня есть страница, доступная через url - что-то вроде этого http://websitename/index.php?q=pagename. На этой странице у меня есть форма, которую я хотел бы отправить на ту же страницу, чтобы я мог выполнять некоторую пост-обработку. Я попытался следующие вещи, но не мог заставить его работать -Как отправить форму себе?

<form name="formname" action="pagename.php" method="post"> 
<form name="formname" action="" method="post"> 
<form name="formname" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post"> 

Другими словами, я хотел бы представить форму pagename.php файл (где форма проживает). Страница (pagename.php) недоступна напрямую. Как мне это сделать? Я буду очень признателен за любую помощь в этом вопросе. Благодарю.

+1

Как насчет действия = ""? – frz3993

+0

, если он не доступен напрямую - как браузер будет получать/передавать данные на него? –

+0

@ frz3993, я попробовал, но он, похоже, не работает. Спасибо – imhere

ответ

1

Попробуйте это:

В HTML5 вы можете просто сделать <form> и его набор к себе.

<form action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?> method="post"> 

ИЛИ

<form name="formname" id="mainForm" method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['REQUEST_URI'];?>"> 

ИЛИ

<form method="POST" action="<?=($_SERVER['PHP_SELF'])?>"> 

Дело в том, ваша $_SERVER переменная содержит всю информацию, вам потребуется для создания URL этой конкретной страницы. Если вы решили не идти с HTML5-способом, то один из этих вариантов должен работать. В противном случае вам не хватает чего-то другого, не упомянутого в вашем вопросе.

0

я думаю, что это решит вашу проблему

<form name="formname" action="#" method="post"> 
0

Попробуйте

<form method="post">/*your stuff here*/</form> 

и вы должны добавить кнопку отправки с атрибутом «имя = отправить» поэтому форма может быть представлена ​​также отслеживать, если его были размещены с PHP затем сделать свои действия, как показано ниже

if(isset($_POST["submit"])){ /* your code */}