在<a> tag to use in $_POST</a>中使用'name'属性

时间:2014-04-09 15:03:07

标签: php html mysql

字段值取自MySQL数据库。

单击提交按钮时,它应回显<a>标记中的文本字段值和文件名。

$files_of_signed_in_user = mysql_query("SELECT * FROM uploaded_files WHERE user_id = '$_SESSION[userid]' ");
echo "Self uploaded files<br>";
while ($row = mysql_fetch_array($files_of_signed_in_user)) {
  echo "<form enctype = 'multipart/form-data' method='post'>"
  . "<a name='file_name' href='uploaded_files/".$row['file_name']."'>".$row['file_name']."</a>"
  . "<input type='text' name='Emailid_to_be_sent' placeholder='Emailid' /> "
  . "<input type='submit' name='share_file' value='Send' /> </form></br>";
}

单击提交时,将回显文本输入和文件名

if (isset($_POST['share_file'])) { 
  echo $_POST['Emailid_to_be_sent'];
  echo $_POST['file_name'];          
}       

我知道锚标记不支持name属性。

你能让我知道如何实现这一目标吗?

3 个答案:

答案 0 :(得分:1)

使用隐藏的输入字段:

<?php

 $files_of_signed_in_user = mysql_query("SELECT * FROM uploaded_files WHERE user_id = '$_SESSION[userid]' ");
        echo "Self uploaded files<br>";
        while ($row = mysql_fetch_array($files_of_signed_in_user)) {
            echo "<form enctype = 'multipart/form-data' method='post'>"
                    . "<a name='file_name' href='uploaded_files/".$row['file_name']."'>".$row['file_name']."</a>"
                    . "<input type='text' name='Emailid_to_be_sent' placeholder='Emailid' /> "
                    . "<input type='hidden' name='file_name' placeholder='" . htmlentities($row['file_name']) . "' /> "
                    . "<input type='submit' name='share_file' value='Send' /> </form></br>";
        }

隐藏字段不会显示给用户,但会与表单的其余部分一起提交。

答案 1 :(得分:0)

anchor标记不是form输入元素 使用hidden输入字段来存储文件名。

. "<a name='file_name' href='uploaded_files/".$row['file_name']."'>".$row['file_name']."</a>"
. "<input type='hidden' name='file_name' value=".$row['file_name']." /> "
. "<input type='text' name='Emailid_to_be_sent' placeholder='Emailid' /> "

答案 2 :(得分:0)

不要在隐藏的html元素中使用文件名或路径,因为它很危险。在第二个文件中使用php获取文件名或将其存储在session或$ GLOBALS