我不知道';我不知道如何在php中获取序列化数据

我不知道';我不知道如何在php中获取序列化数据,php,html,forms,jquery,Php,Html,Forms,Jquery,我的html表格是: <form id="myform" action="" method="post" > <input id="firstname" name="firstname" type="text" placeholder="FIRST NAME" autofocus><br> <input id="lastname" name="lastname" type="text" placeholder="LAST NAME">

我的html表格是:

<form id="myform" action="" method="post" >
    <input id="firstname" name="firstname" type="text" placeholder="FIRST NAME" autofocus><br>
    <input id="lastname" name="lastname" type="text" placeholder="LAST NAME"><br>
    <input id="gender" name="gender" type="text" placeholder="GENDER" ><br>
    <input id="email" name="email" type="email" placeholder="EMAIL"><br>
    <input id="date" name="date" type="date" placeholder="JOINING DATE" ><br>
    <input id="designation" name="designation" type="text" placeholder="DESIGNATION"><br>
    <input id="username" name="username" type="text" placeholder="USER NAME" ><br>
    <input id="password1" name="password1" type="password" placeholder="PASSWORD" ><br>
    <input id="password2" name="password2" type="password" placeholder="CONFORM PASSWORD" ><br>
    <input type="button" id="submit" value="SUBMIT" />
</form>

我不知道如何在PHP中反序列化它。任何人都可以解释用PHP进行反序列化的代码,我使用html5编写表单。

由于您的方法是
post
,因此您的变量应该作为任何其他post变量读取:

data:$("#myform").serialize(),
$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
使用
unserialize()
php函数

unserialize()
接受单个序列化变量并将其转换回PHP值

但是在你的情况下。。因为您正在发布数据,所以只需获取带有CoreSponding名称的postd数据即可

 $firstname=$_POST['firstname'];
 $email=$_POST['email'];
 .....

序列化要做的就是将表单字段转换为可以发送到服务器的url字符串

您的行为方式与您对提交的常规表格的行为方式相同:

$firstName = $_POST['firstname'];
....

我想问题在于提交表格。检查您是否通过AJAX发布。或者试试看

<input type="submit" id="submit" value="SUBMIT" />

而不是

<input type="button" id="submit" value="SUBMIT" />


成功发布后,我作为
$\u POST['firstname']
访问时没有遇到任何问题。

您没有向我们显示完整的$。ajax请求代码:可能是GET请求,也可能是POST请求

从文件

默认情况下,Ajax请求使用GET HTTP方法发送。如果 如果需要POST方法,则可以通过设置 类型选项的值


因此,在GET请求的情况下,您应该检查PHP代码中的$\u GET。或者只检查$\u请求数组。并访问其他答案中所示的表单值:$\u GET[“firstname”],例如,

数据是从
$\u POST
变量中检索的,不需要取消序列化。。。
因为在发送ajax请求时,序列化数据已被取消序列化为数组

只需在php中使用$\u POST,您就可以通过print\r($\u POST)查看数组。实际上,您不必做任何事情。Y尝试过。但它不起作用。或者,如果您希望将变量命名为$firstname,$lastname,只需使用extract($\u POST)别忘了在服务器端警报响应数据上转义/验证接收到的数据,以检查如何像这样记录日期和电子邮件它对任何变量都是一样的,所以
$\u POST['email']
。如果它不起作用,你应该检查你是否将变量正确地发布到你的php脚本中!萤火虫帮了忙