功能删除测试

The global variable level scope, I'm trying to implement a delete function, and inside the delete query a global variable replacing the table name, like the code below, but when I test before the user click 'delete' it's defined, but when after clicking the button, the variable is undefined.

The $GLOBALS['$table'] is been filled by the user, in a different function, and when I echo the $GLOBALS['$table'] first, it shows me the value, and it's fine.

<?php

function DeleteOption()
{
    include ('../CIEcon.php');

    echo "<form action= 'Delete.php'  method = 'post'>";
    echo $GLOBALS['$table'];
    if (isset($_POST['delete'])) {
        if (empty($_POST['Id']) || $_POST['Id'] == 0) {
            echo "<h4>  please choose something to delete   </h4>";
            echo $GLOBALS['$table'] . "hmmmm";
        }
        else {
            $impid = implode("' , '", $_POST['Id']);
            $sqlDelete = "DELETE " . $GLOBALS['$table'] . " WHERE Id IN ('" . $impid . "')";
            $DeleteQuery = mysqli_query($dbCIE, $sqlDelete) or die("Error : " . mysqli_error($dbCIE));
        }
    } // end of delete...
    else {
        echo "";
    }

    echo "</form >";
}; // End of Delete Function..

this is how the $Globle['table'] has been defined by the user

<?php
include('../CIEcon.php');

$GLOBALS['$table']="";




function DisplayOption(){
    include('../CIEcon.php');

echo '
            <form action= "Delete.php"  method = "post">
            <table width ="40%" cellpadding ="4" border="1" align="center" >

            <tr >
            <th style ="color: white; background-color: #f26822 ; " >     Select a Catagory To Delete From   </th>

            </tr>';

                echo "<tr>



             <td>". 

            "<select name = lists >
              <option name= nothing value= 0 selected >Choose a Catagory</option>
              <option name= nothing value= 1 >    Advertising     </option>
              <option name= nothing value= 2>    Fiscal          </option>
              <option name= nothing value= 3>    Food            </option>
              <option name= nothing value= 4>    Shopping        </option>
              <option name= nothing value= 5>    Rentals         </option>
              <option name= nothing value= 6>   Setting up       </option>
              <option name= nothing value= 7>    Performances    </option>
              <option name= nothing value= 8>  Registration/Ushering  </option>
              <option name= nothing value= 9>   Master of Ceremonies  </option>
              <option name= nothing value= 10>    Cleaning up   </option>
              <option name= nothing value= 11>    Others        </option>

             </select>"



              ." </td>


             </tr>";




             echo '

             </table>
             <br/>

             <div align="center">
             <input type="submit" name="submit" value="submit" />
             <input type="reset" value="Clear" />
             <hr> <hr> 
             </div>


             </form>

             ';

///
};



function SelectOption(){
    include('../CIEcon.php');

///
             if(isset($_POST['submit'])){

                        if(isset($_POST['submit']))  // second submit
                        {
                          $errorMessage = "";

                           if(($_POST['lists'])== 0)  // trying to get error if user don't choose.
                              {
                                $errorMessage .= "<li>You Forgot to Choose !</li>";

                              }

                              $lists = $_POST['lists'];  // <-save info in variable based on user input 

                              if(!empty($errorMessage)) 
                              {
                                echo("<p>There was an error with your form:</p>
");
                                echo("<ul>" . $errorMessage . "</ul>
");
                                die();
                              } 

                            } // end of second submit 




                            switch($lists)
                            {
                                case '1':
                                   $GLOBALS['$table']  ="Advertising";
                                break;
                                case '2':
                                  $GLOBALS['$table'] ="Fiscal";
                                break;
                                case '3':
                                    $GLOBALS['$table']="Food";
                                break;
                                case '4':
                                   $GLOBALS['$table'] ="Shopping";
                                break;
                                case '5':
                                    $GLOBALS['$table'] ="Rentals";
                                break;
                                case '6':
                                    $GLOBALS['$table'] ="SettingUp";
                                break;
                                case '7':
                                   $GLOBALS['$table'] ="Performances";
                                break;
                                case '8':
                                    $GLOBALS['$table'] ="Registration";
                                break;
                                case '9':
                                    $GLOBALS['$table'] ="MasterOfCeremonies";
                                break;
                                 case '10':
                                    $GLOBALS['$table'] ="Cleaning";
                                break;
                                 case '11':
                                    $GLOBALS['$table']="Others";
                                break;

                                default;
                                    echo 'Unsupported category';
                                break;
                            }



                if ($GLOBALS['$table'] != ""){

                            $sql = "SELECT * FROM ". $GLOBALS['$table']. "  ";
                             $result = mysqli_query($dbCIE, $sql) or die(mysqli_error($dbCIE));

//trying this...
$_SESSION["tbl"] = $GLOBALS['$table'];

                  /// NOW DISPLAY ALL INFO FROM CHOSEN DATABASE...///

                            echo "
                            <form action= 'Delete.php'  method = 'post'>

                            <table cellpadding ='4' border='1' width='80%' align='center'>
                            <tr>

                            <th>Check </th>
                            <th>Job's Name</th>
                            <th>Description</th>
                            <th> No Students needed</th>
                            <th>Due Date</th>
                            </tr>";

                            while($row = mysqli_fetch_array($result))
                            {
                                echo "<br>";
                            echo "<tr>";
                            echo "<td> <input type='checkbox'  name='Id[]'  value='". $row['Id'] ."' /> </td>";
                           // echo "<td> <input type='checkbox'  name='Table[]'  value='". $GLOBALS['$table'] ."' /> </td>";

                            echo "<td>" . $row['JobName'] . "</td>";
                            echo "<td>" . $row['Description'] . "</td>";
                            echo "<td>" . $row['NoStudent'] . "</td>";
                            echo "<td>" . $row['DueDate'] . "</td>";
                            echo "</tr>";


                            }




                            echo "</table>";
                   /// END THE SEARCH HERE...........///

                            echo " <br>
                                <div align='center'>
                                <input type='reset' value='clear' > 

                                <input type='submit' name='delete' value='delete'>

                                </div>

                            </form>";




                            }  // End if !table=""; 


             } else {  }



///
};// end of function SelectOption

I see you were already trying with the concept of session variables. Here is how to do it:

At the very top of your PHP file, right below this line:

$GLOBALS['$table']="";

add this:

session_start();
if (isset($_SESSION['table'])) {
    $GLOBALS['$table'] = $_SESSION['table'];
}
// rest of your PHP code...

Then in the function SelectOption, right after this:

switch($lists)
{
...
}

add the following line:

$_SESSION['table'] = $GLOBALS['$table'];

This way you keep the selected table alive across requests.

I would urge you however, to rewrite your code and better separate the part where you output HTML from the part where you initialise variables and execute SQL. The better you separate these two, the easier it is to maintain your code.