PHP在另一个if中未定义索引

PHP在另一个if中未定义索引,php,html,mysql,sql,Php,Html,Mysql,Sql,在这种情况下,我在第2行中遇到了关于未定义索引的错误: if ($_POST['go'] == 'create') { 我知道我可以用isset修复它,但我不知道如何在另一个if语句中进行修复 多谢各位 if (isset($_GET['createDB'])) { if ($_POST['go'] == 'create') { $handle = fopen($databaseSchema, "r"); $createTable_events = fread($ha

在这种情况下,我在第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());
     }

use设置为“isSet”,如下所示

if(isSet($_POST['data']))
{
    if(isSet($_POST['data2']))
   {
    //code here

    }

}
这应该行得通

if (isset($_GET['createDB'])) {
    if (isset($_POST['go']) && $_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());
        }

使用isset和!两个都空

if (isset($_GET['createDB'])) {
  if (isset($_POST['go']) && $_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());
     }

相同的isset将起作用

如果(isset($\u POST['go'])和&$\u POST['go']='create'){是一个选项吗?如果下面的一个答案解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这有两个作用。它让每个人都知道你的问题已经解决到令你满意的程度,并让帮助你的人相信你的帮助。为了得到完整的解释。解决方案应该作为答案添加,而不是作为问题的编辑。问题的连续性使网站对所有访问者都有用,投票的能力也是如此n答案。我正在回滚编辑以删除假定的“答案”@artmasterpl,建议在答案中添加一个对您最有帮助的复选标记。如果建议的答案中没有一个对您有帮助,您也可以自己添加并接受答案。还请对任何您认为有用的答案进行追加投票。这些复选标记和追加投票激励SO志愿者继续分享他们的知识,并帮助ans回答您的问题。谢谢,欢迎来到SO。很高兴您找到了解决方案。现在已编辑。这里的括号有点太多了,但为什么这一个被否决了?
if (isset($_GET['createDB'])) {
  if ((isset($_POST['go'])) &&  ($_POST['go']  == 'create')) {
      // Your Code
 }
}