Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:全局变量未被存储?_Php_Global Variables - Fatal编程技术网

PHP:全局变量未被存储?

PHP:全局变量未被存储?,php,global-variables,Php,Global Variables,事实证明,这与全局变量无关(抱歉,在另一篇文章中讨论过) 我试图将所有代码保存在一个页面上(自我处理),但我很确定这是不可能的。在同一页上排列下面答案中列出的代码是不起作用的。数字 *编辑以添加整个脚本减去CSS(不需要) 库存表 大约20个小时后,我仍然不确定这是否可以在同一页上完成。但是这个解决方案是有效的 第一页: <?php require_once 'IRCinventoryconfig.php'; ini_set('display_errors',1); error_re

事实证明,这与全局变量无关(抱歉,在另一篇文章中讨论过)

我试图将所有代码保存在一个页面上(自我处理),但我很确定这是不可能的。在同一页上排列下面答案中列出的代码是不起作用的。数字

*编辑以添加整个脚本减去CSS(不需要)


库存表

大约20个小时后,我仍然不确定这是否可以在同一页上完成。但是这个解决方案是有效的

第一页:

<?php
require_once 'IRCinventoryconfig.php';

ini_set('display_errors',1);  error_reporting(E_ALL);
session_start();

if(isset($_SESSION['value'])) { 
    $thisTable = $_SESSION['value'];

    $valuesArray = array();
    if (isset($_POST)) {
        $valuesArray = $_POST;
        }

    $columnsArray = array_keys($valuesArray);
    array_splice($columnsArray, 0, 1);

    $columnsString = implode(", ", $columnsArray);


    $insertValues = array();
    foreach($valuesArray as $values) {
        $insertValues[] = $values;
        }

    $valuesString = implode("','", $insertValues);
    $valuesString = "'".$valuesString."'";
    $valuesString = substr($valuesString, 3);

    $connection = new mysqli($db_hostname, $db_username, $db_password, $db_database, $db_port);
        if ($connection->connect_error) die($connection->connect_error);

    $queryInsert = "INSERT INTO $thisTable ($columnsString) VALUES ($valuesString)";                           
    $result      = $connection->query($queryInsert);

    if (!$result) echo "INSERT failed: $query<br>" .
        $connection->error . "<br><br>";
    else echo "Successful entry";

    $connection->close();

}
?>

交互式资源中心清单
$(文档).ready(函数(){
$('form')。提交(函数(){
$('input[type=submit]')
道具(“禁用”,真实);
});//结束提交
var max_fields=4;//允许的最大输入框数
var wrapper=$(“.input_fields_wrapp”);//字段包装器
var add_button=$(“.add_字段_button”);//添加按钮ID
var x=1;//初始文本框计数
$(添加按钮)。单击(函数(e){//在添加输入按钮上单击
e、 预防默认值();
如果(x你不需要“导入”"
if
循环中的全局变量,仅在函数内部,否则它将超出范围;但不建议使用全局变量污染全局空间。没有更多上下文,这里没有任何可能出错的地方。请发布这两个循环的周围代码。在to中调用
global
p示例不会“使其全球化”,但如果它已经在全局范围内,它就已经在全局范围内了。我想你的问题是,在第二个if循环中,你试图获取的全局变量没有在全局范围内定义。它只存在于第一个if循环中。两件事;好吧,从技术上讲,你缺少一个右括号。其次,你的第二篇文章是否包含name属性对于这一个呢?在打开
@Michael Berkowski之后立即将错误报告添加到文件的顶部好的,我已经添加了整个脚本。
<!DOCTYPE html>
    <head>
        <title>Interactive Resource Center Inventory</title>
        <meta charset="UTF-8">
    </head>
<script src="../_js/jquery.min.js"></script>
<script src="../_js/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
    $('form').submit(function() {
        $('input[type=submit]')
        prop('disabled',true);
    });//end submit
    var max_fields      = 4; //maximum input boxes allowed
    var wrapper         = $(".input_fields_wrap"); //Fields wrapper
    var add_button      = $(".add_field_button"); //Add button ID
    var x = 1; //initlal text box count
    $(add_button).click(function(e){ //on add input button click
        e.preventDefault();
        if(x < max_fields){ //max input box allowed
            x++; //text box increment
            $(wrapper).append('<div>Column: <input type="text" name="mytext[]"/><a href="#" class="remove_field">Remove</a></div>'); //add input box
        }
    });
    $(wrapper).on("click",".remove_field", function(e){ //user click on remove text
        e.preventDefault(); $(this).parent('div').remove(); x--;
    })
});//end ready
</script>
<style>

#table {
    margin-top:2px;
    }

#formTable {
    width:100%;
    margin:0px;padding:0px;
    border:1px solid #000000;
    border-bottom:none;
    border-left:none;
    border-right:none;
    }

#formTable td{
    vertical-align:middle;
    border:1px solid #000000;
    border-width:0px 1px 1px 0px;
    text-align:left;
    padding:7px;
    width:100px;
    font-size:14px;
    font-family:arial;
    font-weight:normal;
    color:#000000;
    }

#formTable input[type="text"]{
        width:95%;
        }

.CSSTableGenerator {
margin:0px;padding:0px;
width:100%; 
border:1px solid #000000;
border-top:none;
border-right:none;
border-left:none;
}

.CSSTableGenerator table{
width:100%;
height:100%;
margin:0px;padding:0px;
}

.CSSTableGenerator tr:nth-child(odd){ background-color:#e5e5e5; }
.CSSTableGenerator tr:nth-child(even) { background-color:#ffffff; }

.CSSTableGenerator th{
border:1px solid #000000;
border-width:0px 1px 1px 0px;
width:100px;
}

.CSSTableGenerator td{
vertical-align:middle;
border:1px solid #000000;
border-width:0px 1px 1px 0px;
text-align:left;
padding:7px;
width:100px;
font-size:14px;
font-family:arial;
font-weight:normal;
color:#000000;
}

.CSSTableGenerator tr:last-child td{
border-width:0px 1px 0px 0px;
}

.CSSTableGenerator tr td:last-child{
border-width:0px 0px 1px 0px;
}

.CSSTableGenerator tr:last-child td:last-child{
border-width:0px 0px 0px 0px;
}

.CSSTableGenerator tr:first-child td{
background:-o-linear-gradient(bottom, #cccccc 5%, #b2b2b2 100%);    background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #cccccc), color-stop(1, #b2b2b2) );    background:-moz-linear-gradient( center top, #cccccc 5%, #b2b2b2 100% );    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#cccccc", endColorstr="#b2b2b2");  background: -o-linear-gradient(top,#cccccc,b2b2b2);
background-color:#cccccc;
border:0px solid #000000;
text-align:center;
border-width:0px 0px 1px 1px;
font-size:14px;
font-family:arial;
font-weight:bold;
color:#000000;
margin-top:-2px;
</style>
<body>
<?php //IRCinventoryhome.php
require("IRCpage.inc");
require("IRCinventoryfunctions.php");
require_once 'IRCinventoryconfig.php';

$homepage = new IRCtemplate();

$homepage->Display();

session_start();
    $_SESSION['value'] = $_POST['value'];
    $thisTable = $_SESSION['value'];
    var_dump($_SESSION);

$connection = new mysqli($db_hostname, $db_username, $db_password, $db_database, $db_port);
    if ($connection->connect_error) die($connection->connect_error);
    global $connection;

$result = $connection->query("SHOW TABLES");

$table = array();
    while ($row = $result->fetch_row()){
    $table[] = $row[0];
    }
$count = count($table);

?>

<!-- Dropdown Menu for Table Selection -->

<div id="contentHeader">
    <div id="select">
        <form action="http://localhost:8888/IRC/IRCinventoryhometest.php" method="POST">
            <select name="value">
                <?php for ($pointer = 0 ; $pointer < $count ; ++$pointer) {
                    echo <<<_END
                        <pre>
                            <option value="$table[$pointer]">$table[$pointer]</option>
                        </pre>
_END;
                }
                ?>
            </select>
            <input type="submit" name="go">
        </form>
    </div> <!-- End .select -->
</div> <!-- End #contentHeader -->

<div id="content">

<?php
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
$thisTable = "OUTGOING";

$queryColumns  = "SHOW COLUMNS FROM $thisTable";
$resultColumns = $connection->query($queryColumns);
    if (!$resultColumns) die ("Database access failed: " . $connection->error);
global $resultColumns;

$queryRows  = "SELECT * FROM $thisTable";
    $resultRows = $connection->query($queryRows);
    if (!$resultRows) die ("Database access failed: " . $connection->error);
global $resultRows;

$rows = $resultRows->num_rows;
global $rows;

global $connection;

drawTable();

$connection->close();
} else {

if(isset($_POST['value'])) {
    $thisTable = $_POST['value'];
    }

$connection = new mysqli($db_hostname, $db_username, $db_password, $db_database, $db_port);
    if ($connection->connect_error) die($connection->connect_error);
    global $connection;


$queryColumns  = "SHOW COLUMNS FROM $thisTable";
$resultColumns = $connection->query($queryColumns);
    if (!$resultColumns) die ("Database access failed: " . $connection->error);
global $resultColumns;

$queryRows  = "SELECT * FROM $thisTable";
    $resultRows = $connection->query($queryRows);
    if (!$resultRows) die ("Database access failed: " . $connection->error);
global $resultRows;

$rows = $resultRows->num_rows;
global $rows;

global $connection;

drawTable();

?>
<!-- FORM FOR ADDING ROWS TO CURRENT TABLE -->

<div id="table">
    <table id="formTable">
        <form name="addRow" action="http://localhost:8888/IRC/IRCprocessinventory.php" method="POST">
                <input type="hidden" name="control">
            <td>
                Add row?
            </td>
            <td></td>
        <?php for ($pointer = 2 ; $pointer < $countColumnsGlobal ; ++$pointer) { ?>
            <td>
                <input type="text" name="<?php echo $columns[$pointer];?>">
            </td>
        <?php } ?>
            <td>
                <input type="submit" value="submit">
            </td>
        </form>
    </table>
</div> <!-- end table -->
<?php 
}

?>
</div> <!-- End #content -->

</body>
</html>
<?php
require_once 'IRCinventoryconfig.php';

ini_set('display_errors',1);  error_reporting(E_ALL);
session_start();

if(isset($_SESSION['value'])) { 
    $thisTable = $_SESSION['value'];

    $valuesArray = array();
    if (isset($_POST)) {
        $valuesArray = $_POST;
        }

    $columnsArray = array_keys($valuesArray);
    array_splice($columnsArray, 0, 1);

    $columnsString = implode(", ", $columnsArray);


    $insertValues = array();
    foreach($valuesArray as $values) {
        $insertValues[] = $values;
        }

    $valuesString = implode("','", $insertValues);
    $valuesString = "'".$valuesString."'";
    $valuesString = substr($valuesString, 3);

    $connection = new mysqli($db_hostname, $db_username, $db_password, $db_database, $db_port);
        if ($connection->connect_error) die($connection->connect_error);

    $queryInsert = "INSERT INTO $thisTable ($columnsString) VALUES ($valuesString)";                           
    $result      = $connection->query($queryInsert);

    if (!$result) echo "INSERT failed: $query<br>" .
        $connection->error . "<br><br>";
    else echo "Successful entry";

    $connection->close();

}
?>