GVKun编程网logo

$ _POST来自html表单的数组(html中post表单)

6

如果您对$_POST来自html表单的数组和html中post表单感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解$_POST来自html表单的数组的各种细节,并对html中post表单进行深入

如果您对$ _POST来自html表单的数组html中post表单感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解$ _POST来自html表单的数组的各种细节,并对html中post表单进行深入的分析,此外还有关于asp.net – 在POST时丢失HTML表单数据、Django和HTML表单方法中的Post.get、HTML表单POST到PHP页面、HTML表单POST跨域的实用技巧。

本文目录一览:

$ _POST来自html表单的数组(html中post表单)

$ _POST来自html表单的数组(html中post表单)

我正在尝试从多个复选框(id [])发送数据,并在php中创建一个数组“
info”,以允许我为每个值运行一个脚本(但是每次值的数量可能会发生变化),但是我首先尝试显示每个数组值的内容。我不太确定如何放置数组填充行以将所有内容保存到数组。

的HTML

echo("<input name=''id[]'' type=''checkbox'' value=''".$shopnumb."''>");

我目前希望的处理代码是-

$info=$_POST[''id[]''];Echo(array_values($info));

我需要怎么做才能使表单复选框中的邮件发送内容填充数组信息

任何帮助是极大的赞赏

编辑为澄清。

答案1

小编典典

更改

$info=$_POST[''id[]''];

$info=$_POST[''id''];

通过[]在表单字段名称的末尾添加PHP,PHP将自动将这些变量转换为数组。

asp.net – 在POST时丢失HTML表单数据

asp.net – 在POST时丢失HTML表单数据

我们有一个非常奇怪的问题,我们尚未能够诊断出来.我们的应用程序有许多特定的ASP.NET MVC操作失败,因为缺少必需的参数:

The parameters dictionary contains a null entry for parameter 'myVariable' of non-nullable type... etc

这些都是某种HTTP POST,因此我们希望看到表单数据.在某些情况下,应该有十几个变量.

我们使用ELMAH来收集Web应用程序中的错误,通过此工具,您通常可以看到在请求失败时发布的实际表单数据.但是在这些特定的errpr中,当应该存在多个变量时,整个表单都会丢失!

我们根本无法按需重现这一点.但是,由于我们的应用程序中的流量很大,我们每天都会看到这些错误数十次.用户也无法重现错误,并且第二次在Web浏览器中尝试相同的操作.

我们也不能100%确定数据丢失的位置.是在网络浏览器中吗?在IIS管道里面?或者是ASP.NET MVC转储它?完全不确定.

如果有人可以帮助我们排除故障和/或诊断此问题,我们将不胜感激.

更新1:我们发现HTTP标头中指定的内容长度的大小表明请求中有一些内容.但是请求中的表单集合是空的(根据ELMAH).因此,我们添加了一些额外的日志记录来跟踪收到的内容的实际长度和内容本身.

更新2:我们发现虽然CONTENT_LENGTH HTTP标头的大小正确(对于类似的请求),但内容本身却丢失了.该流包含0个字节.

我们也能够将问题缩小到Internet Explorer,我们似乎无法在其他浏览器中实现这一点.

我们有时能够通过在浏览器中引发几个重叠的AJAX请求来重新创建问题,然后刷新或重定向.在完全写出流缓冲区之前,几乎就像Internet Explorer正在关闭连接一样.

我们无法用fiddler追踪这一点.使用fiddler,似乎无法重新创建具体情况.

更新3:我们看到的所有内容都可以通过以下方式解释:Why does Internet Explorer not send HTTP post body on Ajax call after failure?

解决方法

这可能是一个猜测,但你的行为可能没有对它的[HttpPost]限制,所以不知何故用户通过GET而不是POST来获取它?

我的应用程序中有类似的事情,用户尝试POST到URL,但他们的FormsAuthentication票证已过期,因此他们被重定向到登录页面.但是因为登录页面传递了“ReturnUrl”参数,所以一旦登录它们就被重定向回到它们本来要发布到最初的页面,但这次是使用GET.这会导致您描述的错误,因为显然没有任何POST数据存在.正如我所说,有点猜测……

Django和HTML表单方法中的Post.get

Django和HTML表单方法中的Post.get

我认为您应该使用那些圆括号()而不是方括号[]

,
'2020/09/14'

OR

m1 = int(request.POST.get('mi1'))
m3 = int(request.POST.get('mi3'))
m5 = int(request.POST.get('mi5'))
m10= int(request.POST.get('mi10'))
m15= int(request.POST.get('mi15'))
m30= int(request.POST.get('mi30'))

HTML表单POST到PHP页面

HTML表单POST到PHP页面

好的…我创建了一个form.html页面.它要求用户输入6个文本字段.表单POST到一个名为myform.PHP的单独页面. myform.PHP页面只是返回用户输入的值.但是,当我单击提交时,我只是在屏幕上弹出myform.PHP源代码.

<div>
        <form action="myform.PHP" method="post">
            Name: <input name="name" type="text" size="25" />
            Course: <input name="course" type="text" size="25" />
            Book: <input name="book" type="text" size="255" />
            Price: <input name="price" type="text" size="7" />
            Email: <input name="email" type="text" size="255" />
            Phone #: <input name="phone" type="text" size="12" />

            <input name="mySubmit" type="submit" value="submit" />
        </form>
    </div>

<?PHP
$name = $_POST["name"];
$course = $_POST["course"];
$book = $_POST["book"];
$price = $_POST["price"];
$email = $_POST["email"];
$phone = $_POST["phone"];

?>
</head>

<body>
<?PHP
    echo $name;
    ?>
</body>

解决方法:

marc Towler是对的.您需要首先使用PHP的扩展名来解析PHP代码的页面.但我实际上建议您将表单页面和表单处理分开.我建议如下:

myform.PHP:

<!DOCTYPE html>
<html>
<head></head>
<body>   
<div>
    <form action="formprocessor.PHP" method="POST">
        <label>Name: </label>
        <input name="name" type="text" size="25" />

        <label>Course: </label>
        <input name="course" type="text" size="25" />

        <label>Book: </label>
        <input name="book" type="text" size="255" />

        <label>Price: </label>
        <input name="price" type="text" size="7" />

        <label>Email: </label>
        <input name="email" type="text" size="255" />

        <label>Phone #: </label>
        <input name="phone" type="text" size="12" />

        <input name="mySubmit" type="submit" value="Submit!" />
    </form>
</div>
</body>
</html>

formprocessor.PHP:

<?PHP
$name = $_POST["name"];
$course = $_POST["course"];
$book = $_POST["book"];
$price = $_POST["price"];
$email = $_POST["email"];
$phone = $_POST["phone"];

echo $name;
?>

HTML表单POST跨域

HTML表单POST跨域

我有一个非常简单的 HTML表单,它使用POST,它的操作在我的Web服务器上调用 PHP脚本.

这是踢球者…包含表单的html不托管在同一台服务器上,而是存在于不同的域中.如果没有解释这个问题的解释,这必须出于商业原因.它们需要存在于这些特定领域内.

当我提交表单时,我正确地访问了PHP脚本,然后我尝试拔出POST数据,它就消失了.我认为这是一个安全问题,因为我暂时将表单放在与PHP相同的服务器上,并且工作正常.

有没有办法让我可以使用这两个独立的域?提前致谢.

编辑:

PHP代码(emailTemplate.PHP):

<?PHP
var_dump($_POST);
?>

HTML表格:

<form name="emailForm" id="emailForm" method="post" onsubmit="return beforeSubmit();" action="https://***.***.com/emailTemplate.PHP">
    <textarea rows="15" cols="75" id="myHtmlText" name="myHtmlText"></textarea>
    <input type="text" id="toAddr" name="toAddr" size="60"/>
    <input type="text" id="fromAddr" name="fromAddr" size="60"/>
    <input type="text" id="subjectLine" name="subjectLine" size="60"/>
    <input type="submit" name="Submit" value="Email Letter">
</form>

解决方法

如果你只是在IE中遇到问题,他们的XSS过滤器可能是罪魁祸首. This article提供了禁用它的详细信息.

要完全避免此问题,请尝试将表单发布到服务器上的PHP脚本,然后在该脚本中创建一个将表单发布到另一个脚本的cURL会话. XSS事务独立于客户端的Web浏览器发生,在此过程中避免了这些基于浏览器的安全限制.

今天关于$ _POST来自html表单的数组html中post表单的分享就到这里,希望大家有所收获,若想了解更多关于asp.net – 在POST时丢失HTML表单数据、Django和HTML表单方法中的Post.get、HTML表单POST到PHP页面、HTML表单POST跨域等相关知识,可以在本站进行查询。

本文标签: