почему он не публикует эти результаты? - PullRequest
0 голосов
/ 10 октября 2008

У меня проблемы с получением значений из формы после обработки. Мне нужна твоя помощь.

function updateUser($table, $id) {
    if($_POST) {
        processUpdate($table, $id);
    } else {
        updateForm($table, $id);
    }
}

function processUpdate($table, $id) {

    print $table; //testing
    print $id; //testing

    $email=addslashes($HTTP_POST_VARS['email']);
    $lname=addslashes($HTTP_POST_VARS['lname']);
    $fname=addslashes($HTTP_POST_VARS['fname']);

    print $lname;

    //which table do we update
    switch($table) {
        case "maillist":
            $result = mysql_query("UPDATE $table SET email='$email', lname='$lname', fname='$fname' WHERE id='$id'") 
            or die(mysql_error());
        break;
    }
}

Функция updateForm ($ table, $ id); просто выводит форму, имеет поля email, lname, fname. И когда вы обрабатываете форму, действие то же самое, с таблицей и идентификатором, которые передаются через URL, поэтому он ПОЛУЧАЕТ идентификатор и таблицу таким образом, а для lname, fname и email он должен получить его по почте .

РЕДАКТИРОВАТЬ: это то, что тег формы для функции updateForm: <form method="post" action="?mode=upd&id='.$id.'&table='.$table.'">

Но по какой-то причине он не публикует значения.

Ответы [ 2 ]

1 голос
/ 10 октября 2008

Атрибут метода формы установлен на post?

<form method = "post" action = "...">

И все ли атрибуты имени входа установлены правильно?

Вы смотрели на вывод html, чтобы убедиться, что нет синтаксических ошибок? Также попробуйте использовать

$_POST

вместо

$HTTP_POST_VARS

0 голосов
/ 10 октября 2008

Пожалуйста, убедитесь, что вы используете новейшее руководство для одной из последних версий PHP5. НЕ какой-то PHP 3.x, полный устаревших функций; -)

Это сделает вашу жизнь (и нашу) намного проще: P

Кстати, еще один совет, который помешает вам сделать основные SQL-инъекции в этом скрипте: ESCAPE КАЖДЫЙ ПЕРЕМЕННЫЙ, КОТОРЫЙ ВЫ ПРОЙДЕТЕ !!

Вы не можете избежать ID здесь, это хорошая огромная дыра для того, чтобы бросить вашу БД

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