这是一个个人项目,不上线,我不需要担心mysql折旧或SQL注入
我一直得到:
解析错误:语法错误、意外的"返回"(T_RETURN)、预期 C:''wamp''www''StudentExams''examisud.php 第 64 行中的 '"," 或 ';"
'
我的代码按编写顺序排列(全部在 1 个 php 文件中):
我的删除查询:
if (isset($_POST['delete'])) //DELETE QUERY
{
$DeleteQuery = "DELETE FROM Exam WHERE exam_id='$_POST[hidden]'";
mysql_query($DeleteQuery, $con);
};
我的表格:
echo "<form action=examisud.php method=post>"; //HTML FORM ECHOED OUT BY PHP
echo "<tr>";
echo "<td>" . "<input type=text name=exam_id value=" . $record['exam_id'] . " </td>";
echo "<td>" . "<input type=text name=subject value=" . $record['subject'] . " </td>";
echo "<td>" . "<input type=text name=exam_date value=" . $record['exam_date'] . " </td>";
echo "<td>" . "<input type=hidden name=hidden value=" . $record['exam_id'] . " </td>";
echo "<td>" . "<input type=image name=update value=update id=submit src=images/update.png" . " </td>";
echo "<td>" . "<input type=image name=delete value=delete id=submit onClick="return deleteconfig()" src=images/delete.png" . " </td>";
echo "</tr>";
echo "</form>";
}
echo "<form action=examisud.php method=post>";
echo "<tr>";
echo "<td><input type=text name=uexam_id></td>";
echo "<td><input type=text name=usubject></td>";
echo "<td><input type=text name=uexam_date></td>";
echo "<td>" . "<input type=image name=insert value=insert id=submit src=images/insert.png" . " </td>";
echo "</form>";
echo "</table>";
echo '</div>';
我的JavaScript:
<html>
<header>
<script>
function deleteconfig(){
var del=confirm("Are you sure you want to delete this record?");
if (del==true){
alert ("record deleted")
}else{
alert("Record Not Deleted")
}
return del;
}
</script>
</header>
</html>
如何使此代码正常工作?我需要一个弹出窗口,要求我确认是否要删除字段值。我是php和javascript的新手。
你没有在echo中转义引号.. :
echo "<td>" . "<input type=image name=delete value=delete id=submit onClick='"return deleteconfig()'" src=images/delete.png" . " </td>";
只是一个装饰性提示:您可以用 .
连接整个字符串,而不是每行上的echo
,并且仍然对每行使用换行符。
此外,您似乎忘记关闭几个input
元素。
我还建议在 html 的属性中使用引号。对于像 type=text
这样的短属性,这不是强制性的,但像src
这样的长值真的离不开。
最后,尝试使用单引号 ( '
) 而不是双引号 ( "
),并避免在不需要的地方进行字符串连接(组合 2 个静态字符串),如下所示:
echo '<form action="examisud.php" method="post">'. //HTML FORM ECHOED OUT BY PHP
'<tr>'.
'<td><input type="text" name="exam_id" value="' . $record['exam_id'] . '" </td>'.
'<td><input type="text" name="subject" value="' . $record['subject'] . '" </td>'.
'<td><input type="text" name="exam_date" value="' . $record['exam_date'] . '" </td>'.
'<td><input type="hidden" name=hidden" value="' . $record['exam_id'] . '" </td>'.
'<td><input type="image" name="update" value="update" id="submit" src="images/update.png" ></td>'.
'<td><input type="image" name="delete" value="delete" id="submit" onClick="return deleteconfig()" src="images/delete.png" ></td>'.
'</tr>'.
'</form>';
}
echo '<form action="examisud.php" method="post">'.
'<tr>'.
'<td><input type="text" name="uexam_id"></td>'.
'<td><input type="text" name="usubject"></td>'.
'<td><input type="text" name="uexam_date"></td>'.
'<td><input type="image name="insert" value="insert" id="submit" src="images/insert.png" ></td>'.
'</tr>'.
'</form>'.
'</table>'.
'</div>';
使用单引号告诉 php 解释器不要费心检查字符串中的变量。这一点,以及减少的串联量使代码更有效率,在我看来,代码更具可读性。
至于你的JavaScript:
if (del==true){
可以替换为
if (del){
if
检查其值是否为 true(-ish)。由于confirm
返回布尔输出,因此无需检查是true == true
还是false == true
。