【发布时间】:2014-02-17 16:57:26
【问题描述】:
这可能是一个愚蠢的问题,但我是新手(这是一个家庭作业 ^^),我找不到解决方案 :) 我有一个带有 html 表单的 .php 文件以及一些 php 代码来执行查询并将表单中的值插入到我的数据库中。它可以工作,但是每次加载页面时都会执行 php 代码,并且会在数据库中插入一个“空白”行,因为显然还没有填写表格。这是代码
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="AlterVista - Editor HTML"/>
<title></title>
</head>
<body>
<form action="myPage.php" method="post">
ID: <input type="text" name="id" /> <br />
<input type="submit" name="Submit" value="Go" /> <br />
</form>
<?php
$user = "DB";
$password = "";
$host = "";
$database = "my_DB";
$connessione = mysql_connect($host, $user, $password);
@mysql_select_db($database, $connessione) or die( "Unable to select database");
$id = $_REQUEST['id'];
$query = "INSERT INTO myTable (ID) VALUES ('".$id."')";
mysql_close();
?>
</body>
</html>
有没有办法只在执行表单上的“Go”按钮后执行 php 代码?
【问题讨论】:
-
这正是应该发生的事情:php 工作 before 页面被渲染
-
是的,我想 xD,但是有一种方法可以在“发生”之后执行一段 php 代码? (如完成表格)
-
检查是否设置了$_POST['Submit'] 例如
-
您可以使用 die() 语句来阻止代码再次执行,建议将处理脚本(连接、插入)保存在单独的文件中