这是个人项目,不上网,我不需要担心mysql折旧或SQL注入
我一直在:
解析错误:语法错误,意外'返回' (T_RETURN),期待 ','或';'在第64行的C:\ wamp \ www \ StudentExams \ examisud.php
我的代码按照它编写的顺序(全部在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的新手。
答案 0 :(得分:0)
你没有在你的回声中转义引号..:
echo "<td>" . "<input type=image name=delete value=delete id=submit onClick=\"return deleteconfig()\" src=images/delete.png" . " </td>";
答案 1 :(得分:0)
只是一个美化提示:您可以将整个字符串与echo
连接起来,而不是每行.
,而且每行仍然使用换行符。
此外,您似乎忘记关闭几个input
元素。
我还建议在html的属性中使用引号。在像type=text
这样的简短属性上,它不是强制性的,但像src
这样的较长值确实离不开。
最后,尝试使用单引号('
)而不是双引号("
),并避免在不需要的情况下进行字符串连接(组合2个静态字符串),如下所示:< / p>
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
检查它的值是否为真(-ish)。由于confirm
返回布尔输出,因此无需检查true == true
还是false == true
。