Renzokuken Posted August 22, 2010 Share Posted August 22, 2010 Hello, I have a .htaccess file set up to create directories and files based on my PHP variables. That's how it looks anyway. It's really just some URL rewriting. I'm looking to submit a form and use the code on the same page to handle the form via isset(). The problem is, however, that $_SERVER['PHP_SELF']; redirects me back to the original base/index.php page, while nothing gets submitted. I can sort of see why, but is there any way to overcome it? I could probably use the actual file and variable names, but that isn't very practical as I intend on using this code as a basis for a much larger scale. I'm not too fond of using external pages as sources for the form action either for the same reason. My intentions were to have everything handled on a single page. Also, feel free to post constructive criticism on how to improve the code. I'm rather new to PHP and will need all the help I can get. .htaccess code RewriteRule base/([a-zA-Z]+)/$ base/index.php?cat=$1 RewriteRule base/([a-zA-Z]+)/([a-zA-Z0-9]+)\.php$ base/index.php?cat=$1&subcat=$2 index.php code <html> <head> <title>Index</title> </head> <body> <?php $cat=$_GET['cat']; $subcat=$_GET['subcat']; if (isset($cat)){ if ($cat=='foo'){ if (isset($subcat)){ if($subcat=='bar'){ if (isset($_POST['submit'])) { echo 'Entry Submitted Successfully'; } else{ ?> <h1>Add an Entry</h1> <div> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <div> <span>Field:</span> <span><input type="text" size="15" /></span> </div> <div> <input name="submit" type="submit" value="Submit" /> </div> </form> </div> <p> <a href="/base/">Return to Base Page</a> </p> <?php } } else { echo 'Error: Not a valid sub-category.'; } } else { ?> <h1>Select an Option</h1> <ul> <li><a href="bar.php">Add Entry</a></li> </ul> <p> <a href="/base/">Return to Base Page</a> </p> <?php } } else { echo 'Error: Not a valid Category.'; } } else{ ?> <h1>Base Page</h1> <h2><a href="foo/">Go to "Select an Option" page</a></h2> <ul> <li><a href="foo/bar.php">Go to "Add an Entry" page</a></li> </ul> <?php } ?> </div> </body></html> Quote Link to comment https://forums.phpfreaks.com/topic/211401-fake-directories-and-form-actions/ Share on other sites More sharing options...
trq Posted August 22, 2010 Share Posted August 22, 2010 Just define the action as an empty string. eg action="" Quote Link to comment https://forums.phpfreaks.com/topic/211401-fake-directories-and-form-actions/#findComment-1102238 Share on other sites More sharing options...
Renzokuken Posted August 22, 2010 Author Share Posted August 22, 2010 That was.. remarkably simple. Sorry for wasting your time. Quote Link to comment https://forums.phpfreaks.com/topic/211401-fake-directories-and-form-actions/#findComment-1102244 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.