0

我的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>

在这个程序中,我使用 ajax 进行验证。为此,我正在序列化表单。

data:$("#myform").serialize(),

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

4

6 回答 6

0

您没有向我们展示完整的 $.ajax 请求代码:它可能是 GET 或 POST 请求。

来自jQuery.ajax文档

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

因此,如果是 GET 请求,您应该在 PHP 代码中检查 $_GET。或者只是检查 $_REQUEST 数组。并访问其他答案中显示的表单值:例如 $_GET["firstname"]

于 2012-12-10T10:35:22.830 回答
0

我想问题在于提交您的表格。如果您通过 AJAX 发布,请检查jquerypost 。否则试试

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

代替

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

$_POST['firstname']一旦成功发布,我就可以毫无问题地访问。

于 2012-12-10T10:30:32.367 回答
0

使用unserialize()php函数。

unserialize()获取单个序列化变量并将其转换回 PHP 值。

http://php.net/manual/en/function.unserialize.php

但在你的情况下..因为你正在发布数据,你可以只使用具有对应名称的发布数据..

 $firstname=$_POST['firstname'];
 $email=$_POST['email'];
 .....
于 2012-12-10T10:10:55.987 回答
0

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

您对它的处理方式与对提交的常规表单的处理方式相同:

$firstName = $_POST['firstname'];
....
于 2012-12-10T10:11:48.653 回答
0

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

$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
于 2012-12-10T10:09:56.597 回答
0

数据是从$_POST变量中检索的,不需要反序列化...因为在您发送 ajax 请求时,序列化的数据已被反序列化为数组

于 2012-12-10T10:44:39.280 回答