下面是我想实现的:
用户点击编辑之后利用ajax调用一个新的界面,然后编辑完之后单击提交POST到后台操作但是发现post之后都是空数据,是什么原因呢?该怎么解决呢?
下面是我的编辑页代码
<?php
session_start();
include("../conn/conn.php");
include("../inc/func.php");
$pw_id=$_GET['pw_id'];
$sql="SELECT `pw_id`,`k1`,`k2`,`k3`,year,`student_num`,`week_time`,`has_exam`,paee_work_theory.`re`,`co_tid`,`verify`,`weeks`,paee_course.name FROM `paee_work_theory`,paee_course WHERE paee_course.pc_id=paee_work_theory.pc_id and pw_id='$pw_id' order by paee_work_theory.pw_id desc";
$record=mysql_query($sql,$conn);
$row=mysql_fetch_array($record);
header('Content-type:text/html;charset=GBK');
?>
 <form name="form1" id="form1" method="post" action="../inc/confirm_basic.php">
             <input type="hidden" name="pw_id" value="<?php echo $row['pw_id'];?>">
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="txt"><?php echo $row['pw_id'];?></span></div></td>
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="txt"><?php echo $row['name'];?></span></div></td>
            <td bgcolor="#FFFFFF"><div align="center"><span class="txt"><input name="k1"  size="10" value="<?php echo $row['k1'];?>"></a></span></div></td>
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="txt"><input name="k2" size="10" value="<?php echo $row['k2'];?>"></span></div></td>
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="txt"><input name="k3" size="10" value="<?php echo $row['k3'];?>"></span></div></td>
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="txt"><?php echo $row['student_num'];?></span></div></td> 
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="txt"><?php echo $row['week_time'];?></span></div></td> 
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="txt"><?php echo $row['weeks'];?></span></div></td> 
            <td height="20" bgcolor="#FFFFFF"><div align="center">
                <select name="has_exam" id="has_exam">
                <option value="1" <?php if($row['has_exam']) echo "selected"?>>有</option>
                <option value="0" <?php if(!$row['has_exam']) echo "selected"?>>无</option>
                </select>
              <span class="txt"></span></div></td>
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="txt"><input name="re" value=""></span></div></td>  
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="txt"><?php switch($row['verify'])
{
case 0: echo "未提交审核";break;
case 1: echo "正在审核中";break;
case 2: echo "审核不通过";break;
case 3: echo "审核通过";break;
}
?></span></div></td>
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="handle">&nbsp; &nbsp;<img src="../images/tab/del.gif" width="16" height="16" /><a href="#" onclick="check_basic()">提交</a></span></div><input type="button" value="提交"></td>
            </form>
但是当我点击input的提交时页面无反应,但是用form1.submit()提交的时候post的数据都为空Notice: Undefined index: pw_id in E:\test\PHPnow-1.5.6\vhosts\127.0.0.18\inc\confirm_basic.php on line 5Notice: Undefined index: k1 in E:\test\PHPnow-1.5.6\vhosts\127.0.0.18\inc\confirm_basic.php on line 6Notice: Undefined index: k2 in E:\test\PHPnow-1.5.6\vhosts\127.0.0.18\inc\confirm_basic.php on line 7Notice: Undefined index: k3 in E:\test\PHPnow-1.5.6\vhosts\127.0.0.18\inc\confirm_basic.php on line 8Notice: Undefined index: has_exam in E:\test\PHPnow-1.5.6\vhosts\127.0.0.18\inc\confirm_basic.php on line 9Notice: Undefined index: re in E:\test\PHPnow-1.5.6\vhosts\127.0.0.18\inc\confirm_basic.php on line 10
update paee_work_theory set k1='',k2='',k3='',has_exam='',re= where pw_id=

解决方案 »

  1.   

    你用的是post,但你用get去获取数值,怎么可能
      

  2.   

    post 方式提交,却用 $_GET 取值?
    能取到,那才是问题了
      

  3.   

    这个不是处理页面
    处理如下:<?php
    session_start();
    include "../conn/conn.php";
    include "../inc/func.php";
    $pw_id=$_POST['pw_id'];
    $k1=$_POST['k1'];
    $k2=$_POST['k2'];
    $k3=$_POST['k3'];
    $has_exam=$_POST['has_exam'];
    $re=$_POST['re'];
    $state=1;//0为未提交审核1为待审核,2为审核不通过3为审核通过
    $sql="update paee_work_theory set k1='$k1',k2='$k2',k3='$k3',has_exam='$has_exam',re=$re where pw_id=$pw_id";
    echo $sql;
    //$result=mysql_query($sql,$conn) or die(mysql_error());
    //re_msg($result,"../gzlgl/add_basic.php","修改成功!");*/
    ?>
      

  4.   

    问题出在html上
    这是你原来的代码:
    <form name="form1" id="form1" method="post" action="../inc/confirm_basic.php">
                 <input type="hidden" name="pw_id" value="<?php echo $row['pw_id'];?>">
                <td height="20" bgcolor="#FFFFFF">...</form>请修改成:
    <form name="form1" id="form1" method="post" action="../inc/confirm_basic.php">
    <table>
                 <input type="hidden" name="pw_id" value="<?php echo $row['pw_id'];?>">
                <td height="20" bgcolor="#FFFFFF">...</table></form>
      

  5.   


    print_r($_POST);
    print_r($_REQUEST);
    分别输出
    Array ( ) 
    Array ( [PHPSESSID] => 8f4g4n1h9i78qp2hi061ca3481 ) 
      

  6.   

    你用firebug看一下你的html的</form>的闭合位置正确吗!
      

  7.   

    lz你的form里面表单比较多,建议一条一条测试,第一条如果娶不到的话说明不是input的,依次类推