Wordpress内页的表单提交错误

时间:2013-04-18 08:50:40

标签: php wordpress forms file

我在WordPress的内部模板上有一个表单。

<?php
/*
Template Name: Template Form Submission
*/

get_header(); ?>
<div class="entry-content">
<div style="width: 1000px;" align="left">
<form enctype="multipart/form-data" name="file_uplaod" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="name" id="name" /><br /><br />
<input type="text" name="email" id="email" /><br /><br />
File <input type="file" name="test_file" id="test_file"/><br /><br />
<input type="submit">
</form>

</div>

    

但问题是PHP-SELF在表单提交后无效,它将转到index.php页面。我无法使用Javascript重定向,因为文件上载在这里。所以任何人都可以帮我解决它。

2 个答案:

答案 0 :(得分:2)

<?php
function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
?>

然后替换

 <form enctype="multipart/form-data" name="file_uplaod" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<form enctype="multipart/form-data" name="resume_uplaod" action="<?php echo curPageURL(); ?>" method="post">

请参阅http://dev.kanngard.net/Permalinks/ID_20050507183447.html

答案 1 :(得分:0)

我相信您可以省略表单标记中的操作以提交到您当前的网址。如果wordpress SEO网址处于活动状态,那么$ _SERVER ['PHP_SELF']将解析为index.php。