Wordpress插件表单提交

时间:2012-05-15 03:33:20

标签: php wordpress

我创建了一个用于保存回复详情的插件。但每当我使用插件提交表单时,它都会显示错误,并将其重定向到显示“未找到”的其他页面 道歉,但无法找到您请求的页面。也许搜索会有所帮助。“消息。请检查我的代码

<?PHP
/*
Plugin Name: Register Me
Plugin URI: http://demo.net
Description: Plugin is shows a simple Registration form
Author: Sumod Nair
Version: 1.0
Author URI: http://demo.net
*/
add_action('init', 'reg_install');
function reg_install()
{
    global $wpdb;
    $table = $wpdb->prefix."reg_details";
    $structure = "CREATE TABLE $table (
        id INT(9) NOT NULL AUTO_INCREMENT,
        name VARCHAR(80) NOT NULL,
        place VARCHAR(20) NOT NULL,
        email VARCHAR(20) NOT NULL,
        mobno VARCHAR(20) NOT NULL,
        about_me VARCHAR(500) NOT NULL,
        date_apply datetime,
        UNIQUE KEY id (id)
    );";
    $wpdb->query($structure);
}

add_shortcode('register', 'process_post');

function process_post(){
//include("reg_form.php");
?>
<form id="frmRegistration" name="frmRegistration" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>" method="POST">
<table style="align:center; width:500px; margin: 0 0 0 0;"> 
<tr>
<td>Name </td>
<td><input type="text" name="name" id="name" maxlength="50" ><b><font color="red">*</font></b></td>
</tr>
<tr>
<td>Place </td>
<td><input type="text" name="place" id="place" maxlength="50" ><b><font color="red">*</font></b></td>
</tr>
<tr>
<td>Email </td>
<td><input type="text" name="email" id="email" maxlength="50" ><b><font color="red">*</font></b></td>
</tr>
<tr>
<td>Mobile No</td>
<td><input type="text" name="mobile_no" id="mobile_no" maxlength="50"><b><font color="red">*</font></b></td>
</tr>
<tr>
<td>About Yourself</td>
<td><textarea rows="4" cols="50" name="about" id="about" >

</textarea> <b><font color="red">*</font></b></td>
</tr>
<tr>
<td><input type="submit" name="btnSubmit" id="btnSubmit" value="Submit Details" style="color:blue;"></td>
 <td align="right"><b><font color="red">*</font></b> fileds are mandatory</td></tr>
</table>
</form>

<?PHP
   global $wpdb;
    $table = $wpdb->prefix."reg_details";
 if(isset($_POST['btnSubmit'])) {
   // process $_POST data here
   $name = $_POST['name'];
   $place = $_POST['place'];
   $email = $_POST['email'];

   $mobile_no = $_POST['mobile_no'];
   $about_yourself = $_POST['about'];
   echo $name." " .$place." " .$email ." " .$mobile_no." " .$about_yourself;
  $wpdb->query("INSERT INTO $table(name, place,email,mobno,about_me,date_apply)
        VALUES('$name', '$place',' $email', '$mobile_no', '$about_yourself',now())");
 }
}
?>

1 个答案:

答案 0 :(得分:1)

用其他东西替换name="name",我遇到了完全相同的“错误”。当然,也可以在其前面用一些唯一的字符串替换其他名称。例如。 name="frm-name"name="frm-mobile_no"