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

Выпадающий список <select>

22.05.2015, 17:10. Показов 2890. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня в БД в таблице users есть поле spe******t. Тоесть при регистрации я хочу сделать випадающий список <select> из которого есть два варианта ответа "да" или "нет".
Так вот, как сделать так, чтобы в БД выводило правильное значение выбраным пользователем.

вот в файле регистрации написал:
PHP
1
2
3
4
5
6
7
<form action="save_user.php" method="post" enctype="multipart/form-data"> 
    <select id="" name="spe******t">
        <option>Вы психолог?</option>
        <option>Да, я психолог</option>       //выбрать нужно или это значение или то, что ниже
        <option>Нет, я не психолог</option>
    </select>
</form>
в файле save_user.php добавил вроде всё как надо.. а в самой БД в поле spe******t там где записываются данные, просто пишется "spe******t"

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
<?php
 
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
//заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['lastname'])) { $lastname = $_POST['lastname']; if ($lastname == '') { unset($lastname);} }
//заносим введенный пользователем ФАМИЛИЮ в переменную $lastname, если он пустой, то уничтожаем переменную
if (isset($_POST['firstname'])) { $firstname = $_POST['firstname']; if ($firstname == '') { unset($firstname);} }
//заносим введенный пользователем ИМЯ в переменную $firstname, если он пустой, то уничтожаем переменную
if (isset($_POST['middlename'])) { $middlename = $_POST['middlename']; if ($middlename == '') { unset($middlename);} }
//заносим введенный пользователем ОТЧЕСТВО в переменную $middlename, если он пустой, то уничтожаем переменную
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (isset($_POST['code'])) { $code = $_POST['code']; if ($code == '') { unset($code);} }
//заносим введенный пользователем защитный код в переменную $code, если он пустой, то уничтожаем переменную
if (isset($_POST['email'])) { $email = $_POST['email']; if ($email == '') { unset($email);} }
//заносим введенный пользователем e-mail, если он пустой, то уничтожаем переменную
if (isset($_POST['spe******t'])) { $spe******t = $_POST['spe******t']; if ($spe******t == '') { unset($spe******t);} }
//заносим введенный пользователем чи ПСИХОЛООГ в переменную $spe******t, если он пустой, то уничтожаем переменную
 
 
if (empty($login) or empty($lastname) or empty($firstname) or empty($middlename) or empty($password)or empty($code) or empty($email) or empty($spe******t)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); //останавливаем выполнение сценариев
 
}
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)) //проверка е-mail адреса регулярными выражениями на корректность
{exit ("Неверно введен е-mail!");}
 
 
function generate_code() //запускаем функцию, генерирующую код
{
                
    $hours = date("H"); // час       
    $minuts = substr(date("H"), 0 , 1);// минута 
    $mouns = date("m");    // месяц             
    $year_day = date("z"); // день в году
 
    $str = $hours . $minuts . $mouns . $year_day; //создаем строку
    $str = md5(md5($str)); //дважды шифруем в md5
    $str = strrev($str);// реверс строки
    $str = substr($str, 3, 6); // извлекаем 6 символов, начиная с 3
    // Вам конечно же можно постваить другие значения, так как, если взломщики узнают, каким именно способом это все генерируется, то в защите не будет смысла.
    
 
    $array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
    srand ((float)microtime()*1000000);
    shuffle ($array_mix);
    //Тщательно перемешиваем, соль, сахар по вкусу!!!
    return implode("", $array_mix);
}
 
function chec_code($code) //проверяем код
{
    $code = trim($code);//удаляем пробелы
 
    $array_mix = preg_split ('//', generate_code(), -1, PREG_SPLIT_NO_EMPTY);
    $m_code = preg_split ('//', $code, -1, PREG_SPLIT_NO_EMPTY);
 
    $result = array_intersect ($array_mix, $m_code);
if (strlen(generate_code())!=strlen($code))
{
    return FALSE;
}
if (sizeof($result) == sizeof($array_mix))
{
    return TRUE;
}
else
{
    return FALSE;
}
}
 
// после сравнения проверяем, пускать ли пользователя дальше или, он сделал ошибку, и остановить скрипт
if (!chec_code($_POST['code']))
{
exit ("Вы ввели неверно код с картинки."); //останавливаем выполнение сценариев
}
 
 
//если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
$login = stripslashes($login);
$login = htmlspecialchars($login);
 
$password = stripslashes($password);
$password = htmlspecialchars($password);
 
//удаляем лишние пробелы
$login = trim($login);
$password = trim($password);
 
 
// дописываем новое********************************************
 
//добавляем проверку на длину логина и пароля
if (strlen($login) < 3 or strlen($login) > 15) {
 
exit ("Логин должен состоять не менее чем из 3 символов и не более чем из 15."); //останавливаем выполнение сценариев
 
}
if (strlen($password) < 3 or strlen($password) > 15) {
 
exit ("Пароль должен состоять не менее чем из 3 символов и не более чем из 15."); //останавливаем выполнение сценариев
 
}
 
if (empty($_FILES['fupload']['name']))
{
//если переменной не существует (пользователь не отправил изображение),то присваиваем ему заранее приготовленную картинку с надписью "нет аватара"
$avatar = "avatars/net-avatara.jpg"; //можете нарисовать net-avatara.jpg или взять в исходниках
}
 
else 
{
//иначе - загружаем изображение пользователя
$path_to_90_directory = 'avatars/';//папка, куда будет загружаться начальная картинка и ее сжатая копия
 
    
if(preg_match('/[.](JPG)|(jpg)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']))//проверка формата исходного изображения
     {  
            
        $filename = $_FILES['fupload']['name'];
        $source = $_FILES['fupload']['tmp_name'];   
        $target = $path_to_90_directory . $filename;
        move_uploaded_file($source, $target);//загрузка оригинала в папку $path_to_90_directory
 
    if(preg_match('/[.](GIF)|(gif)$/', $filename)) {
    $im = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif, то создаем изображение в этом же формате. Необходимо для последующего сжатия
    }
    if(preg_match('/[.](PNG)|(png)$/', $filename)) {
    $im = imagecreatefrompng($path_to_90_directory.$filename) ;//если оригинал был в формате png, то создаем изображение в этом же формате. Необходимо для последующего сжатия
    }
    
    if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
        $im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg, то создаем изображение в этом же формате. Необходимо для последующего сжатия
    }
    
//СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru
 
// Создание квадрата 100x100
// dest - результирующее изображение 
// w - ширина изображения 
// ratio - коэффициент пропорциональности 
 
$w = 100;  // квадратная 100x100. Можно поставить и другой размер.
 
// создаём исходное изображение на основе 
// исходного файла и определяем его размеры 
$w_src = imagesx($im); //вычисляем ширину
$h_src = imagesy($im); //вычисляем высоту изображения
 
         // создаём пустую квадратную картинку 
         // важно именно truecolor!, иначе будем иметь 8-битный результат 
         $dest = imagecreatetruecolor($w,$w); 
 
         // вырезаем квадратную серединку по x, если фото горизонтальное 
         if ($w_src>$h_src) 
         imagecopyresampled($dest, $im, 0, 0,
                          round((max($w_src,$h_src)-min($w_src,$h_src))/2),
                          0, $w, $w, min($w_src,$h_src), min($w_src,$h_src)); 
 
         // вырезаем квадратную верхушку по y, 
         // если фото вертикальное (хотя можно тоже серединку) 
         if ($w_src<$h_src) 
         imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w,
                          min($w_src,$h_src), min($w_src,$h_src)); 
 
         // квадратная картинка масштабируется без вырезок 
         if ($w_src==$h_src) 
         imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $w_src); 
         
 
$date=time(); //вычисляем время в настоящий момент.
imagejpeg($dest, $path_to_90_directory.$date.".jpg");//сохраняем изображение формата jpg в нужную папку, именем будет текущее время. Сделано, чтобы у аватаров не было одинаковых имен.
 
//почему именно jpg? Он занимает очень мало места + уничтожается анимирование gif изображения, которое отвлекает пользователя. Не очень приятно читать его комментарий, когда краем глаза замечаешь какое-то движение.
 
$avatar = $path_to_90_directory.$date.".jpg";//заносим в переменную путь до аватара.
 
$delfull = $path_to_90_directory.$filename; 
unlink ($delfull);//удаляем оригинал загруженного изображения, он нам больше не нужен. Задачей было - получить миниатюру.
}
else 
         {
         //в случае несоответствия формата, выдаем соответствующее сообщение
         
exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>"); //останавливаем выполнение сценариев
 
         }
//конец процесса загрузки и присвоения переменной $avatar адреса загруженной авы
}
 
$password = md5($password);//шифруем пароль
 
$password = strrev($password);// для надежности добавим реверс
 
$password = $password."b3p6f";
//можно добавить несколько своих символов по вкусу, например, вписав "b3p6f". Если этот пароль будут взламывать метадом подбора у себя на сервере этой же md5,то явно ничего хорошего не выйдет. Но советую ставить другие символы, можно в начале строки или в середине.
 
//При этом необходимо увеличить длину поля password в базе. Зашифрованный пароль может получится гораздо большего размера.
 
 
// дописали новое********************************************
 
// Далее идет все из первой части статьи,но необходимо дописать изменение в запрос к базе. 
 
// подключаемся к базе
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь 
 
// проверка на существование пользователя с таким же логином
$result = mysql_query("SELECT id FROM users WHERE login='$login'",$db);
$myrow = mysql_fetch_array($result);
if (!empty($myrow['id'])) {
 
exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин."); //останавливаем выполнение сценариев
 
}
 
// если такого нет, то сохраняем данные
$result2 = mysql_query ("INSERT INTO users (login,lastname,firstname,middlename,password,avatar,email,spe******t,date) VALUES('$login','$lastname','$firstname','$middlename','$password','$avatar','$email','spe******t',NOW())");
// Проверяем, есть ли ошибки
if ($result2=='TRUE')
{
 
$result3 = mysql_query ("SELECT id FROM users WHERE login='$login'",$db);//извлекаем идентификатор пользователя. Благодаря ему у нас и будет уникальный код активации, ведь двух одинаковых идентификаторов быть не может.
$myrow3 = mysql_fetch_array($result3);
$activation = md5($myrow3['id']).md5($login);//код активации аккаунта. Зашифруем через функцию md5 идентификатор и логин. Такое сочетание пользователь вряд ли сможет подобрать вручную через адресную строку.
 
$subject = "Подтверждение регистрации";//тема сообщения
$message = "Здравствуйте! Спасибо за регистрацию на citename.ru\nВаш логин: ".$login."\n
Перейдите по ссылке, чтобы активировать ваш аккаунт:\nhttp://localhost/test3/activation.php?login=".$login."&code=".$activation."\nС уважением,\n
Администрация citename.ru";//содержание сообщение
mail($email, $subject, $message, "Content-type:text/plane; Charset=windows-1251\r\n");//отправляем сообщение
    
echo "Вам на E-mail выслано письмо с cсылкой, для подтверждения регистрации. Внимание! Ссылка действительна 1 час. <a href='index.php'>Главная страница</a>"; //говорим о отправленном письме пользователю
}
 
else {
exit ("Ошибка! Вы не зарегистрированы."); //останавливаем выполнение сценариев
 
     }
?>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2015, 17:10
Ответы с готовыми решениями:

БД и выпадающий список select
Здравствуйте! Имеется форма. В этой форме есть поле типа текст и выпадающий список. В БД имеются 2 таблицы. Первая таблица имеет...

Выпадающий список (select) из всех записей таблицы
товарищи, пытаюсь сделать выпадающий список (select) из записей таблицы (название которой breed). у меня поле &lt;select&gt; получается...

Выпадающий список
Здравствуйте! у меня такая проблема у же все перепробовал, а все равно ничего не получается.... у меня есть БД колледжа в ней такие...

4
Заблокирован
22.05.2015, 17:19
HTML5
1
2
3
4
5
    <select id="" name="spe******t">
        <option value="я еврей привык отвечать вопросом на вопрос">Вы психолог?</option>
        <option value="я психолог">Да, я психолог</option>       //выбрать нужно или это значение или то, что ниже
        <option value="я НЕ психолог">Нет, я не психолог</option>
    </select>
Ну а по факту глупо выбирать список для такой задачи. По уму это должны быть чекбоксы, либо радио.
1
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 74
22.05.2015, 17:31  [ТС]
Trukl, в БД в поле spe******t там где записываются данные, всё равно пишется "spe******t"
как на рисунку выше
0
Заблокирован
22.05.2015, 17:41
Лучший ответ Сообщение было отмечено Sanek_21 как решение

Решение

Цитата Сообщение от Sanek_21 Посмотреть сообщение
в БД в поле spe******t там где записываются данные, всё равно пишется "spe******t"
Строка 222-223 'spe******t' '$spe******t'
Цитата Сообщение от Sanek_21 Посмотреть сообщение
$result2 = mysql_query ("INSERT INTO users (login,lastname,firstname,middlename,pas sword,avatar,email,spe******t,date) VALUES('$login','$lastname','$firstname' ,'$middlename','$password','$avatar','$e mail','spe******t',NOW())");
1
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 74
22.05.2015, 18:59  [ТС]
Trukl, капец, из-за такой ошибки глупой, я сидел ламал голову.. не внимательный я.
Спасибо большое! Очень выручил, а на счёт радио, ты прав.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.05.2015, 18:59
Помогаю со студенческими работами здесь

Выпадающий список
Здравствуйте есть выпадающий список мне нужно чтоб в нем можно было выбирать сразу несколько значений, вроде сделал это но этот список не...

Выпадающий список из БД
Новичок в php, пытаюсь разобраться. У меня есть БД, куда записываются разные данные по договорам и две формы. В первую заношу номер...

Выпадающий список из БД
Привет всем, уважаемые! Вопрос в следующем. Я новичок в php, изучаю и решил в качестве примера для себя написать простой телефонный...

Выпадающий список из БД
Доброго времени суток! Необходима помощь с отображением данных в выпадающем меню из списка. Опишу кратко. Отображение данных идет...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru