…I’m an experienced programmer, new to PHP
, and I’m doing well on my first serious project but run into a stumper about post.
My code walks a directory tree and displays things to users in a particular format. Certain users see different things so it’s a dynamic page and some users have privileges to add new things or alter them and this is the background for my situation now.
I was thinking I’d let users click a button to upload a file for a new addition, but that proved challenging because I need back the new file, as an upload, and also an index, to direct where the new material goes. And I had the same problem for a different part of the same page which I solved thus:
echo '<textarea name="fileMeta" rows="20" class="textarea" id="meta_'.
$arrayIndex.'">';
echo $contents;
echo "</textarea><br>";
echo '<input type="submit" name="fileMetaForm_'.$arrayIndex.
'" value="Save"/>';
echo '<input type="hidden" name="arrayIndex" value="'.$arrayIndex.
'" />';
echo '</form>';
This works fine.
OK, I figured, I can do much the same thing, so a form like this was created.
The problem is, unlike all the other posts I’ve got on the page (working!), I seem to be having trouble getting the results back as doing:
var_dump(_POST);
…doesn’t return anything.
I THINK the issue is in the action= portion, which is in the initial form declaration section.
Here’s the youngest version – which I also started with – and it correctly provides the pop-up that lets the user select, and when the user tells it to accept it, the page behaves as if a post occurred but I can’t find any data, which is why I tried the var_dump already cited. That version is:
echo '<form method="POST" name="meta_'.$arrayIndex.'" enctype='.
'"multipart/form-data" action="" formtarget="_self">';
That’s how the other working form does it but as stated, this code for this form doesn’t work, and here are three other examples I’ve tried that don’t work, and of course I’m only using one at a time, and these are in the reverse order I tried them in:
echo '<form method="POST" name="meta_'.$arrayIndex.'" enctype='.
'"multipart/form-data" action="_self">';
echo '<form method="POST" name="meta_'.$arrayIndex.'" enctype='.
'"multipart/form-data" action="--link-name--">';
echo '<form method="POST" name="meta_'.$arrayIndex.'" enctype='.
'"multipart/form-data" '."action='".
'<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>'."'>";
All of these seem to have some form or another of error saying they can’t find the target – I can try these again and provide the specific error messages if anyone thinks they’ll be helpful.
Note that –link-name– is here a place-holder to represent the actual name of the file since it’s a link created to permit one script to be used in many locations. It’s always locally “index.php
“, so Apache picks it up, but that’s just the link to the real file.
In no other instance so far have I had any issues, so I’m puzzled, and not a little frustrated.