php include с проблемами атрибутов формы PHP_SELF - PullRequest
0 голосов
/ 12 января 2012

Хорошо, вот моя проблема, которую я пытаюсь решить. У меня есть страница индекса, созданная с помощью набора php-файлов для других файлов на сервере. Например, файл для создания моего меню и т. Д.

Из этих файлов я работаю с включением, которое создает таблицу на странице с кнопкой удаления в каждой строке, так что данные могут быть удалены пользователем при необходимости. С учетом вышесказанного, страница, которая создает таблицу, использует это определение формы:

<form name=somename id=someid method=post action=<?php $PHP_SELF?>

Хорошо, что происходит, когда удаление выполняется, форма пытается опубликовать для себя и выдает ошибку в адресную строку:

Примечание : неопределенная переменная: PHP_SELF в C: \ xampp \ htdocs \ web \ somefile.php в строке 39

Строка 39 - это атрибут формы.

=================================

Настройка страницы индекса, которая содержит это, выглядит так:

<div id="container">
    <div id="left">
        <p>Welcome <?php echo $_SESSION['USERFIRSTNAME']?> <?php echo $_SESSION['USERLASTNAME']?></p>
    </div>
    <div id="right">
        <?php 
            //navigation menu
            include('menu.php');
        ?>
    </div> <!-- menu div -->
    <div class="clear"></div>
</div> <!-- container div -->
<div id="userlist">
    <?php 
        //build user access links
        //include('userlist.php');
    ?>
</div><!-- user list div -->
<div id="dbview">
    <?php 
        include('dbview.php');
    ?>
</div>

dbview.php строит таблицу, о которой я говорил выше.

Я пытаюсь выяснить, как я могу выполнить удаление (которое просто обновляет строку БД), пока оно обновляется обратно на страницу индекса. Текущий код, который я использую для обработки сообщения, похоже, не работает:

if (($someresult)&& ($anotherresult))
                    {
                        echo'<font color="#FF0000">You have successfully  removed item </font>';
                        header('Location: index.php');
                         exit;
                    }
                    else
                    {
                        echo'<font color="#FF0000">Error while Removing</font>';
                    }

Кажется, вся проблема связана с частью $ PHP_SELF, но мне нужна помощь. Прошу прощения за растянутый пост. Надеюсь, это имеет смысл. Если нужно разместить больше кода, я тоже могу это сделать. Еще раз спасибо!

1 Ответ

5 голосов
/ 12 января 2012

Данные, которые вы хотите, на самом деле хранятся в $_SERVER['PHP_SELF'].

Если вы ожидаете, что переменная с именем $PHP_SELF будет определена, я подозреваю, что вы привыкли работать с сервером, на котором был включен register_globals , что редко случается. В этом случае вам также следует помнить, что переменные, передаваемые через $_GET и $_POST, также не будут определены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...