Обработка формы запроса на базу данных mysql

302
.
Всем привет!
Хотел для себя написать маленький скрипт который добавить всю заполненную инфу на базы но так как я не знаю команды mysql мне трудно помогите пожалуйста!


вот сам код скрипта (+/-)


сама форма (+/-)


подключение дб (+/-)
.
Ей 25
Для начала не помешало бы профильтровать инфу эту...
.
Кадило крутится, лавэха мутится
Первый кусок кода - дырка. Используй mysql_real_escape_string, а на выводе html special chars
.
Посоветуйте какой нибудь книжку или мануал. А то разбросали коды (спасибо конечно) а что где должны стоять чайнику не понять(((
.
а это нормально? можно использовать этот код?

if($_POST['name'])$name = $_POST['name'];
if($_POST['number'])$number = $_POST['number'];
if($_POST['email'])$email = $_POST['email'];
if($_POST['by'])$by = $_POST['by'];
if($_POST['name2'])$name2 = $_POST['name2'];
if($_POST['number2'])$number2 = $_POST['number2'];
if($_POST['old'])$old = $_POST['old'];
if($_POST['gorod'])$gorod = $_POST['gorod'];
if($_POST['raion'])$raion = $_POST['raion'];
if($_POST['adress'])$adress = $_POST['adress'];
if($_POST['postcode'])$postcode = $_POST['postcode'];
.
корявый код.
if($var) валидно только для true|false и аналогичных вариантов, невалидно как проверка существования переменной, используй isset или empty
.
или этот код правильный?
<?
include('db.php');

if ($_POST) { // Принимаем новые записи

    $name = $GLOBALS['MySQL']->escape(strip_tags($_POST['name']));
    $number = $GLOBALS['MySQL']->escape(strip_tags($_POST['number']));
    $email = $GLOBALS['MySQL']->escape(strip_tags($_POST['email']));
    $by = $GLOBALS['MySQL']->escape(strip_tags($_POST['by']));
    $name2 = $GLOBALS['MySQL']->escape(strip_tags($_POST['name2']));
    $number2 = $GLOBALS['MySQL']->escape(strip_tags($_POST['number2']));
    $old = $GLOBALS['MySQL']->escape(strip_tags($_POST['old']));
    $pol = $GLOBALS['MySQL']->escape(strip_tags($_POST['pol']));
    $gorod = $GLOBALS['MySQL']->escape(strip_tags($_POST['gorod']));
    $raion = $GLOBALS['MySQL']->escape(strip_tags($_POST['raion']));
    $adress = $GLOBALS['MySQL']->escape(strip_tags($_POST['adress']));
    $postcode = $GLOBALS['MySQL']->escape(strip_tags($_POST['postcode']));





            // Можно добавлять комментарий
            $GLOBALS['MySQL']->res("INSERT INTO `zapros` SET
`name` = '{$name}',
`number` = '{$number}',
`email` = '{$email}',
`by` = '{$by}',
`name2` = '{$name2}',
`number2` = '{$number2}',
`old` = '{$old}',
`pol` = '{$pol}',
`gorod` = '{$gorod}',
`raion` = '{$raion}',
`adress` = '{$adress}',
`postcode` = '{$postcode}'
");
}

mysql_query($query) or die(mysql_error()); 
mysql_close(); 

?>
.
Да используй ты isset()
.
Jane
Блиносвёрт ?
zver, в джоне делают так
if (isset($_POST['submit'])) {
$name = isset($_POST['name']) ? mysql_real_escape_string($_POST['name']) : '';
$number = isset($_POST['number']) ? mysql_real_escape_string($_POST['number']) : '';
$email = isset($_POST['email']) ? mysql_real_escape_string($_POST['email']) : '';
$by = isset($_POST['by']) ? mysql_real_escape_string($_POST['by']) : '';
$name2 = isset($_POST['name2']) ? mysql_real_escape_string($_POST['name2']) : '';
$number2 = isset($_POST['number2']) ? mysql_real_escape_string($_POST['number2']) : '';
$old = isset($_POST['old']) ? mysql_real_escape_string($_POST['old']) : '';
$gorod = isset($_POST['gorod']) ? mysql_real_escape_string($_POST['gorod']) : '';
$raion = isset($_POST['raion']) ? mysql_real_escape_string($_POST['raion']) : '';
$adress = isset($_POST['adress']) ? mysql_real_escape_string($_POST['adress']) : '';
$postcode = isset($_POST['postcode']) ? mysql_real_escape_string($_POST['postcode']) : '';
mysql_query("INSERT INTO `table` SET
            `name` = '" . $name . "',
`number` = '" . $number . "',
            `email` = '" . $email . "',
            `by` = '" . $by . "',
            //много полей
`postcode` = '" . $postcode . "'");
}
else {
// тут форма 
}

все поля предполагаются текстовыми
.
Блиносвёрт ?
блин, форму твою не увидела..там из нее можно понять, какой тип у поля
Всего: 15