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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2011, 16:40   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию база данных новичек

Начал тут смотреть скажем, изучать пхп, вот столкнулся с проблемой не могу добавить в таблицу из переменных...


$names
PHP код:
<?php
include('setup.php');
$msconnect mysql_connect($host$name$pass);
mysql_select_db($db$msconnect);
#mysql_query("CREATE TABLE banns ( num INT, name TEXT, mail TEXT, sait TEXT, code TEXT )", $msconnect);
include('data.php');
mysql_query("INSERT INTO banns VALUES (2, $names, 'test', 'test', 'test')"$msconnect);
mysql_close$msconnect);
?>
setup.php

PHP код:
<?php
$host 
'localhost';
$name 'root';
$pass '';
$db 'mesql';
?>

data.php

PHP код:
<?php
$names 
$_POST['name'];
$mails $_POST['sait'];
$saits $_POST['mails'];
$codes $_POST['code'];
?>

Когда если писать просто тест , то есть вот так

PHP код:
mysql_query("INSERT INTO banns VALUES (2, 'test', 'test', 'test', 'test')"$msconnect); 
то добовляет в таблицу а с переменными не хочет ((
cargo29 вне форума Ответить с цитированием
Старый 03.10.2011, 16:42   #2
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Форма сама

Код HTML:
<form method="post" id="send_data" action="add_code.php" name="me_forms">

<p>Имя <br /><input name="name" type="text" /></p>
<p>Сайт <br /><input name="sait" type="text" /></p>
<p>E-mail <br /><input name="mails" type="text" /></p>
<p>Код <br /><textarea name="code" cols="32" rows="3"></textarea></p>

<input type="submit" name="butt" value="Добавить"/>
</form>
cargo29 вне форума Ответить с цитированием
Старый 03.10.2011, 16:50   #3
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Сразу как можно опеределить сколько записей в таблице? то есть например сколько записей в num
cargo29 вне форума Ответить с цитированием
Старый 03.10.2011, 17:26   #4
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

$names из воздуха берется или register_globals включен ?
может поможет :
<input name="name" type="text" />
а получаем из этого $_POST["name"]

и еще не забываем INSERT ... VALUES ('".mysql_real_escape_string($_PO ST["name"])."') - здесь еще на кавычки обратите внимание ' ". . " '

Последний раз редактировалось Cronos20; 03.10.2011 в 17:30.
Cronos20 вне форума Ответить с цитированием
Старый 03.10.2011, 17:39   #5
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
$names из воздуха берется или register_globals включен ?
может поможет :
<input name="name" type="text" />
а получаем из этого $_POST["name"]

и еще не забываем INSERT ... VALUES ('".mysql_real_escape_string($_PO ST["name"])."') - здесь еще на кавычки обратите внимание ' ". . " '
Спасибо я разобрался просто сделал так

PHP код:
mysql_query("INSERT INTO banns VALUES ('$dt', '$names', '$saits', '$mails', '$codes')"$msconnect); 
работает, а как можно узнать теперь добавилось или нет в таблицу?
cargo29 вне форума Ответить с цитированием
Старый 03.10.2011, 18:14   #6
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Плохо вы сделали, до сих пор не ясно откуда взялось $names + очевидная проблема с безопасностью ... надо всегда проверять и фильтровать то, что приходит из форм.
Проверить? phpMyAdmin например, а лучше какой-нить нормальный SQL клиент, например Heidi Sql
Cronos20 вне форума Ответить с цитированием
Старый 03.10.2011, 18:16   #7
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
Плохо вы сделали, до сих пор не ясно откуда взялось $names + очевидная проблема с безопасностью ... надо всегда проверять и фильтровать то, что приходит из форм.
Проверить? phpMyAdmin например, а лучше какой-нить нормальный SQL клиент, например Heidi Sql
PHP код:
<?php
$names 
$_POST['nameq'];
$mails $_POST['saitq'];
$saits $_POST['mailq'];
$codes $_POST['codeq'];
?>
это я принимаю пост запорос, то есть данные
cargo29 вне форума Ответить с цитированием
Старый 03.10.2011, 18:17   #8
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

как можно узнать теперь добавилось или нет в таблицу?
PHP код:
mysql_query("INSERT INTO banns VALUES ('$dt', '$names', '$saits', '$mails', '$codes')"$msconnect); 

Последний раз редактировалось cargo29; 03.10.2011 в 18:32.
cargo29 вне форума Ответить с цитированием
Старый 04.10.2011, 00:21   #9
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

например можно узнать так:
Код:
if(!mysql_query("INSERT INTO banns VALUES ('$dt', '$names', '$saits', '$mails', '$codes')", $msconnect)) 
{
echo mysql_error();
}else echo 'OK';
CodeNOT вне форума Ответить с цитированием
Старый 04.10.2011, 09:32   #10
Xenm
Пользователь
 
Регистрация: 15.09.2010
Сообщений: 38
По умолчанию

Цитата:
Сообщение от cargo29 Посмотреть сообщение
как можно узнать теперь добавилось или нет в таблицу?
PHP код:
mysql_query("INSERT INTO banns VALUES ('$dt', '$names', '$saits', '$mails', '$codes')"$msconnect); 
Ну или можно использовать функцию mysql_affected_rows.
Xenm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Небольшая база в Open Office База данных. sashaman Фриланс 3 11.04.2010 20:13
База данных + C qulis Общие вопросы C/C++ 0 08.03.2010 17:24
База данных с возможностью приема данных из файлов Excel Al_Sha БД в Delphi 6 16.10.2009 15:34
База Данных xxasb07 Помощь студентам 2 09.12.2008 17:25