2015-09-08 6 views
5

これは私にとって紛らわしいものです。私は行があるページ(index.php)を持っています。行はこのPHP _POSTの問題は意味をなさない。値は消えていますか?

enter image description here

enter image description here

enter image description here

enter image description here

のように...あなたは私以下のコードから見ることができるようにデバッグ文を追加しているように見えるプリントアウトpassID(800番号)とrowID(sequential)を表示する

echo "{$row['ID']}"; 
    echo" 
    <form action=\"./functions/email.php\" id='passForm' method='post'> 
    <input type='hidden' id='passID' name='passID' value='{$row['ID']}'/> 
    <input type='hidden' id='rowID' name='rowID' value='$rowID'/> 
    <button type=\"submit\" form=\"passForm\" value=\"Submit\" style=\"height:25px; width:75px\">Pass</button> 
    </form>"; 
    echo "$rowID"; 

私は特定の行をクリックすると、我々はコード

$projectID = $_POST['passID']; 
$rowID = $_POST['rowID']; 
echo $projectID; 
echo "<br />"; 
echo $rowID; 
を使用してemail.phpページの我々の結果を表示すると enter image description here

(ここでデベロッパーコンソールに示すようにのは860を言わせて)

期待される860と3の代わりに、値が865と1に変更されています。

enter image description here

これは私には意味がありません。どのようにこれが起こっていることができますか? htmlページは、デバッグスクリーンショットに示されているように行の値が正しいようにレンダリングされるので、コードが次のページの一番上の行をちょうどピックアップしています。何が起こっている??!

あなたが見ることができるように、私はこのことを凝視するかもしれないし、しないかもしれないので、どんな助けも大いにありがたく思うでしょう!

+3

これで、複数のフォーム/ボタン/フィールドに重複した 'id'があるのですか?すなわち 'passForm'これらは各フォームに固有でなければなりません。 – Ankh

答えて

9

問題は送信ボタンのform="passForm"属性です。すべての送信ボタンが最初の行にフォームを送信する原因になります。この属性を省略した場合、送信ボタンは現在の行のフォームを含むフォームに適用されます。

IDはすべて一意である必要があるため、すべての要素からid属性を削除するか、IDに行IDを含めて一意にする必要があります。

+0

シンプルでありながら効果的です。 – Peter

+1

Whelp。ちょっとしたミスアンサンブルは長い道のりです。私を修正していただきありがとうございます。まあ、私はそれを認識していないと信じることはできません。ありがとうございました! – new2programming

関連する問題