Да, это возможно, у вас есть name your button и добавьте к нему значение. Это будет отправлено с формой. На сервере вы можете проверить, какая кнопка была нажата, проверяя, какое имя кнопки (и значение) присутствует в параметрах запроса.
Например:
HTML на клиенте:
<form action="auth.php" method="POST" enctype="application/x-www-form-urlencoded; charset=utf-8">
<label for="email">Email address</label>
<input type="text" name="email" />
<br />
<label for="password">Password - at least 5 characters</label>
<input type="password" name="password">
<br />
<button name="subject" type="submit" value="register">Sign up</button>
<button name="subject" type="submit" value="login">Sign in</button>
</form>
PHP на сервере
if ($_POST['subject'] == 'register') {
//register user
header('location: registered.php');
}
else if ($_POST['subject'] == 'login') {
//login user
header('location: profile.php');
}
примечание:
Если вы хотите отправить ту же самую форму, используя совершенно разные действия, тогда вы должны использовать javascript onsubmit
или кнопку без отправки с onclick
, чтобы изменить действие формы или отправить данные с помощью AJAX.
У вас есть только 1 действие в форме в чистом html .. Но вы можете создать страницу, на которой вы будете обрабатывать вашу форму, в зависимости от нажатой кнопки отправки. Или вы можете использовать javascript. – sunshinejr
@ailvenge Хорошо, спасибо. Вы знаете какие-нибудь примеры? –
http://stackoverflow.com/questions/2680160/how-can-i-tell-which-button-was-clicked-in-a-php-form-submit – sunshinejr