Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 21.06.2009
Сообщений: 47

Занесение данных в таблицу при промощи php

23.06.2009, 13:29. Показов 1679. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
мне нужно сгенерировать код (пароль) в количестве 600 штук на php и что бы он автоматически занесся в базу данных.
я сделал куски кода а как все это соединить в рабочий скрипт не знаю. помогите пожста.

Соеденение с базой данных:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
require("class.mysql.php");
 
$host     = "localhost";
$only_db  = "al_survey";
$username = "nils";
$password = "bohr";
 
 
$db  = new mysql_db();
 
if(!$db->getConnect($host,$only_db,$username,$password)){
      echo "No contact :-(";
      exit;
  }else echo "Yes contact! ;-)
";
Генерация кода и занесение в бд:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<form method=post>
 
<input type=text name=number value="7">
 
<input type=submit value="Generate">
 
<form><br><br>
 
<?php
 
 
 
  echo generate_password($_POST['number']);
 
 
 
  function generate_password($number)
 
  {
 
    $arr = array('a','b','c','d','e','f',
 
                 'g','h','i','j','k','l',
 
                 'm','n','o','p','r','s',
 
                 't','u','v','x','y','z',
 
                 'A','B','C','D','E','F',
 
                 'G','H','I','J','K','L',
 
                 'M','N','O','P','R','S',
 
                 'T','U','V','X','Y','Z',
 
                 '1','2','3','4','5','6',
 
                 '7','8','9','0','.',',',
 
                 '(',')','[',']','!','?',
 
                 '&','^','%','@','*','$',
 
                 '<','>','/','|','+','-',
 
                 '{','}','`','~');
 
 
    $code = "";
 
    for($i = 0; $i < 600; $i++)
   
 
    {
 
 
      $index = rand(0, count($arr) - 1);
 
      $code .= $arr[$index];
 
    }
 
    return $pass;
 
  }
   $result = mysql_query("INSERT INTO alc_bit(code) VALUES(‘".$code"’));
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.06.2009, 13:29
Ответы с готовыми решениями:

Вставка данных в таблицу mysql php
Добрый день. Раньше вставку в бд осуществлял с помощью устаревшего метода: $query = mysql_query(&quot;INSERT INTO users VALUES...

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

Занесение тега <br> в таблицу вместо символов переноса \n
Такой вобщем вопрос - а как бы так сделать,дабы после нажатия enter в БД вместо него вносился &lt;br&gt; а не строчка подряд?

5
Почетный модератор
 Аватар для Humanoid
11556 / 4351 / 452
Регистрация: 12.06.2008
Сообщений: 12,454
23.06.2009, 13:59
В функции generate_password, наверное, нужно не
return $pass;
а
return $code;
А то $pass там вообще не объявлен.
А заполнять просто... если функция нормально генерирует пароль, то
PHP
1
2
3
4
for ($i=0;$i<600;$i++)
{
  mysql_query("INSERT INTO alc_bit(code) VALUES('.addslashes($code).'));
}
В результате у тебя будет 600 записей с паролями. Только меня в твоей процедуре генерации пароля смущает сама длинна этого пароля - 600 байт. Уж очень он длинный получается.
1
0 / 0 / 0
Регистрация: 21.06.2009
Сообщений: 47
23.06.2009, 14:03  [ТС]
Цитата Сообщение от Humanoid Посмотреть сообщение
В функции generate_password, наверное, нужно не
return $pass;
а
return $code;
А то $pass там вообще не объявлен.
А заполнять просто... если функция нормально генерирует пароль, то
PHP
1
2
3
4
for ($i=0;$i<600;$i++)
{
  mysql_query("INSERT INTO alc_bit(code) VALUES('.addslashes($code).'));
}
В результате у тебя будет 600 записей с паролями. Только меня в твоей процедуре генерации пароля смущает сама длинна этого пароля - 600 байт. Уж очень он длинный получается.
а мне не нужно 600 байт мне нужно 600 паролей
0
Почетный модератор
 Аватар для Humanoid
11556 / 4351 / 452
Регистрация: 12.06.2008
Сообщений: 12,454
23.06.2009, 15:16
В твоей функции есть цикл
PHP
1
2
3
4
5
    for($i = 0; $i < 600; $i++)
    {
      $index = rand(0, count($arr) - 1);
      $code .= $arr[$index];
    }
Там 600 - это и есть длинна паролей, которые генерируются.
Я бы сделал не фиксированную длину, а в каком-то диапазоне... например, от 7 до 10 символов:
PHP
1
2
3
4
5
6
    $len=rand(7,10);
    for($i = 0; $i < $len; $i++)
    {
      $index = rand(0, count($arr) - 1);
      $code .= $arr[$index];
    }
1
0 / 0 / 0
Регистрация: 21.06.2009
Сообщений: 47
23.06.2009, 18:31  [ТС]
Цитата Сообщение от Humanoid Посмотреть сообщение
В твоей функции есть цикл
PHP
1
2
3
4
5
    for($i = 0; $i < 600; $i++)
    {
      $index = rand(0, count($arr) - 1);
      $code .= $arr[$index];
    }
Там 600 - это и есть длинна паролей, которые генерируются.
Я бы сделал не фиксированную длину, а в каком-то диапазоне... например, от 7 до 10 символов:
PHP
1
2
3
4
5
6
    $len=rand(7,10);
    for($i = 0; $i < $len; $i++)
    {
      $index = rand(0, count($arr) - 1);
      $code .= $arr[$index];
    }
спасибо! а как мне сделать что бы было сгенерированно 600 паролей за раз? и занесены были автоматически в базу данных?

Добавлено через 35 минут 12 секунд
вот так лучше?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function generate_password($length)
  {
    $pass_word = '';
    $chars= "qwertzupasdfghkyxcvbnm23456789WERTZUPLKJHGFDSAYXCVBNM";
 
    for($index = 0; $index < $length; $index++)
    {
      $pass_word .= substr($chars, rand(0, strlen($chars)), 1);
    }
    return $pass_word;
  }
 
$i = 0;
while($i < 600)
{
mysql_query("INSERT INTO tabelle SET password = '".generate_password(8)."'");
$i++;
}
Добавлено через 2 часа 22 минуты 38 секунд
переписал код но он все равно не работает
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$dbname= 'dev_bitrix'; 
$dbcnx = @mysql_connect("https://www.server.xxx", "xxx", "xxx"); 
if (!$dbcnx) 
{ echo("CONNECT!");
exit(); 
}
if (!@mysql_select_db($dbname, $dbcnx)) 
{ 
echo( "No connect");
exit(); 
} 
 
 
function generate_code($length)
  {
    $pass_word = '';
    $chars= "qwertzupasdfghkyxcvbnm23456789WERTZUPLKJHGFDSAYXCVBNM";
 
    for($index = 0; $index < $length; $index++)
    {
      $pass_word .= substr($chars, rand(0, strlen($chars)),0, 7);
    }
    return $pass_word;
  }
 
$i = 0;
while($i < 600)
{
mysql_query("INSERT INTO al_code(code) values('".generate_code(7)."')");
$i++;
}
?>
Помогите люди добрые!!!
0
Почетный модератор
 Аватар для Humanoid
11556 / 4351 / 452
Регистрация: 12.06.2008
Сообщений: 12,454
23.06.2009, 20:32
PHP
1
$pass_word .= substr($chars, rand(0, strlen($chars)),0, 7);
замени на
PHP
1
$pass_word .= substr($chars, rand(0, strlen($chars)-1),1);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.06.2009, 20:32
Помогаю со студенческими работами здесь

Вывод данных в html таблицу , через php
Доброй ночи! Не могу разобраться, почему не выводится данные из массива (приложил скрин вывода данных). Заранее благодарю! ...

Добавление данных из формы в таблицу. MySQL+php!?
Как добавить данные из формы, каким mysql запросом? вот мои наброски:&lt;? $mysql_database=&quot;newData&quot;; ...

Добавление данных из формы в таблицу. MySQL+php
Вот собственно При добавлении возникает ошибка Warning: Cannot modify header information - headers already sent by ... config.php on line...

Занесение в таблицу рандомного числа, но оно не должно повторятся
мне нужно занесение в таблицу рандомного числа, но оно не должно повторятся. То есть если в базе есть такое число, перерандомить. Я могу...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru