aタグからsubmit処理を行った場合、ログインが出来ません。
というのがログインのページに遷移はするが、ログイン出来ない という状況だと推測して回答します。
webアプリケーションでの問題解決の近道は、クライアント側よりサーバ側でどのように値を受け取っているか確認することです。
それが無理な環境であるなら、
firebug
等を使って、どういった値がサーバに送られているのかブラウザ側で確認をします。
今回のケースだと
HTML
1<p>formタグを使用したログイン処理</p>
2<form method="post" action="http://test.co.jp/home">
3<p>ID</p>
4<p><input type="text" name="email" size="20"></p>
5<p>Password</p>
6<p><input type="password" name="password" size="20"></p>
7<input type="submit" value="ログイン">
8</form>
は動いているということですが、このフォームでは
HTML
1<p><input type="text" name="email" size="20"></p>
2<p><input type="password" name="password" size="20"></p>
の二つの値をそれぞれ email passwordの名前で送信しています。
比較して
HTML
1<form name="form1" method="post" action="http://test.co.jp/home">
2<input type=hidden email="test@test.co.jp" password="test">
3</form>
では、
HTML
1<input type=hidden email="test@test.co.jp" password="test">
と、nameの存在しない値を無理やり送ろうとしています。(多分nameが指定されていないので送られていません)
そのため、submitはされているがemailもpasswordも無い状態なのでサーバ側としてはログインに失敗する
という状態になっているはずです。
解決する=成功しているフォームと同じ内容を送信する
には
成功している方のフォームのinputのtypeをhiddenに変えてそれぞれvalueを指定する。
という形になります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。