Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP&Mysql) из фомы HTML через ПХП в MySQL / 18 сообщений из 18, страница 1 из 1
28.01.2005, 16:49:43
    #32889933
alex_loko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
День добрый!
Помогите, а!
Задача: Из фомы html в ПХП передаются переменные (где name=values совпадает с полями в MySQL);
ПХП должен эти name отправить в MySQL
Проблема: Я думаю так:
<?
...
...connecting to Mysql
...
$query = "INSERT main (name1, name2... nameN) SET($name1, $name2... $nameN) ";
$result = mysql_query($query) or die("Query failed");
...
...
выполнить $result
...
?>
КАК МНЕ ПОКАЗАТЬ ПХП ЧТО (name1, name2... nameN) берутся из html формы и КАК ПРАВИЛЬНО (синтаксис) ЗАСТАВИТЬ ПХП отправить их в MySQL
СПАСИБО
...
Рейтинг: 0 / 0
28.01.2005, 17:54:42
    #32890085
taj
taj
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
если я тебя правильно понял, то примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
   function addslash(&$value, $key)
   {
     $value = addslashes($value);
   }
   $fields = join(",", array_keys($_POST));
   $values = "'".join("','", array_walk(array_values($_POST), 'addslash'))."'";
   $query = "INSERT INTO table ($fields) VALUES ($values)";

То есть, ты получаешь строчку с перечнем полей $fields (name1, name2 ...) и перечнем значений $values, а затем соединяешь их в запросе
arraY_walk и прочая ересь - это для экранирования кавычек
код не тестил, времени нет, если будут проблемы - пиши
...
Рейтинг: 0 / 0
28.01.2005, 23:30:54
    #32890405
Армянка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
Вот каркас скрипта. Вам поможет?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<?php
  if (isset($_POST['feild1']))
  {
    $feild1=trim($_POST['feild1']);
    $feild2=trim($_POST['feild2']);
    $feild3=trim($_POST['feild3']);
    if (!get_magic_quotes_gpc())
    { 
      $feild1=addslashes($feild1);
      $feild2=addslashes($feild1);
      $feild3=addslashes($feild1);
    }
    mysql_query('insert into tablica (feild1, feild2, feild3)
      values("$feild1", "$feild2", "$feild3")') or die(mysql_error()); 
  }
?>
<form method="post" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
<input type="text" name="feild1">
<input type="text" name="feild2">
<input type="text" name="feild3">
<input type="submit">
</form>
...
Рейтинг: 0 / 0
24.06.2005, 13:33:32
    #33133366
alex_loko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
Благодарю
...
Рейтинг: 0 / 0
24.06.2005, 13:44:04
    #33133407
Роман Дынник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
например так:
Код: plaintext
1.
2.
3.
$s=isset($_POST["var"])?$_POST["var"]:"";
$db = mysql_connect('localhost', 'mysql_user', 'mysql_password');
mysql_query(sprintf('insert into t values('%s')',$s));
....
про безопасность не забудьте.



Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
24.06.2005, 13:57:53
    #33133450
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
Используйте mysql_escape_string() вместо addslashes() .
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
24.06.2005, 14:19:39
    #33133517
.-.-.-.-.-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
4m@t!cИспользуйте mysql_escape_string() вместо addslashes() .
----------------------------------------
Артисты не приехали, приехали цыгане
mysql_real_escape_string()
...
Рейтинг: 0 / 0
24.06.2005, 14:23:11
    #33133528
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
manualФункция идентична mysql_real_escape_string(), исключая то, что mysql_real_escape_string() принимает параметром ещё и указатель на соединение и экранирует в зависимости от кодировки. mysql_escape_string() не делает этого и результат работы не зависит от кодировки, в который вы работаете с БД.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
24.06.2005, 15:00:29
    #33133667
Dik76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
4m@t!c

mc> Используйте mysql_escape_string() вместо addslashes().

Зачем?

--
Dik76

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
24.06.2005, 15:13:58
    #33133721
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
Потому что
mysql_escape_string - экранирует SQL спецсимволы для mysql_query.
addslashes - экранирует спецсимволы в строке.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
24.06.2005, 15:24:17
    #33133764
.-.-.-.-.-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
4m@t!c manualФункция идентична mysql_real_escape_string(), исключая то, что mysql_real_escape_string() принимает параметром ещё и указатель на соединение и экранирует в зависимости от кодировки. mysql_escape_string() не делает этого и результат работы не зависит от кодировки, в который вы работаете с БД.
----------------------------------------
Артисты не приехали, приехали цыгане
ИМХО более корректным переводом будет :
Мой переводlФункция идентична mysql_real_escape_string(), исключая то, что mysql_real_escape_string() принимает параметром ещё и указатель на соединение и экранирует, учитывая текущую кодировку. mysql_escape_string() не делает этого и результат работы не учитывает текущую кодировки, в который вы работаете с БД.
...
Рейтинг: 0 / 0
24.06.2005, 15:30:02
    #33133783
Dik76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
4m@t!c
Спасибо.
addslashes считать устаревшей?

--
Dik76

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
24.06.2005, 15:31:36
    #33133787
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
атавизмом...;)))
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
24.06.2005, 15:43:50
    #33133821
.-.-.-.-.-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
причем здесь "устаревшая", "атавизм" ???
addslashes делает, то что описано в мане.
Просто для работы именно с mysql есть более подходящая функция.

Для других СУБД вполне подходит и addslashes. Многие субд-экстеншены не имеют своих функций для экранирования спецсимволов. Для них и подходит addslashes (+не забывать про magic_quotes_sybase)
...
Рейтинг: 0 / 0
24.06.2005, 15:46:09
    #33133830
Dik76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
.-.-.-.-.-

> причем здесь "устаревшая", "атавизм" ???

Мы говорим применительно к мускулу.

--
Dik76

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
24.06.2005, 15:48:44
    #33133837
.-.-.-.-.-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
Dik76
.-.-.-.-.-

> причем здесь "устаревшая", "атавизм" ???

Мы говорим применительно к мускулу.
ну тогда устарела еще с 4.0.3 версии (4-5 лет назад, если мне память не изменяет)
...
Рейтинг: 0 / 0
03.03.2006, 07:35:43
    #33578743
alex_loko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
.-.-.-.-.- 4m@t!c manualФункция идентична mysql_real_escape_string(), исключая то, что mysql_real_escape_string() принимает параметром ещё и указатель на соединение и экранирует в зависимости от кодировки. mysql_escape_string() не делает этого и результат работы не зависит от кодировки, в который вы работаете с БД.
----------------------------------------
Артисты не приехали, приехали цыгане
ИМХО более корректным переводом будет :
Мой переводlФункция идентична mysql_real_escape_string(), исключая то, что mysql_real_escape_string() принимает параметром ещё и указатель на соединение и экранирует, учитывая текущую кодировку. mysql_escape_string() не делает этого и результат работы не учитывает текущую кодировки, в который вы работаете с БД.

------*****-------
Уважаемые - скажите пожалуста чей перевод точен - так как разница, как я вижу БОЛЬШАЯ, спасибо!!!
...
Рейтинг: 0 / 0
03.03.2006, 10:15:03
    #33579006
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP&Mysql) из фомы HTML через ПХП в MySQL
Принципиально разницы нет. Но точнее перевод .-.-.-.-.-
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP&Mysql) из фомы HTML через ПХП в MySQL / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]