Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2009, 22:41   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Восклицание Вставка записей в БД. MySQL

Пытаюсь вставить записи в БД. Вот код получения данных и дальнейшей обработки с передачей дальнейшей работы скрипту:
PHP код:
<html>
<
head>
 <
title>Регистрация</title>
</
head>
<
body>
 <
h1>Заполните поля вводарасположенные ниже:</h1>
 <
form action="register.php" method="post">
   <
table border=0>
    <
tr>
      <
td>Имя:</td>
      <
td> <input type=text name=IMY maxlength=13 size=13Xbr><br></td>
    </
tr>
    
    <
tr>
      <
td>Фамилия:</td>
      <
td> <input type=text name=FAMILIY maxlength=13 size=13Xbr><br></td>
    </
tr>    
    
    <
tr>
      <
td>Возраст:</td>
      <
td> <input type=text name=AGE maxlength=13 size=13Xbr><br></td>
    </
tr>      
    
    <
tr>
      <
td>Класс:</td>
      <
td> <input type=text name=KLASS maxlength=13 size=2><br></td>
    </
tr>      
    
    <
tr>
     <
td colspan=4><input type=submit value="Регистрация"></td>
    </
tr
  </
table>
 </
form>
</
body>
<
html
Вот скрипт вставки:
PHP код:
<html>
<head>
 <title>Сохранение нового пользователя</title>
</head>
<body>
<h1>Новый пользователь</h1>
<?
 
if (!$FAMILIY || !$IMY || !$AGE || !$KLASS)
 {
  echo 
"Вы не ввели все необходимые данные. Вернитесь и повторите попытку.";
  exit;
 }
 
$IMY addslashes($IMY);
 
$FAMILIY addslashes($FAMILIY);
 
$AGE addslashes($AGE);
 
$KLASS addslashes($KLASS);
 
 @
$db mysql_pconnect("","","");
 if (!
$db)
 {
  echo 
"Ошибка: Невозможно поделючиться к БД. Повторите попытку позже";
  exit;
 }
 
mysql_select_db("users");
 
$query "insert into new_users values
    ('"
.$IMY."','".$FAMILIY."','".$AGE."','".$KLASS."')";
 
$result mysql_query($query);
 if (
$result)
   echo 
mysql_affected_rows() "запись внесена в БД.";
?>
</body>
</html>
Почти работает как надо. За исключением того, что данные не вставляются. У меня такое ощущение, что по событию нажатии на кнопку не происходит работа скрипта. Что не так? Вставить нудо в таблицу new_users. БД - users. ????
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 13.09.2009, 23:33   #2
Jensi
beneto.ru
Форумчанин
 
Регистрация: 09.03.2009
Сообщений: 174
По умолчанию

Ужс)))
Код:
$query = mysql_query ("INSERT INTO таблица ($IMY,$FAMILIY,$AGE,$KLASS) VALUES ('$IMY','$FAMILIY','$AGE','$KLASS')");
Код:
if ($result)
Может так
Код:
if ($result == true)
Регистрация не безопасная и зачем разделять на два файла это всё? О_О
mysql_real_escape_string
Jensi вне форума Ответить с цитированием
Старый 13.09.2009, 23:52   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Попробовал Ваши поправки. Результата нет.
Цитата:
Ужс)))

Цитата:
Регистрация не безопасная и зачем разделять на два файла это всё? О_О
Да мне это надо лабу сделать: взаимодействие php и mysql)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 14.09.2009, 00:51   #4
Jensi
beneto.ru
Форумчанин
 
Регистрация: 09.03.2009
Сообщений: 174
По умолчанию

Цитата:
Попробовал Ваши поправки. Результата нет.
))
Фу ё моё, я ударился чем-то видимо)))
А где
Код:
$IMY = $_POST['$IMY'];// и т.д.
? Сперва хотел написать, потом забыл)
Код:
if (!$FAMILIY || !$IMY || !$AGE || !$KLASS)
 {
  echo "Вы не ввели все необходимые данные. Вернитесь и повторите попытку.";
  exit;
 }
Далее можно поставить else и потом закрыть в самом конце
Jensi вне форума Ответить с цитированием
Старый 14.09.2009, 01:10   #5
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Код:
mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");
    mysql_select_db($dbName) or die(mysql_error());
    $client_name     = $_POST['client_name'];
    $client_adress   = $_POST['client_adress'];
    $client_email    = $_POST['client_email'];
    $client_tel      = $_POST['client_tel'];
    $client_password = $_POST['client_password'];
    $date_time_reg=date("Y-m-d H:i:s");
    mysql_query("SET NAMES 'cp1251'");
    $query = "INSERT INTO $userstable VALUES( NULL, 
                                            '$client_name',
                                            '$client_adress',
                                            '$client_email',
                                            '$client_tel',
                                            '$client_password',
                                            '11',
                                            '0.00',
                                            '$date_time_reg')";

    mysql_query($query) or die(mysql_error());
    echo "Информация о вас занесена в базу данных.";
    mysql_close();
Я вот так делал и все работало.

Код:
$query = "insert into new_users values 
    ('".$IMY."','".$FAMILIY."','".$AGE."','".$KLASS."')";
Это меня смущает
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.

Последний раз редактировалось SunKnight; 14.09.2009 в 01:17.
SunKnight вне форума Ответить с цитированием
Старый 14.09.2009, 18:13   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Смущение

Сделал так:
PHP код:
<html>
<head>
 <title>Сохранение нового пользователя</title>
</head>
<body>
<h1>Новый пользователь</h1>
<?
 
if (!$FAMILIY || !$IMY || !$AGE || !$KLASS)
 {
  echo 
"Вы не ввели все необходимые данные. Вернитесь и повторите попытку.";
  exit;
 }
 
$IMY addslashes($IMY);
 
$FAMILIY addslashes($FAMILIY);
 
$AGE addslashes($AGE);
 
$KLASS addslashes($KLASS);
 
 
$db mysql_connect("$hostname","$username","$password") OR DIE("Не могу создать подключение");
 
mysql_select_db($users) or die(mysql_error());
 
$IMY $POST['IMY'];
 
$FAMILIY $POST['FAMILIY'];
 
$AGE $POST['AGE'];
 
$KLASS $POST['KLASS'];
 
mysql_query("SET NAMES 'cp1251'");
 
$query "INSERT INTO $new_users VALUES(NULL,
   '
$IMY',
   '
$FAMILIY',
   '
$AGE',
   '
$KLASS')";
 
mysql_query($query)or die(mysql_error());
 echo 
"all good!";
 
mysql_close();
 
 
//if (!$db)
// {
  //echo "Ошибка: Невозможно поделючиться к БД. Повторите попытку позже";
  //exit;
// };
// mysql_select_db("users");
// $query = mysql_query ("INSERT INTO new_users ($IMY,$FAMILIY,$AGE,$KLASS) VALUES('$IMY','$FAMILIY','$AGE','$KLASS')");
 //$query = "insert into new_users values('".$IMY."','".$FAMILIY."','".$AGE."','".$KLASS."')";
// $result = mysql_query($query);
// if ($result==true)
 //  echo mysql_affected_rows() "запись внесена в БД.";
?>
</body>
</html>
Но по-прежнему результата нету . Наверное как-то по-другому надо сделать??
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 14.09.2009, 18:25   #7
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Цитата:
Но по-прежнему результата нету . Наверное как-то по-другому надо сделать??
А какие симптомы?
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 14.09.2009, 18:45   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
А какие симптомы?
Когда я ввел данные и нажимаю на кнопку, то запускается скрипт, но данные не вставляются. На странице только одна надпись "Новый пользователь".
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 14.09.2009, 18:58   #9
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Код:
 $IMY = $POST['IMY']; 
 $FAMILIY = $POST['FAMILIY']; 
 $AGE = $POST['AGE']; 
 $KLASS = $POST['KLASS']; 
 if (!$FAMILIY || !$IMY || !$AGE || !$KLASS) 
 { 
  echo "Вы не ввели все необходимые данные. Вернитесь и повторите попытку."; 
  exit; 
 } 
 $IMY = addslashes($IMY); 
 $FAMILIY = addslashes($FAMILIY); 
 $AGE = addslashes($AGE); 
 $KLASS = addslashes($KLASS); 
  
 $db = mysql_connect("$hostname","$username","$password") OR DIE("Не могу создать подключение"); 
 mysql_select_db($users) or die(mysql_error()); 

 mysql_query("SET NAMES 'cp1251'"); 
 $query = "INSERT INTO $new_users VALUES(NULL, 
   '$IMY', 
   '$FAMILIY', 
   '$AGE', 
   '$KLASS')"; 
 mysql_query($query)or die(mysql_error()); 
 echo "all good!"; 
 mysql_close();
Вот так вот. А то получаетсо проверка неверная на введенные данные.

Код:
$query = "INSERT INTO $new_users VALUES(NULL, 
   '$IMY', 
   '$FAMILIY', 
   '$AGE', 
   '$KLASS')";
я использовал NULL потому что первый столбец у меня автоинкриментный, так что в твоем случае он не нужен.

Код:
$query = "INSERT INTO $new_users VALUES( 
   '$IMY', 
   '$FAMILIY', 
   '$AGE', 
   '$KLASS')";
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.

Последний раз редактировалось SunKnight; 14.09.2009 в 19:10.
SunKnight вне форума Ответить с цитированием
Старый 14.09.2009, 19:11   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Все равно данные почему то не вставляются. Может это из за сервера? У меня Apach стоит. СУБД - MySQL. Может что-то настроено неправильно? Хотя ж тестовые страницы открываются..
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с MySQL в С++ с использованием библиотеки mysql++ oleg kutkov Visual C++ 5 30.12.2010 16:40
обновление в блоге - Работа с MySQL в С++ с использованием библиотеки mysql++ Pblog Обсуждение статей 0 16.08.2009 16:00
Удаление, обновление записей из MySQL таблицы xDjarx БД в Delphi 2 14.05.2008 13:36
MySQL нужна библ. для Visual C++ (MySql++) Alexoid Visual C++ 8 07.05.2008 18:29