Я занимаюсь исследованием взаимодействия с базой данных и хранением информации о базе данных. В настоящее время я работаю над проектом для своего класса программирования, и я пытаюсь создать страницу регистрации. В данный момент в моем файле signup.html
форма принимает два входа: имя пользователя и пароль. Затем после отправки он отправляется в почтовый метод root в мой файл app.rb
. Теперь в этом файле app.rb
в корне /sources
(который является моим почтовым методом root для формы в моем signup.html
файле) У меня есть так, что введенные учетные данные сохраняются в моей базе данных. Теперь Я хочу сделать так, чтобы база данных перекрещивалась, чтобы убедиться, что у кого-то нет того же имени пользователя, что и только что введенное. Другими словами, невозможно зарегистрировать, если имя пользователя уже выполнено. Если имя пользователя принято, я хочу, чтобы появилось сообщение о том, что пользователю необходимо ввести новое желаемое имя пользователя. Если имя пользователя не было принято, я хочу, чтобы он перенаправлял файл home.html
, который я создал. Я провел исследование и выяснил, что способ сделать это - использовать SELECT column_name FROM table_name
. Но я не понимаю, куда положить этот код. Является ли это под моим корнем /sources
в моем файле app.rb
?Как использовать метод «select * FROM» для баз данных Sequel?
Любая помощь очень ценится. Вот мой код:
В моем signup.html
файле:
<p>Please fill out the information below to sign up.</p>
<form action = "/sources" method="post">
Username: <input type="text" name ="username" placeholder="Username"></br>
Password: <input type="password" name ="password" placeholder="Password"></br>
<input type="submit" value="Submit">
</form>
В моем app.rb
файле:
require 'sinatra'
require 'sequel'
require 'rubygems'
require 'simple-rss'
require 'open-uri'
DB = Sequel.connect('sqlite://test.db')
get '/chart' do
DB.create_table(:db) do
primary_key :id
String :username
String :password
end
#I realize this is not a professional way of creating the database
# but I'm not looking for how to change this at the moment
end
post '/sources' do
@username = params[:username]
@password = params[:password]
@items = DB[:db]
@items.insert(:username => @username, :password => @password)
end
get '/signup' do
redirect 'signup.html'
end