Php sayfası page.php denir; Bu sayfa 2 üzerinde formlarını teslim etti: Form1 Form2. Formun Gönder düğmesini biri hangi formu sunuldu identify ile HTML başlığında ne basıldığında?
Ben herhangi bir kimlik yayınlamak olmadığını inanmıyorum. Kodunuzu için kolay yolu bu gibi formu belirlenmesinde her formda bir gizli alan koymak için hangi formu gönderdi biliyorum:
<form id="form1">
<input type="hidden" name="formName" value="form1"/>
<input type="submit" value="submit" />
</form>
<form id="form2">
<input type="hidden" name="formName" value="form2"/>
<input type="submit" value="submit" />
</form>
Yakup'un cevabı üzerine Che'nin yorumda belirtildiği gibi:
<form id="form1">
<input type="submit" value="submit" name="form1" />
</form>
<form id="form2">
<input type="submit" value="submit" name="form2" />
</form>
Ve sonra formdaki komut işleme:
if(isset($_POST['form1']){
// do stuff
}
Bu ajax formlar göndererek değil ne ben ne kullanın.
Ne form
etiketinin action
özniteliği hakkında?
I, farklı form
durumlarda farklı bir action
özniteliği (başka bir URI değerde bir adet) belirlemek olabilir guesssed olurdu.
Ayrıca, gönderme düğmeleri bir name
niteliği ekleyerek +1: Eğer daha sonra adını yaparsanız "başarılı" düğme adları artı değerleri dize eklenecektir göndermek (yani tıklandığında) hangi Form sunucuya döner.
yol "rpflo" kullanımları formlarını tanımlamak değildir. $_POST['form1']
burada değil id = "form1" ile form name = "form1" ile girişine karşılık gelir.
there are IMHO two reasonable ways to identify two forms on one page.
first is via 'action' attribute by adding a GET variable in to it, like action="mypage.php?form_id=1"
.
and second way, which is imho more practical, is to name all inputs like an array. for example:
<form>
<input name="form1[first_name]" />
<input name="form1[last_name]" />
</form>
<form>
<input name="form2[first_name]" />
<input name="form2[last_name]" />
</form>
o zaman $ _POST böylece ['form1'] ['first_name'] ve var ..