Php Can';I don’我不能在表单中使用名称。我可以使用ID吗?

Php Can';I don’我不能在表单中使用名称。我可以使用ID吗?,php,forms,Php,Forms,我正在从事一个使用Kohana开发的项目,由于某些条件,我无法在表单中使用NAME,相反,我可以选择使用ID,但我尝试使用以下方法,但无效 <form action="sendmail.php" method="post"> <p><input type="text" size="30" style="border-radius:15px; border:2px solid #000; padding:5px;" placeholder="Name" id=

我正在从事一个使用Kohana开发的项目,由于某些条件,我无法在表单中使用
NAME
,相反,我可以选择使用
ID
,但我尝试使用以下方法,但无效

<form action="sendmail.php" method="post">
    <p><input type="text" size="30" style="border-radius:15px; border:2px solid #000; padding:5px;" placeholder="Name" id="contname" /><br />
    <br />
    <input type="text" size="30" style="border-radius:15px; border:2px solid #000; padding:5px;" placeholder="Email" id="contemail" /><br />
    <br />
    <input type="text" size="30" style="border-radius:15px; border:2px solid #000; padding:5px;" placeholder="Subject" id="contsubject" /><br />
    <br />
    <textarea style="border-radius:5px; border:2px solid #000; padding:5px; width:320px; height:120px;" id="contmessage" placeholder="Message"></textarea><br />
    <br />
    <input type="submit" value="SUBMIT" style="background-color:#9377dd; border-radius:10px; padding-top:3px; padding-bottom:3px; padding-left:16px; padding-right:16px;" /></p>
</form>









sendmail.php

<?php
$from = $_POST["contemail"];
$message = $_POST["contname"] . "<br/>". $_POST["contsubject"] . "<br/>" . $_POST["contmessage"];
mail("me@mail.com","From contact form",$message,"From: $from\n");
mail("me@mail.com","From contact form",$message,"From: $from\n");
header('Location: faq');
?>


请选择其他方法?

发布表单时,表单将转换为键/值对并发送到服务器。例如

<input name="MyName" value="MyValue">
除非浏览器可以形成键/值对,否则它不会发送数据-无论您是否缺少键(从“名称”属性中)或值(例如未选中的复选框),都是如此


您可以使用JavaScript对表单进行迭代,并使用其他属性(如ID)创建表单帖子,但如果您有权将JavaScript添加到此表单,则只需添加名称就更容易了。

发布表单时,在服务器端,您可以通过名称访问该字段。现在您没有使用名称,而是使用id,然后我建议您使用javascript-ajax方法发布表单。这是唯一可用的替代方法。

替代方法是使用name属性。这就是它的目的。当然,你不能只是不使用它,使用一些完全不相关的(id),然后期望它能工作。使用像jQuery这样的库,然后使用field
id
s和send手动构建post对象。你的表单元素都没有命名。也就是说:
name=“contemail”
等@Fred ii--这就是问题所在,我没有权限使用
name
我只能使用
id
。代码不允许我使用nametags保存您可能可以使用jQuery来完成此操作@锁,这是另一种选择。虽然我从未使用过它,但我在这里看到过类似的帖子。提到将它传递给
$MyName=$\u POST['MyName']时,提到
MyName
MyName
并不相同当然会失败。很多人不知道这一点。@Fred ii-是的,这是真的-你可以使用区分大小写的
$\u POST['MyName']
是的,我知道;-)但有些人没有。我自己总是用小写。是的,一定要试试。
MyName=MyValue