PHP在另一个if中未定义索引
在这种情况下,我在第2行中遇到了关于未定义索引的错误: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
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
}
}