Выдаётся ошибка, не могу найти ошибку. syntax error, unexpected '{' in X:\home\localhost\www\migrant\add_list_migrants.php on line 52 PHP: <?php include ("blocks/bd.php"); if (isset($_POST['m_reg_date'])) {$m_reg_date = $_POST ['m_reg_date'];} if (isset($_POST['m_surname'])) {$m_surname = $_POST ['m_surname'];} if (isset($_POST['m_name'])) {$m_name = $_POST ['m_name'];} if (isset($_POST['m_fathername'])) {$m_fathername = $_POST ['m_fathername'];} if (isset($_POST['m_sex'])) {$m_sex = $_POST ['m_sex'];} if (isset($_POST['m_dob'])) {$m_dob = $_POST ['m_dob'];} if (isset($_POST['m_nation'])) {$m_nation = $_POST ['m_nation'];} if (isset($_POST['m_pass_number'])) {$m_pass_number = $_POST ['m_pass_number'];} if (isset($_POST['m_pass_date'])) {$m_pass_date = $_POST ['m_pass_date'];} if (isset($_POST['m_pass_issued'])) {$m_pass_issued = $_POST ['m_pass_issued'];} if (isset($_POST['m_address'])) {$m_address = $_POST ['m_address'];} if (isset($_POST['m_edu_lavel'])) {$m_edu_lavel = $_POST ['m_edu_lavel'];} if (isset($_POST['m_jamoat'])) {$m_jamoat = $_POST ['m_jamoat'];} if (isset($_POST['m_date_leave'])) {$m_date_leave = $_POST ['m_date_leave'];} if (isset($_POST['m_date_arrival'])) {$m_date_arrival = $_POST ['m_date_arrival'];} if (isset($_POST['m_date_worck_start'])) {$m_date_worck_start = $_POST ['m_date_worck_start'];} if (isset($_POST['m_date_worck_end'])) {$m_date_worck_end = $_POST ['m_date_worck_end'];} ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "[URL]http://www.w3.org/TR/html4/loose.dtd[/URL]"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Обработчик</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <table width="690" align="center" bordercolor="#FFFFFF" bgcolor="#FFFFFF" class="main_border"> <!--Подключаем шапку сайта--> <? include ("blocks/header.php");?> <tr> <td><table width="690"> <tr> <!--Подключаем левый блок сайта--> <? include ("blocks/lefttd.php")?> <td valign="top"> <?php if (isset($m_reg_date) && (isset($m_surname) && (isset($m_name) && (isset($m_fathername) && (isset($m_sex) && (isset($m_dob) && (isset($m_nation) && (isset($m_pass_number) && (isset($m_pass_date) && (isset($m_pass_issued) && (isset($m_address) && (isset($m_edu_lavel) && (isset($m_jamoat) && (isset($m_date_leave) && (isset($m_date_arrival) && (isset($m_date_worck_start) && (isset($m_date_worck_end)) { /*Здесь пишем что можно заносить информацию в базу*/ $result = mysql_query ("INSERT INTO migrant_list(m_reg_date,m_surname,m_name,m_fathername,m_sex,m_dob,m_nation,m_pass_number,m_pass_date, m_pass_issued,m_address,m_edu_lavel,m_jamoat,m_date_leave,m_date_arrival,m_date_worck_start,m_date_worck_end) VALUES ('$m_reg_date', '$m_surname', '$m_name', '$m_fathername', '$m_sex', '$m_dob', '$m_nation', '$m_pass_number', '$m_pass_date', '$m_pass_issued', '$m_address', '$m_edu_lavel', '$m_jamoat', '$m_date_leave', '$m_date_arrival', '$m_date_worck_start', '$m_date_worck_end')"); if ($result == 'true') {echo "<p>Ваши данные успешно добавлены!</p>";} else {echo "<p>Ваши данные не добавлены!</p>";} } else { echo "<p> Вы ввели не всю информацию поэтому данные в базу не могут быть добавлены.</p>"; } ?> </td> </tr> </table></td> </tr> <tr> <!--Подключаем нижную часть сайта--> <? include ("blocks/footer.php")?> </tr> </table> </body> </html>
Я отредактировал твоё сообщение: вынес его из чужой темы и заменил, сцуко, ббкод [ b ] на [ php ] теперь видно и синтаксис, и номера строк. Так ведь лучше, правда? --- Добавлено --- Ошибка "unexpected… траляляля" означает, что ты что-то сделал неправильно ДО указанного места. Пропустил точку с запятой или скобки непарные. Чувак, на каждую открывающую скобку должна быть одна закрывающая. В твоём случае, в строке 49 перед каждым isset ты тупо накопировал открывающую скобку. поэтому фигурная скобка случилась в неожиданном (unexpected) для PHP месте.
filter_input_array --- Добавлено --- а дальше через иссет все переменные дергаем, тобишь снова говнокод
Я просто предложил функцию для экспорта ячеек массива в переменные не через китайкод и не через цикл, мб кому полезно будет --- Добавлено --- Вообще, лично я такие жирные $_POST-ы предпочитаю упаковывать еще на клиенте в JSON, а потом уже разбирать, фильтровать и т.д. Но это скорее вкусовщина и "а вдруг завтра мобильное приложение надо будет запилить, или API публичное, а?".
выдает сообщение что данные обновились, но после обновления главной страницы изменения не сохранились. PHP: <?php include ("blocks/bd.php"); if (isset($_POST['m_reg_date'])) {$m_reg_date = $_POST ['m_reg_date']; if ($m_reg_date == '') {unset ($m_reg_date);}} if (isset($_POST['m_surname'])) {$m_surname = $_POST ['m_surname']; if ($m_surname == '') {unset ($m_surname);}} if (isset($_POST['m_name'])) {$m_name = $_POST ['m_name']; if ($m_name == '') {unset ($m_name);}} if (isset($_POST['m_fathername'])) {$m_fathername = $_POST ['m_fathername']; if ($m_fathername == '') {unset ($m_fathername);}} if (isset($_POST['m_sex'])) {$m_sex = $_POST ['m_sex']; if ($m_sex == '') {unset ($m_sex);}} if (isset($_POST['m_dob'])) {$m_dob = $_POST ['m_dob']; if ($m_dob == '') {unset ($m_dob);}} if (isset($_POST['m_nation'])) {$m_nation = $_POST ['m_nation']; if ($m_nation == '') {unset ($m_nation);}} if (isset($_POST['m_pass_number'])) {$m_pass_number = $_POST ['m_pass_number']; if ($m_pass_number == '') {unset ($m_pass_number);}} if (isset($_POST['m_pass_date'])) {$m_pass_date = $_POST ['m_pass_date']; if ($m_pass_date == '') {unset ($m_pass_date);}} if (isset($_POST['m_pass_issued'])) {$m_pass_issued = $_POST ['m_pass_issued']; if ($m_pass_issued == '') {unset ($m_pass_issued);}} if (isset($_POST['m_address'])) {$m_address = $_POST ['m_address']; if ($m_address == '') {unset ($m_address);}} if (isset($_POST['m_edu_lavel'])) {$m_edu_lavel = $_POST ['m_edu_lavel']; if ($m_edu_lavel == '') {unset ($m_edu_lavel);}} if (isset($_POST['m_jamoat'])) {$m_jamoat = $_POST ['m_jamoat']; if ($m_jamoat == '') {unset ($m_jamoat);}} if (isset($_POST['m_date_leave'])) {$m_date_leave = $_POST ['m_date_leave']; if ($m_date_leave == '') {unset ($m_date_leave);}} if (isset($_POST['m_date_arrival'])) {$m_date_arrival = $_POST ['m_date_arrival']; if ($m_date_arrival == '') {unset ($m_date_arrival);}} if (isset($_POST['m_date_worck_start'])){$m_date_worck_start = $_POST['m_date_worck_start']; if ($m_date_worck_start == '') {unset ($m_date_worck_start);}} if (isset($_POST['m_date_worck_end'])) {$m_date_worck_end = $_POST ['m_date_worck_end']; if ($m_date_worck_end == ''){unset ($m_date_worck_end);}} if (isset($_POST['id'])) {$id = $_POST ['id'];} ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Обработчик</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <table width="690" align="center" bordercolor="#FFFFFF" bgcolor="#FFFFFF" class="main_border"> <!--Подключаем шапку сайта--> <? include ("blocks/header.php");?> <tr> <td><table width="690"> <tr> <!--Подключаем левый блок сайта--> <? include ("blocks/lefttd.php")?> <td valign="top"> <?php if (isset($m_reg_date) && isset($m_surname) && isset($m_name) && isset($m_fathername) && isset($m_sex) && isset($m_dob) && isset($m_nation) && isset($m_pass_number) && isset($m_pass_date) && isset($m_pass_issued) && isset($m_address) && isset($m_edu_lavel) && isset($m_jamoat) && isset($m_date_leave) && isset($m_date_arrival) && isset($m_date_worck_start) && isset($m_date_worck_end)) { /*Здесь пишем что можно заносить информацию в базу*/ $result = mysql_query ("UPDATE migrant_list SET m_reg_date='$m_reg_date', m_surname='$m_surname', m_name='$m_name', m_fathername='$m_fathername', m_sex='$m_sex', m_dob='$m_dob', m_nation='$m_nation', m_pass_number='$m_pass_number', m_pass_date='$m_pass_date', m_pass_issued='$m_pass_issued', m_address='$m_address', m_edu_lavel='$m_edu_lavel', m_jamoat='$m_jamoat', m_date_leave='$m_date_leave', m_date_arrival='$m_date_arrival', m_date_worck_start='$m_date_worck_start', m_date_worck_end='$m_date_worck_end' WHERE id='$id'"); if ($result == 'true') {echo "<p>Данные успешно обновлены!</p>";} else {echo "<p>Данные не обновлены!</p>";} } else { echo "<p> Вы ввели не всю информацию поэтому данные в базу не могут быть обновлены.</p>"; } ?> </td> </tr> </table></td> </tr> <tr> <!--Подключаем нижную часть сайта--> <? include ("blocks/footer.php")?> </tr> </table> </body> </html>
и именно после WHERE id='$id' обновления не происходит, без WHERE id='$id' обновления происходить но во всех данных, к примеру если мы изменяем какую та фамилию то это фамилия присваивается к другим фамилиям. Нужна Ваша помощь.
Для начало код приводить в читабельный вид. хотя это сложно назвать читабельным тоже. PHP: <?php include ("blocks/bd.php"); if (isset($_POST['m_reg_date'])) { $m_reg_date = $_POST ['m_reg_date']; if ($m_reg_date == '') { unset($m_reg_date); } } if (isset($_POST['m_surname'])) { $m_surname = $_POST ['m_surname']; if ($m_surname == '') { unset($m_surname); } } if (isset($_POST['m_name'])) { $m_name = $_POST ['m_name']; if ($m_name == '') { unset($m_name); } } if (isset($_POST['m_fathername'])) { $m_fathername = $_POST ['m_fathername']; if ($m_fathername == '') { unset($m_fathername); } } if (isset($_POST['m_sex'])) { $m_sex = $_POST ['m_sex']; if ($m_sex == '') { unset($m_sex); } } if (isset($_POST['m_dob'])) { $m_dob = $_POST ['m_dob']; if ($m_dob == '') { unset($m_dob); } } if (isset($_POST['m_nation'])) { $m_nation = $_POST ['m_nation']; if ($m_nation == '') { unset($m_nation); } } if (isset($_POST['m_pass_number'])) { $m_pass_number = $_POST ['m_pass_number']; if ($m_pass_number == '') { unset($m_pass_number); } } if (isset($_POST['m_pass_date'])) { $m_pass_date = $_POST ['m_pass_date']; if ($m_pass_date == '') { unset($m_pass_date); } } if (isset($_POST['m_pass_issued'])) { $m_pass_issued = $_POST ['m_pass_issued']; if ($m_pass_issued == '') { unset($m_pass_issued); } } if (isset($_POST['m_address'])) { $m_address = $_POST ['m_address']; if ($m_address == '') { unset($m_address); } } if (isset($_POST['m_edu_lavel'])) { $m_edu_lavel = $_POST ['m_edu_lavel']; if ($m_edu_lavel == '') { unset($m_edu_lavel); } } if (isset($_POST['m_jamoat'])) { $m_jamoat = $_POST ['m_jamoat']; if ($m_jamoat == '') { unset($m_jamoat); } } if (isset($_POST['m_date_leave'])) { $m_date_leave = $_POST ['m_date_leave']; if ($m_date_leave == '') { unset($m_date_leave); } } if (isset($_POST['m_date_arrival'])) { $m_date_arrival = $_POST ['m_date_arrival']; if ($m_date_arrival == '') { unset($m_date_arrival); } } if (isset($_POST['m_date_worck_start'])) { $m_date_worck_start = $_POST['m_date_worck_start']; if ($m_date_worck_start == '') { unset($m_date_worck_start); } } if (isset($_POST['m_date_worck_end'])) { $m_date_worck_end = $_POST ['m_date_worck_end']; if ($m_date_worck_end == '') { unset($m_date_worck_end); } } if (isset($_POST['id'])) { $id = $_POST ['id']; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Обработчик</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <table width="690" align="center" bordercolor="#FFFFFF" bgcolor="#FFFFFF" class="main_border"> <!--Подключаем шапку сайта--> <? include ("blocks/header.php"); ?> <tr> <td><table width="690"> <tr> <!--Подключаем левый блок сайта--> <? include ("blocks/lefttd.php") ?> <td valign="top"> <?php if (isset($m_reg_date) && isset($m_surname) && isset($m_name) && isset($m_fathername) && isset($m_sex) && isset($m_dob) && isset($m_nation) && isset($m_pass_number) && isset($m_pass_date) && isset($m_pass_issued) && isset($m_address) && isset($m_edu_lavel) && isset($m_jamoat) && isset($m_date_leave) && isset($m_date_arrival) && isset($m_date_worck_start) && isset($m_date_worck_end)) { /* Здесь пишем что можно заносить информацию в базу */ $result = mysql_query("UPDATE migrant_list SET m_reg_date='$m_reg_date', m_surname='$m_surname', m_name='$m_name', m_fathername='$m_fathername', m_sex='$m_sex', m_dob='$m_dob', m_nation='$m_nation', m_pass_number='$m_pass_number', m_pass_date='$m_pass_date', m_pass_issued='$m_pass_issued', m_address='$m_address', m_edu_lavel='$m_edu_lavel', m_jamoat='$m_jamoat', m_date_leave='$m_date_leave', m_date_arrival='$m_date_arrival', m_date_worck_start='$m_date_worck_start', m_date_worck_end='$m_date_worck_end' WHERE id='$id'"); if ($result == 'true') { echo "<p>Данные успешно обновлены!</p>"; } else { echo "<p>Данные не обновлены!</p>"; } } else { echo "<p> Вы ввели не всю информацию поэтому данные в базу не могут быть обновлены.</p>"; } ?> </td> </tr> </table></td> </tr> <tr> <!--Подключаем нижную часть сайта--> <? include ("blocks/footer.php") ?> </tr> </table> </body> </html> Далее с 1 по 109 строчку сокрашаем до 10 максимум строчек. Выше тебе уже написали как. Далее строчки начиная с 133 PHP: <?php if (isset($m_reg_date) && isset($m_surname) && isset($m_name) && isset($m_fathername) && isset($m_sex) && isset($m_dob) && isset($m_nation) && isset($m_pass_number) && isset($m_pass_date) && isset($m_pass_issued) && isset($m_address) && isset($m_edu_lavel) && isset($m_jamoat) && isset($m_date_leave) && isset($m_date_arrival) && isset($m_date_worck_start) && isset($m_date_worck_end)) { /* Здесь пишем что можно заносить информацию в базу */ $result = mysql_query( Опять укоротить. И смотреть в сторону mysqli/pdo . С подготовленными запросами. И тогда уже может не прийдется помогать, или помочь уже будет намного легче