HTML_AJAX
[ class tree: HTML_AJAX ] [ index: HTML_AJAX ] [ all elements ]

Source for file serialize.url.examples.php

Documentation is available at serialize.url.examples.php

  1. <?php
  2. /**
  3.  * Test cases for the UrlSerializer
  4.  */
  5. ?>
  6. <script type="text/javascript" src="server.php?client=UrlSerializer,util"></script>
  7. <script type="text/javascript">
  8.  
  9. </script>
  10. <?php
  11.  
  12. $examples = array(
  13.     '$foo = null;',
  14.     '$foo = true;',
  15.     '$foo = "foobar";',
  16.     '$foo = 337;',
  17.     '$foo = 99.99;',
  18.     '$foo = array("a" => 1, "b" => 2, 3);',
  19.     '$foo = array(1,2,array(1,2,3));',
  20.     'class Foo { var $foo; var $bar; }' 
  21.     . '$foo = new Foo; $foo->foo = "hello"; $foo->bar = array("world","universe");'
  22. );
  23.  
  24. require_once 'HTML/AJAX/Serializer/Urlencoded.php';
  25. echo '<h1><a name="pos">Positives</a> | <a href="#neg">Negatives</a></h1>';
  26. $c count($examples);
  27. for ($i = 0; $i $c$i++{
  28.     echo "<strong>PHP Code:</strong>\n<pre>$examples[$i]</pre>\n<strong>PHP value:</strong><pre>\n";
  29.     eval($examples[$i]);
  30.     var_dump($foo);
  31.     $sfoo $sr->serialize($foo);
  32.     echo "</pre>\n<strong>Unserialized in PHP:</strong>\n<pre>";
  33.     var_dump($sr->unserialize($sfoo));
  34.     echo "</pre>\n<strong>Unserialized in JS:</strong>\n<pre>\n",
  35.          '<script type="text/javascript">',
  36.          'var jsr = new HTML_AJAX_Serialize_Urlencoded();',
  37.          'var sfoo = unescape("'urlencode($sfoo)'"); var usfoo = jsr.unserialize(sfoo); if (jsr.error) {',
  38.          'document.write("Error: " + jsr.getError() + "\n"); } document.write(HTML_AJAX_Util.varDump(usfoo) + ',
  39.          '"</pre>\n<strong>Serialized in PHP:</strong>\n<pre>'$sfoo'</pre>\n',
  40.          '\n<strong>Serialized in JS:</strong>\n<pre>" + jsr.serialize(usfoo));',
  41.          "\n</script>\n</pre>\n<hr />\n\n";
  42. }
  43.  
  44. $bad_examples = array(
  45.     'x',
  46.     'x-1',
  47.     'x=1x=2',
  48.     'x=1&',
  49.     'x[=]1',
  50.     '[]x=1',
  51.     '_HTML_AJAX]]=1',
  52.     '_HTML_AJAX[[=1',
  53.     '_HTML_AJAX][=1',
  54.     '_HTML_AJAX[=]1',
  55.     '_HTML_AJAX[=1]',
  56.     '_HTML_AJAX[0]=1&_HTML_AJAX]]=1',
  57.     '_HTML_AJAX[0[1]]=1',
  58.     '_HTML_AJAX[0[1]=1'
  59. );
  60.  
  61. echo '<h1><a href="#pos">Positives</a> | <a name="neg">Negatives</a></h1>';
  62. foreach ($bad_examples as $sfoo{
  63.     echo "</pre>\n<strong>Invalidly serialized:</strong>\n<pre>"$sfoo"</pre>\n",
  64.          "<strong>Unserialized in JS:</strong>\n<pre>\n",
  65.          '<script type="text/javascript">',
  66.          'var sfoo = unescape("'urlencode($sfoo)'"); var usfoo = jsr.unserialize(sfoo); if (jsr.error) {',
  67.          'document.write("Error: " + jsr.getError() + "\n"); } document.write(HTML_AJAX_Util.varDump(usfoo));',
  68.          "</script>\n</pre>\n<hr />\n\n";
  69. }
  70.  
  71.  
  72. ?>

Documentation generated on Mon, 11 Mar 2019 14:05:31 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.