Вы можете использовать скрытое текстовое поле (или флажок ...) в качестве держателя состояния. Когда кнопка регистрации щелкала этот текстовый блок, установленный на, ну, в общем, «регистрация» (используя обработчик щелчков JavaScript, прикрепленный к этой кнопке регистрации). Затем форма отправлена. На стороне сервера вы можете проверить этот параметр в запросе. Надеюсь, что это поможет.
UPDATE:
<form action="/login.php" method="get">
<p>
Login: <input type="text" name="login"><br>
Password: <INPUT type="text" name="password"><br>
<input type="submit" name="action" value="Signup"> <input name="action" type="submit" value="Login">
</p>
</form>
Это ваша форма?
Не то, что при нажатии действия «Регистрация» = «Регистрация», но при нажатии действия «Войти» = входа в систему
ОБНОВЛЕНИЕ 1:
if($_GET('action') == 'Signup'){
//redirect to full signup form
header( 'Location: signup.php' ); //note: html tags NOT ALLOWED before this line.
else{
//process logon (calculate hash and so on)
}
Зачем вам нужен отдельный signup.php? Ну, пользователь ДОЛЖЕН дважды ввести свой пароль. Затем вам нужно подтверждение по электронной почте и т. Д.
Видите ли, этот материал может быть реализован тысячами разных способов. Если вам нужна более полезная помощь, дайте мне больше информации. Например:
1) Вы используете MVC?
2) Вы используете шаблоны? и т. д.
Кстати, для ясности я использовал GET (вы можете увидеть значения полей формы в адресной строке). В реальном проекте вы должны использовать POST в форме и, следовательно, $ _POST в login.php