У меня есть два разных типа действий, которые я запускаю по форме html:
Теперь есть разные способы инициировать действия
2.1 - поместите параметр действия в строку запроса
<form action="index.php?page_id=xx&user_id=yy&action=updateUserData" method="post">
<input ... />
</form>
2.2 - создать поле ввода с именем action
<form action="index.php?page_id=xx&user_id=yy" method="post">
<input name="action" value="updateUserData" type="hidden" />
<input ... />
</form>
(Для формы поиска эти два разных способа не имеют значения, потому что там я использую метод = "получить")
Теперь мой вопрос: что будет лучше - 2.1 или 2.2
Я склонен к 2.2, потому что я не хочу, чтобы действия запускались по URL (например, закладка, ссылка)
так как в обоих случаях вы используете метод = post, идите с версией 2.
Просто помните: скрытые поля скрыты, но для них требуется несколько секунд. Поэтому никогда не доверяйте данным пользователя и всегда избегайте данных. "потому что я не хочу, чтобы действия вызывались по URL" Всегда предполагайте, что все пользователи злы. Если эта ссылка может нанести урон, так может быть и форма. Используйте некоторую аутентификацию.
2.2 было бы лучше, если вы не хотите запускать события по URL-адресу.
if(isset($_POST['action'])){ //If form has been submitted
$userid=$_POST['userid'];
//Rest of code to add user
}else{
//Form not submitted
}
index.php?page_id=xx&user_id=yy
илиindex.php
полностью зависит от требований OP.