È normale: immagino che i form abbiano input con name differenti. Quindi quando invii uno, non puoi leggere $_POST['name_form_non_inviato'].
Ti consiglierei una struttura del genere:
Codice PHP:
<?php
if(isset($_POST['form1']))
{
echo 'Hai inviato il form 1';
//qui le varie operazioni se l'utente preme il form 1. Quindi leggerai i vari $_POST['...']
}
if(isset($_POST['form2']))
{
echo 'Hai inviato il form 2';
//qui le varie operazioni se l'utente preme il form 2. Quindi leggerai i vari $_POST['...']
}
?>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
<input type="submit" name="form1">
</form>
<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
<input type="submit" name="form2">
</form>
Se vuoi farlo che sia funzionante anche contemporaneamente, non mi viene alcuna idea senza utilizzare javascript.
Perché non puoi fare un unico form? E poi gestisci i dati tramite i vari name tramite PHP?
Ciao!
ops. anticipato. Lascio per le varie info.