如何从具有输入值的submit调用php函数?
我遇到了一个小问题。我想,当我按下我的按钮,创建一个数据库,我的名字,因为我想使用我的文字输入。我想用php做这个。如果有人能帮助我,我将非常感激 index.php:如何从具有输入值的submit调用php函数?,php,post,input,submit,Php,Post,Input,Submit,我遇到了一个小问题。我想,当我按下我的按钮,创建一个数据库,我的名字,因为我想使用我的文字输入。我想用php做这个。如果有人能帮助我,我将非常感激 index.php: require("secret.php"); require("getDatabases.php"); $conn = new PDO($servername, $username, $password); $databases = getDatabases($conn); // $c
require("secret.php");
require("getDatabases.php");
$conn = new PDO($servername, $username, $password);
$databases = getDatabases($conn);
// $createDB = create_db($conn, $name);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>phpMyAdmin</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"/>
</head>
<body>
<!-- list databases-->
<div class="list-group">
<?php
foreach($databases as $data){
echo "<button type=button class=list-group-item list-group-item-action>". htmlspecialchars($data)."</button>";
}
?>
</div>
<!-- to create database -->
<form method="post" action="./database/createDB.php">
<input type="text" placeholder="Create your database"><br>
<input type="submit" name="submit" value="Create my DB">
</form>
</body>
</html>
function createDB($pdo, $name)
{
$create = `CREATE DATABASE $name`;
$pdo->exec($create);
}
if(isset($_POST['submit']))
{
createDB();
}
您需要在表单输入文本字段中添加一个
name
属性,然后在createDB.php
的主代码中检索该属性。然后,您需要将该名称(在验证之后)和您的$pdo
数据库连接对象传递到createDB()
函数中,因为它需要这两个参数。除了@droopsnoot所说的,您还需要过滤输入并使用准备好的语句(可以进行演示吗?:)您已经可以看到如何查看表单变量,因为这样做是为了检查表单是否已提交。然后应该清楚如何从表单变量中提取名称,并将其添加为参数。不确定从何处获取$pdo
变量-通常是在包含文件中创建的,但似乎是在代码中手动执行的。因此,请复制连接到数据库服务器的代码。