Multidimensional array problems in $_POST
Posted on
16th Feb 2014 07:03 pm by
admin
I'm having trouble with a three-dimensional $_POST array. It starts as a two-dimensional array on this side:
Code: <html>
<head>
<title>test</title>
<script type="text/javascript">
var Dom = {
get: function(el) {
if (typeof el === 'string') {
return document.getElementById(el);
} else {
return el;
}
},
add: function(el, dest) {
var el = this.get(el);
var dest = this.get(dest);
dest.appendChild(el);
},
remove: function(el) {
// var el = this.get(el);
// el.parentNode.removeChild(el);
}
};
var Event = {
add: function() {
if (window.addEventListener) {
return function(el, type, fn) {
Dom.get(el).addEventListener(type, fn, false);
};
} else if (window.attachEvent) {
return function(el, type, fn) {
var f = function() {
fn.call(Dom.get(el), window.event);
};
Dom.get(el).attachEvent('on' + type, f);
};
}
}()
};
Event.add(window, 'load', function() {
var i = 2;
Event.add('add-element', 'click', function() {
var el = document.createElement('span');
el.innerHTML = '<input type="text" name="theArray['+i+']['name']" value="">';
i++;
Dom.add(el, 'content');
Event.add(el, 'click', function(e) {
Dom.remove(this);
});
});
});
</script>
</head>
<body>
<p id="add-element">Add Elements</p>
<form action="testPost.php" name="test" method="post">
<input type="text" name="theArray[1]['name']" value="foo" />
<input type="text" name="theArray[2]['name']" value="bar" />
<div id="content"></div>
<input type="submit" name="submit" value="submit" />
</form>
</body>
</html>
(If you're wondering why I only have one element it's because this is for a project where I will need nested lists later.)
Now, onto testPost.php to process the code:
Code: <html>
<head>
<title>asdfdf</title>
</head>
<body>
<ul>
<?php
for ($i=1;$i<=count($_POST["theArray"]);$i++){
echo("<li>".$_POST['theArray'][$i]['name']."</li>");
}
?>
</ul>
</body>
</html>
$_POST itself is an array, so we convert from a two-dimensional to a three-dimensional array. For some reason, only the first letter gets printed; the rest of the string gets truncated.
My only request is that you don't suggest I just use a database or something of the like. This has to be easily portable and I will probably merge this into one document later.
Thank you
Your Answer:
Login to answer
99 49
Other forums
mysql UPDATE request not working and driving me crazy!!!
Hi,
I have been stuck on this for ages.
Quite simply I am trying to update my database
Add code to enable passing of checkbox variable on login
Ok, I have a login page, but want to add a checkbox that when checked and successful login is made i
Adding delete feature to my forum
Hello I am currently trying to add a delete feature to my forum. I believe I have everything built r
New to mysqli library - Multiple query problem
Greetings,
I am writing a batch program that executes 3 queries on a single page. Using mysql
Click counter to ignore traffic from search bots
I have a click counter on my site that...well, counts the number of clicks a link gets on the frontp
Displaying data from MySql a different way
Hi all,
I'm pretty new to php and MySql and have hit a problem.
I am able to display data
update post issues
I am trying to create an update to a post function, while the update does occur, the page routing an
Rounding a number queried from a database
I know that to display a rounded number you just do echo "round($number)";. But how would
Automatic Webpage ??
I have a page www.mysite.com/test.php with a
<form>
<textarea name=&q
need help to creat database
Hello Team, please guys i am stuck from three days with paypal issue for IPN but no luck yet now i w