下面的HTML代码的表单应该如何看一个片段,但你提到你已经完成这个部分:
page1.html
PHP代码下面即可得到在用户从表单提交他们的信息之后,page1.html中的变量,然后将一行插入到数据库的表中。使用此代码时,请不要忘记将表格名称,列等替换为表单上的名称,列等,以及使您的代码可以访问的4个“********”变量数据库:
使page2.php
//uses MySQL (PDO)
$usernameForm = $_POST['usernameForm'];
$passwordForm = $_POST['passwordForm'];
$servername = "********";
$username = "********";
$password = "********";
$myDB = "********";
try {
$conn = new PDO("mysql:host=$servername;dbname=$myDB", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
$sql = "INSERT INTO myTable (username, password) VALUES (:usernameForm, :passwordForm)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':usernameForm', $usernameForm);
$stmt->bindParam(':passwordForm', $passwordForm);
$stmt->execute();
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
$conn = NULL;
?>
编辑:看了就希望有一个页面上的所有代码您的评论后,做一个简单的方法如下:
更换此行:
这一行:
">这里发生的事情是这样的: PHP代码总是在服务器上运行。当您的网站完全加载时,与服务器的连接就会终止。无论您通过
...标签发送到服务器的任何信息都需要与服务器建立连接,这就是为什么一般情况下人们会使用两个页面(一个用于输入,另一个用于接收数据),然而将所有代码保存在一个页面中的一种简单而常用的方法:将...发送给自己!要做到这一点,你有两个选择:
如果你的页面被称为page1.php中,那么你可以只是action="page1.php"取代action="page2.php"。但是,这通常不是很好的编程,因为如果由于某种原因页面名称发生变化,那么代码会中断,这会导致我们选择第二个(也是更好的)选项。
用action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"代替action="page2.php"。它的作用几乎与选项1相同,但是action中的php代码要求$ _SERVER超全球提供该页面的名称,从而防止在您重命名文件的情况下页面“破坏”。