大家帮我看看这个form post 问题,这个文件叫AttendanceAction.php,在11行有echo "<form name='AttendanceAction' method='post' action='AttendanceEditedAction.php'>";是连接去AttendanceEditedAction.php的。请往下再看AttendanceEditedAction.php的文件。<html>
<head>
<title>Mark Attendance For Employee</title></head>
<body><h2>Mark Attendance For Employee</h2>
<?php 
include("connect.php");
echo "<form name='AttendanceAction' method='post' action='AttendanceEditedAction.php'>";if(isset($_POST["search"]) == "Search")
{
$searchBy = $_POST["searchBy"];
$keywords = $_POST["keywords"];

$query = "SELECT * FROM employee_register WHERE ".$searchBy." LIKE '%".$keywords."%'";
$result = $db->query($query);
}
else if(isset($_POST["showAll"]) == "Show All")
{
$query = "SELECT * FROM employee_register ORDER BY employeeID";
$result = $db->query($query);
}
else
{
$query = "SELECT * FROM employee_register ORDER BY employeeID";
$result = $db->query($query);
}
$num_results = $result->num_rows;

echo "<p>Number of employees : ".$num_results."</p>";
echo "<table border='1' cellspacing='0' cellpadding='5' bordercolor='white' width='60%'>";
echo "<tr bgcolor='brown' style='color:white'>";
echo "<td>NO.</td>";
echo "<td>EmployeeID</td>";
echo "<td>FirstName</td>";
echo "<td>LastName</td>";
echo "<td>Attendance</td>";
echo "</tr>";for ($i=0; $i <$num_results; $i++)
{
$row = $result->fetch_assoc();
echo "<tr>";
echo "<td>".($i + 1)."</td>";
echo "<td><span id='employeeID".($i + 1)."' name='employeeID".($i + 1)."' value='".$row["employeeID"]."'></span>".$row["employeeID"]."</td>";
echo "<td>".$row["firstName"]."</td>";
echo "<td>".$row["lastName"]."</td>";
echo "<td><input type='radio' name='attendance".($i+1)."' value='yes' checked>Present<input type='radio' name='attendance".($i+1)."' value='no'>Absent</td>";
echo "</tr>";
}
echo "</table>";
?>
<br>
<br>
<br>
<tr><td colspan="2" align="right"><input type="submit" name="submit" value="Submit">
<input type="reset" value="Reset" name="Reset">
</form>

</body>
</html>
AttendanceEditedAction。php在这里:
<?php//form post from AttendanceAction.php, change the radio value.
include("connect.php"); //$attendanceID = $_POST["attendanceID"]; // generate $attendanceID
$employeeID   = $_POST[$row["employeeID"]]; 
$FirstName    = $_POST[$row["firstName"]];
$LastName     = $_POST[$row["lastName"]];
//$attendance   = $_POST["attendance"];if(isset($_POST["submit"]) == "Submit")
{
$query = "INSERT INTO employee_attendance(employeeID, firstName, lastName)
VALUES('$employeeID', '$FirstName', '$LastName')";
$result = $db->query($query);

$db->close();
echo "<script language='javascript'>alert('Submit process success!')</script>";
}
?>从上面来看,我先INSERT三个 $employeeID   = $_POST[$row["employeeID"]]; , $FirstName    = $_POST[$row["firstName"]];, $LastName     = $_POST[$row["lastName"]];。先不管是否能输入,如果能够连接来这里的话,echo "<script language='javascript'>alert('Submit process success!')</script>";这一行的呼唤是能够被显示的,但是当我在AttendanceAction按下submit的键之后却没有echo到"<script language='javascript'>alert('Submit process success!')</script>";希望大家可以明白我的问题,恳求支援,谢谢!

解决方案 »

  1.   

    ******尝试更改成php格式******大家帮我看看这个form post 问题,这个文件叫AttendanceAction.php,在11行有echo "<form name='AttendanceAction' method='post' action='AttendanceEditedAction.php'>";是连接去AttendanceEditedAction.php的。请往下再看AttendanceEditedAction.php的文件。<html>
    <head>
    <title>Mark Attendance For Employee</title></head>
    <body><h2>Mark Attendance For Employee</h2>
    <?php 
    include("connect.php");
    echo "<form name='AttendanceAction' method='post' action='AttendanceEditedAction.php'>";if(isset($_POST["search"]) == "Search")
    {
    $searchBy = $_POST["searchBy"];
    $keywords = $_POST["keywords"];

    $query = "SELECT * FROM employee_register WHERE ".$searchBy." LIKE '%".$keywords."%'";
    $result = $db->query($query);
    }
    else if(isset($_POST["showAll"]) == "Show All")
    {
    $query = "SELECT * FROM employee_register ORDER BY employeeID";
    $result = $db->query($query);
    }
    else
    {
    $query = "SELECT * FROM employee_register ORDER BY employeeID";
    $result = $db->query($query);
    }
    $num_results = $result->num_rows;

    echo "<p>Number of employees : ".$num_results."</p>";
    echo "<table border='1' cellspacing='0' cellpadding='5' bordercolor='white' width='60%'>";
    echo "<tr bgcolor='brown' style='color:white'>";
    echo "<td>NO.</td>";
    echo "<td>EmployeeID</td>";
    echo "<td>FirstName</td>";
    echo "<td>LastName</td>";
    echo "<td>Attendance</td>";
    echo "</tr>";for ($i=0; $i <$num_results; $i++)
    {
    $row = $result->fetch_assoc();
    echo "<tr>";
    echo "<td>".($i + 1)."</td>";
    echo "<td><span id='employeeID".($i + 1)."' name='employeeID".($i + 1)."' value='".$row["employeeID"]."'></span>".$row["employeeID"]."</td>";
    echo "<td>".$row["firstName"]."</td>";
    echo "<td>".$row["lastName"]."</td>";
    echo "<td><input type='radio' name='attendance".($i+1)."' value='yes' checked>Present<input type='radio' name='attendance".($i+1)."' value='no'>Absent</td>";
    echo "</tr>";
    }
    echo "</table>";
    ?>
    <br>
    <br>
    <br>
    <tr><td colspan="2" align="right"><input type="submit" name="submit" value="Submit">
    <input type="reset" value="Reset" name="Reset">
    </form>

    </body>
    </html>
    AttendanceEditedAction。php在这里:
    <?php//form post from AttendanceAction.php, change the radio value.
    include("connect.php"); //$attendanceID = $_POST["attendanceID"]; // generate $attendanceID
    $employeeID   = $_POST[$row["employeeID"]]; 
    $FirstName    = $_POST[$row["firstName"]];
    $LastName     = $_POST[$row["lastName"]];
    //$attendance   = $_POST["attendance"];if(isset($_POST["submit"]) == "Submit")
    {
    $query = "INSERT INTO employee_attendance(employeeID, firstName, lastName)
    VALUES('$employeeID', '$FirstName', '$LastName')";
    $result = $db->query($query);

    $db->close();
    echo "<script language='javascript'>alert('Submit process success!')</script>";
    }
    ?>
    从上面来看,我先INSERT三个 $employeeID   = $_POST[$row["employeeID"]]; , $FirstName    = $_POST[$row["firstName"]];, $LastName     = $_POST[$row["lastName"]];。先不管是否能输入,如果能够连接来这里的话,echo "<script language='javascript'>alert('Submit process success!')</script>";这一行的呼唤是能够被显示的,但是当我在AttendanceAction按下submit的键之后却没有echo到"<script language='javascript'>alert('Submit process success!')</script>";希望大家可以明白我的问题,恳求支援,谢谢!
      

  2.   

    if(isset($_POST["submit"]) == "Submit")
    首先这里判断有问题,只要有$_POST["submit"],这个判断则一定为真。isset返回的是布尔值。其次,你调试的时候有没有打开错误报告?打开了的话信息会很清晰的。
      

  3.   

    你那上Form是完整正确的不,看页面生成源码,把Form标签之间看一下修改如下测试
    if(isset($_POST["submit"]) == "Submit")
    {
    echo "123";
        $query = "INSERT INTO employee_attendance(employeeID, firstName, lastName)
        VALUES('$employeeID', '$FirstName', '$LastName')";
    echo "<br />".$query."<br />";//好好看看这句
        $result = $db->query($query);
    echo "124<br />";
        $db->close();
        echo "<script language='javascript'>alert('Submit process success!')</script>";
    }else{
    echo "125";
    }
      

  4.   

    我有打开错误报告,我的思路好像出了问题,我再整理一下,原来是和三个文件有关的,不是两个。
    请大家再继续参考我的问题。Attendance.php<form name="Mark Employee's Attendance" method="post">
    <center>
    <h1>Mark Employee's Attendance</h1><br>
    <table border="1" cellspacing="0" cellpadding="5" bordercolor="green">
    <tr>
    <td>Search by:</td>
    <td><select name="searchBy">
    <option value="EmployeeID">Employee ID
    <option value="FirstName">First Name
    <option value="LastName">Last Name
    </select>
    </td>
    <td rowspan="2"><input type="submit" name="search" value="Search">&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="submit" name="showAll" value="Show All">
    </td>
    </tr>
    <tr>
    <td>Keywords:</td>
    <td><input type="text" name="keywords" onfocus="setStyle(this)"></td>
    </tr>
    </table>
    <?php
    include("AttendanceAction.php");
    ?>
    </form>AttendanceAction.php<html>
    <head>
    <title>Mark Attendance For Employee</title></head>
    <body><h2>Mark Attendance For Employee</h2>
    <?php 
    include("connect.php");
    echo "<form name='AttendanceAction' method='post' action='AttendanceEditedAction.php'>";if(isset($_POST["search"]) == "Search")
    {
    $searchBy = $_POST["searchBy"];
    $keywords = $_POST["keywords"];

    $query = "SELECT * FROM employee_register WHERE ".$searchBy." LIKE '%".$keywords."%'";
    $result = $db->query($query);
    }
    else if(isset($_POST["showAll"]) == "Show All")
    {
    $query = "SELECT * FROM employee_register ORDER BY employeeID";
    $result = $db->query($query);
    }
    else
    {
    $query = "SELECT * FROM employee_register ORDER BY employeeID";
    $result = $db->query($query);
    }
    $num_results = $result->num_rows;

    echo "<p>Number of employees : ".$num_results."</p>";
    echo "<table border='1' cellspacing='0' cellpadding='5' bordercolor='white' width='60%'>";
    echo "<tr bgcolor='brown' style='color:white'>";
    echo "<td>NO.</td>";
    echo "<td>EmployeeID</td>";
    echo "<td>FirstName</td>";
    echo "<td>LastName</td>";
    echo "<td>Attendance</td>";
    echo "</tr>";for ($i=0; $i <$num_results; $i++)
    {
    $row = $result->fetch_assoc();
    echo "<tr>";
    echo "<td>".($i + 1)."</td>";
    echo "<td><span id='employeeID".($i + 1)."' name='employeeID".($i + 1)."' value='".$row["employeeID"]."'></span>".$row["employeeID"]."</td>";
    echo "<td>".$row["firstName"]."</td>";
    echo "<td>".$row["lastName"]."</td>";
    echo "<td><input type='radio' name='attendance".($i+1)."' value='yes' checked>Present<input type='radio' name='attendance".($i+1)."' value='no'>Absent</td>";
    echo "</tr>";
    }
    echo "</table>";
    ?>
    <br>
    <br>
    <br>
    <tr><td colspan="2" align="right"><input type="submit" name="submit" value="Submit">
    <input type="reset" value="Reset" name="Reset">
    </form>

    </body>
    </html>AttendanceEditedAction.php
    <?php//form post from AttendanceAction.php, change the radio value.
    include("connect.php"); $attendanceID = $_POST["attendanceID"]; // generate $attendanceID
    $employeeID   = $_POST[$row["employeeID"]]; 
    $FirstName    = $_POST[$row["firstName"]];
    $LastName     = $_POST[$row["lastName"]];
    $attendance   = $_POST["attendance"];if(isset($_POST["submit"]) == "Submit")
    {
    $query = "INSERT INTO employee_attendance(attendanceID, employeeID, firstName, lastName, attendance)
    VALUES('$attendanceID', $employeeID', '$FirstName', '$LastName', '$attendance')";
    $result = $db->query($query);

    $db->close();
    echo "<script language='javascript'>alert('Submit process success!')</script>";
    }
    ?>
    目前还没找到syntax error,看完三个php文件后,我发现最有可能的问题是出现在Attendance.php里的form包含了<?php
    include("AttendanceAction.php");
    ?>
    我的第一界面是Attendance.php,但是我能看到包含AttendanceAction.php在同一界面,然后我按submit的按键是在AttendanceAction.php,可能是form里又有form的关系而无法post过去,目前看到的问题是这里。
      

  5.   

    根据上面完整的资料,我得到Parse error: syntax error, unexpected T_INCLUDE in C:\xampp\htdocs\cms\AttendanceEditedAction.php on line 2
    错误。AttendanceEditedAction.php界面的代码好像全都错了,我觉得是逻辑问题。franzhong,我试了你给我的方法,依然得到Parse error: syntax error, unexpected T_INCLUDE in C:\xampp\htdocs\cms\AttendanceEditedAction.php on line 2.
      

  6.   

    根据上面最新完整的三个php文件,我把AttendanceEditedAction.php里的code清空,完全没有代码,随便放了个deada,纯属文字,结果居然显示了!所以我认为不是syntax error,而是逻辑问题,好像连接去AttendanceEditedAction.php里的都不能写成PHP?只能写文字。希望大家可以从我的测试中找到更specific的问题。