当img存在于同一行的另一个<td>元素中时,<td>表单提交按钮不起作用

时间:2019-08-23 16:21:00

标签: php html

我有一个表行,其中包含几列数据。在一个列中,有一个提交按钮,该按钮设置一些会话变量并将用户带到新页面。

但是,当我向同一行中的另一个元素添加标签时,提交按钮停止工作,仅刷新当前页面。一旦单击按钮,正确的会话变量仍会设置,但没有页面更改,我觉得这很奇怪。

<?php 
            for($i=0;$i<sizeof($memberDetails);$i++){
                if($memberDetails[$i][6] == '28274')
                    $clubID  = "AM Online";
                elseif($memberDetails[$i][6] == '25930')
                    $clubID = "AM Dundalk";
                elseif($memberDetails[$i][6] == '25364')
                    $clubID = "AM Newry";

                if($memberDetails[$i][5] == 0){
                    $arrowImg = "img/arrow-yellow.png";
                }
                elseif($memberDetails[$i][5] == -1){
                    $arrowImg = "img/arrow-lightred.png";
                }
                elseif($memberDetails[$i][5] == -2){
                    $arrowImg = "img/arrow-red.png";
                }
                elseif($memberDetails[$i][5] < -2){
                    $arrowImg = "img/arrow-morered.png";
                }
                elseif($memberDetails[$i][5] == 1){
                    $arrowImg = "img/arrow-lightgreen.png";
                }
                elseif($memberDetails[$i][5] == 2){
                    $arrowImg = "img/arrow-green.png";
                }
                elseif($memberDetails[$i][5] > 2){
                    $arrowImg = "img/arrow-greenest.png";
                }

                print "<tr>";
                print "<td>".$memberDetails[$i][2]."</td>";
                print "<td>".$memberDetails[$i][1]."</td>";
                print "<td>".$memberDetails[$i][3]."</td>";
                print "<td>".$clubID."</td>";
                print "<td>".$memberDetails[$i][4]."</td>";
                print "<td>".$memberDetails[$i][8]."</td>";            
                print '<td><img src='.$arrowImg.'/></td>';
                print "<td><form action=\"\" method=\"post\">
                        <input type=\"submit\" name=\"email_btn_$i\" value=\"Email Member\">
                        </form></td>";
                print "</tr>";

            }

            for($i=0;$i<sizeof($memberDetails);$i++){
                if (isset($_POST['email_btn_'.$i])){
                    $_SESSION['member_id'] = $memberDetails[$i][0];
                    $_SESSION['email'] = $memberDetails[$i][3];
                   // echo $_SESSION['email'];
                    header("Location:memberdetails.php");
                }
            }

如果我从上面删除了print '<td><img src='.$arrowImg.'/></td>';行,甚至只是删除了td本身的img标签,那么重定向就可以正常工作。

我尝试了多种不同的方式来编写打印语句,但没有任何运气。

任何想法将不胜感激!

1 个答案:

答案 0 :(得分:0)

您的image src必须是这样的echo '<table> <tr> <td><img src="'.$arrowImg.'"/></td>';