Using Jquery serialize with php

When making forms ever had the urge to find something easier than having to define every value in your JavaScript? I did and found something nice called serialize. What is does is add all values into 1 string. Because I began to like serialize I’m writing an article on the use of it.

Lately I see a lot of people writing their own functions to deserialize it in php not knowing that php has it’s own function for deserializing namely ‘parse_str’. What it does is get the values and put them into an array so you can access them individually. Here is a little code for example:

This is the Template

<script type="text/javascript">
	function refresh(data) {
		$('#result').html(data);
	}
	$(document).ready(function(){
		$("#search").click(function(){ 
			var search = $("#searchform").serialize();
			var url = 'search.php'; 

			$.post(url, search, refresh, "html"); 
		}); 
	});
</script>
<form id="searchform">
<table>
	<tbody>
	<tr>
		<td>Name:</td>
		<td><input type="text" name="name" size="30" /></td>
	</tr>
	<tr>
		<td>Surname:</td>
		<td><input type="text" name="surname" size="30" /></td>
		</tr>
	<tr>
		<td>E-mail address:</td>
		<td><input type="text" name="email" size="30" /></td>
	</tr>
	</tbody>
</table>
<input id="search" type="button" value="Search" />
</form>

This is the php handler (search.php)

<?php //Unserialize string to array 
$searchserialized = $_POST['search']; 
parse_str($searchserialized, $searcharray); 

$name = $searcharray['name']; 
$surname = $searcharray['surname']; 
$email = $searcharray['email']; 

echo $name.'-'.$surname.'-'.$email;
?>

Man it’s so easy to use serialize

Author: Robert-Jan de Dreu

One thought on “Using Jquery serialize with php”

  1. Thank you, very much.

    Until now, I found just how to serialize, but nothing what do I do with it!

    Thank you very much again.

    Mauro

Leave a Reply