如果我有一个将执行 PHP 脚本的提交按钮,我可以在不实际进入该页面的情况下执行它,即:process.php?我已经习惯了 JavaScript 能够做到这一点。
(为了记录,我说的是没有 AJAX,没有在另一个页面上重定向一次,不,我不是很有希望。)
如果我有一个将执行 PHP 脚本的提交按钮,我可以在不实际进入该页面的情况下执行它,即:process.php?我已经习惯了 JavaScript 能够做到这一点。
(为了记录,我说的是没有 AJAX,没有在另一个页面上重定向一次,不,我不是很有希望。)
您能够使用 JavaScript 执行此操作的原因是 JavaScript 可以在客户端的浏览器中执行。另一方面,PHP 总是在服务器上执行并将 HTML 返回给客户端。简而言之,不,你不能。
试试这个,如果你想使用 PHP 唯一的解决方案来解决你的问题。
<?php
function submit_form(){
$host = "localhost";
$user = "user";
$password = "password";
$database = "database";
$firstname = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);
$lastname = filter_var($_POST['lastname'], FILTER_SANITIZE_STRING);
$email = filter_var(filter_var($_POST['email'],FILTER_SANITIZE_EMAIL),FILTER_VALIDATE_EMAIL);
// open connection to database
$link = mysqli_connect($host, $user, $password, $database);
IF (!$link){
echo ("Unable to connect to database!");
}
ELSE {
//INSERT VALUES INTO DATABASE
$query = "INSERT INTO users (firstname,lastname,email)
VALUES('".$firstname."', '".$lastname."', '".$email."'";
return mysqli_query($link,$query);
}
//close connection to database
mysqli_close($link);
}
$form = <<<EODuserform
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Form</title>
</head>
<form action="{$_SERVER['PHP_SELF']}" method="POST" name="userform">
<label for='first'>First Name:</label></br>
<input type="text" name="firstname" id="first" maxlength="25" tabindex='1' VALUE="firstname" /></br>
<label for='first'>Last Name:</label></br>
<input type="text" name="lastname" id='lastname' maxlength="25" tabindex='2' VALUE="lastname" /></br>
<label for='email'>E-mail:</label></br>
<input type="text" name="email" id='email' maxlength="100" tabindex='3' VALUE="email" /></br>
<input type="submit" class='button' name="submit" value="submit" tabindex='4' />
</form>
</body>
</html>
EODuserform;
IF(!IsSet($_POST['submit'])){ // Check if form is not send, if not display empty form.
echo $form;
}
ELSE{
// in the case you want to send something to the database use
submit_form();
echo ('Thanks for submitting your form');
}
?>
这是一个非常基本的脚本,您可以在此页面上找到类似的脚本:表单未保存到数据库