【发布时间】:2018-06-21 10:42:55
【问题描述】:
在这种情况下,我在第 2 行收到关于未定义索引的错误:
if ($_POST['go'] == 'create') {
我知道我可以使用 isset 修复它,但我不知道如何在另一个 if 语句中进行修复。
谢谢
if (isset($_GET['createDB'])) {
if ($_POST['go'] == 'create') {
$handle = fopen($databaseSchema, "r");
$createTable_events = fread($handle, filesize($databaseSchema));
$user=$_POST['user'];
$pass=$_POST['pass'];
$clientHost= (isset($_POST['host']) ? $_POST['host'] : 'localhost');
try {
$dbh = null;
$dbh = new PDO("mysql:host=$DB_HOST", $user, $pass);
// create database
$dbh->exec("CREATE DATABASE `".$DATABASE."`;");
// Create waf-fle user
$dbh->exec("CREATE USER '".$DB_USER."'@'".$clientHost."' IDENTIFIED BY '".$DB_PASS."';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES ON `".$DATABASE."`.* TO '".$DB_USER."'@'".$clientHost."';
FLUSH PRIVILEGES;");
} catch (PDOException $e) {
die("DB ERROR: ". $e->getMessage());
}
【问题讨论】:
-
可以选择
if (isset($_POST['go']) && $_POST['go'] == 'create') {吗? -
如果以下答案之一解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这有两件事。它让每个人都知道您的问题已得到您满意的解决,并为帮助您的人提供帮助。 See here 以获得完整的解释。
-
解决方案应该作为答案添加,不是作为对问题的编辑。问题的连续性使网站对所有访问者都很有用,对答案进行投票的能力也是如此。我正在回滚编辑以删除假定的“答案”。
-
@artmasterpl,建议在对您最有帮助的答案中添加复选标记。如果建议的答案对您没有帮助,您也可以自己添加和接受答案。还请投票您认为有用的任何内容。这些复选标记和赞成票激励 SO 志愿者继续分享他们的知识,并帮助回答您的问题。谢谢,欢迎来到 SO。很高兴您找到了解决方案。