background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Download "Пишем на php обработчик формы регистрации | Динамический веб-сайт"

input logo icon
Video tags
|

Video tags

$_POST php
$_POST
обработчик формы php
php
уроки php
форма обратной связи
php tutorial
learn php
PDO::lastInsertId
php pdo insert
html верстка сайта
верстка getbootstrap
Bootstrap 5
Bootstrap grid
Carousel
Bootstrap carousel
mysql Example верстка сайта с нуля
Верстка HTML
html5
html tutorial
html tutorial for beginners
components Bootstrap
бутстрап 5
бутстрап верстка
верстка сайта html5 css3
php programming
php7
php 7
сайт с нуля на php
css3
javascript
less
программирование
python
sql
mysql
курсы_программирования
программирование
python
python3
js
ооп
паттерны
парсеры
mysql
Subtitles
|

Subtitles

subtitles menu arrow
  • ruRussian
Download
00:00:02
on a dynamic website and at the beginning of this
00:00:05
video I want to pay attention
00:00:07
to thanking all the guys who are
00:00:09
involved in the administration of the telegram
00:00:12
group, I won’t name them by name, I
00:00:15
think every administrator will recognize themselves
00:00:18
guys, you’re great, and I’m very
00:00:21
grateful that you are doing part of the work
00:00:23
that, in principle I was supposed to lead, but
00:00:26
since she can’t keep up with everything and I ca
00:00:29
n’t cope at all, so thank you very much
00:00:30
and a special thank you, too, I won’t
00:00:34
name the names of the little man who helped
00:00:37
me with discord, set up everything,
00:00:39
optimized it,
00:00:40
and those guys who are also in
00:00:43
charge of discord are the admin, what if you are
00:00:45
watching this video, you can go
00:00:47
to the description under the video, there is a link
00:00:50
to our universal discord, there
00:00:53
you can discuss all the programming languages
00:00:55
that I have on a
00:00:57
telegram channel, it is purely front-end,
00:01:00
so after the words of gratitude, I think
00:01:03
it’s time to continue doing our
00:01:05
lessons and so let's start today
00:01:09
after we created
00:01:10
our functions for working with the database in previous lessons,
00:01:14
today we will start
00:01:15
registering a new user,
00:01:17
so we have such a file of rivers on foot,
00:01:20
it was called before rivers html, I
00:01:23
renamed it to php it looks like
00:01:25
this we have a login,
00:01:27
we have an e-mail and a password and repeat
00:01:30
passwords, and there is also a
00:01:32
registration button, there is also a login button,
00:01:34
which for now doesn’t lead anywhere to 404,
00:01:37
but we’ll figure it out later, let’s
00:01:40
open our file,
00:01:42
here’s our rap stove, this is what it looks like
00:01:46
volk ​​there is a lot of html code of the pawn here, in fact,
00:01:50
there is no only here included with the header in the
00:01:53
collarbone path and and on the collarbone futa,
00:01:57
what is our task to work with the form,
00:02:00
write a handler for the form and,
00:02:02
accordingly, make it
00:02:03
work so that we will start with that
00:02:06
paired form so forms here there is a class here
00:02:09
there is a method post there is action rivers php and I
00:02:12
added action if you have some
00:02:14
other action correct it
00:02:15
should be action rivers pawns give a
00:02:18
little more make the font because he
00:02:20
constantly complains that
00:02:21
the font is very small so here is the action junkie pawns that is,
00:02:25
after clicking on the button, the form
00:02:27
will be sent to the page itself and
00:02:31
will be sent to itself to fulfill the fact
00:02:33
that the form was entered. There
00:02:36
is also a moment at the very bottom there is a button
00:02:38
loaf unit type loaf this type
00:02:40
needs to be replaced with type submit, so
00:02:44
we’ll replace it with sadnit everything else
00:02:46
remains as is, if you go to
00:02:49
the page to update, then when registering we
00:02:51
should be sent to the one already known for
00:02:54
clicking on the same
00:02:56
page, let's check that
00:02:58
this really works and that everything
00:03:00
works as we want at the very
00:03:02
top of the page, here we will write a new
00:03:06
section for php code and here we will now
00:03:10
write such a simple check
00:03:13
we will write with you the following iv further
00:03:17
inside the already familiar command from set and
00:03:21
here we will refer to the super
00:03:23
global array post in this super
00:03:27
global array we will check the
00:03:29
presence of the parameter that we have let’s
00:03:32
immediately be here some code and
00:03:35
here in the super global array we
00:03:36
should have the registration button pressed
00:03:40
but do not enter registration
00:03:43
types admit class name bat Andrik
00:03:47
this is what I copy the nerd I refer to it
00:03:50
and paste it here and so here and
00:03:54
something went wrong
00:03:57
bass loaf
00:04:01
dash of rivers, in my opinion, then
00:04:05
or not, I’m copying again because I’m
00:04:10
not sure, my grandfather could be wrong, then
00:04:12
it won’t work, but inside you and I
00:04:17
see our function, by the way, we won’t
00:04:21
be able to output it because it’s not
00:04:23
imported here from us there is no
00:04:26
connection to the database, okay then
00:04:29
we’ll make it simpler, we’ll write it in bard,
00:04:33
but I wanted to suggest using the
00:04:35
function that we use,
00:04:38
although let’s have the tt function,
00:04:40
let’s use it, I made
00:04:43
another include here, let’s just copy
00:04:47
this line here again we
00:04:51
will have 2 eng people like this, we will have them
00:04:54
from the volume only here I will have
00:04:56
another include I have where I have it there,
00:04:58
so I need to
00:05:03
write that this I will have a slash
00:05:10
so why and give to they don’t tell me I
00:05:13
want so that she prompts she doesn’t want to
00:05:15
prompt me
00:05:16
so I put double quotes I write about
00:05:21
then I put a slash this will be the date bass
00:05:26
stressed words I put a slash
00:05:28
this I will have baby php
00:05:31
super for connection Lodz now here
00:05:33
inside our check I can call the
00:05:35
tt function
00:05:36
in this It’s time to throw a function into a super
00:05:39
global array post here inside the
00:05:42
function, and let’s do it right away. The important
00:05:47
point is that you need to register
00:05:50
for the form for each in put a name,
00:05:54
yes, look for each input and you
00:05:57
need to take and register the name and otherwise this
00:06:00
data will not be they will not be
00:06:03
displayed in any way in the general data array,
00:06:06
respectively, there is a matter of gain, you write
00:06:08
a login where you have topics you write had
00:06:13
before
00:06:14
import mail or e-mail where we have a
00:06:17
password, I write pass first this is the first
00:06:20
password and
00:06:21
second is a repetition of the password after
00:06:25
After you have entered all this data, we
00:06:28
go to our pawn haste script and
00:06:32
here from the post we will refer to the
00:06:34
first field not to the last pain but to the
00:06:36
first and the first field is what we
00:06:38
get
00:06:39
l'agent yes here is your login the first field on
00:06:42
it they login accordingly we turn to it,
00:06:45
what are we doing here, we are saying if
00:06:48
we have filled in the login data in the super global array of the post,
00:06:53
then absolutely the entire
00:06:58
array of the post is displayed through a ward and kill the execution of
00:07:01
the script, then let's see what
00:07:04
comes out of this,
00:07:05
I update, a form appears I
00:07:10
can enter some data here in
00:07:12
this form, let’s write a password 3 units here,
00:07:15
too, 3 units and click
00:07:17
register,
00:07:18
after I
00:07:21
have completed this, I can look at my
00:07:24
array, what I got, so I see
00:07:26
that the array consists of the following data
00:07:29
login is a four-character string and its
00:07:34
meaning
00:07:35
ruth mail this string is 18 characters and this is its
00:07:40
value string passport fest this
00:07:43
three-character string this is its meaning
00:07:46
passwords and
00:07:47
this is a three-character string this is its
00:07:49
meaning and loaf of rivers there is no
00:07:52
meaning because this a button like this
00:07:55
we get an array and now we
00:07:58
understand that our form is processed and the
00:08:01
data can already be received somewhere, this
00:08:03
data is in a super global
00:08:05
array post ok, we’ve done the checks with you,
00:08:07
we can delete this script,
00:08:09
we won’t need to
00:08:13
go update it here anymore page our reform
00:08:16
seems to remain as it was
00:08:17
now we do the following manipulations in
00:08:21
our structure here are the folders of directories
00:08:24
we go about and and here we create another
00:08:28
directory which we will call controls
00:08:31
respectively new directory and we will call
00:08:36
it controllers yes, that is, we
00:08:38
will have controllers here what is
00:08:40
this we will a little later or perhaps in the
00:08:43
last lessons I will tell you what
00:08:46
it is in general and why it is needed, but for
00:08:47
now it is important to understand that such a
00:08:50
directory will appear for us and inside this
00:08:52
directory we will now create a handler for
00:08:54
our form inside our directory
00:08:58
create create new pawns the file
00:09:01
is called users,
00:09:03
the folder will be for working with users, I’m here
00:09:07
inside this folder, we can do
00:09:08
exactly the same thing that you and I
00:09:10
did
00:09:11
in the previous steps, then we can write
00:09:14
our request and check inside for the presence of
00:09:20
our array, because I inserted the
00:09:23
same one here design as we had in
00:09:26
rap php itself,
00:09:27
now it is in Europe pr Rick himself pawns we
00:09:30
need to conclude
00:09:31
directly a file that will
00:09:34
work with this data, what we
00:09:37
do is copy this line and
00:09:42
young people here our solution so on
00:09:46
we will have controls
00:09:49
this us controllers
00:09:51
and here we will have user stove files,
00:09:54
all the data on the connection, is everything super, he
00:09:59
wants something from us and we won’t
00:10:04
do this further my young people our ip
00:10:08
control with user pawns by the way, I used
00:10:11
quotes here are the brackets, more precisely these brackets are
00:10:13
theirs you can remove them, it’s not necessary, and it
00:10:16
will work with brackets and without brackets
00:10:17
it will work, but without brackets it looks somehow prettier or something,
00:10:19
here we have a
00:10:22
path connected here and connected, and
00:10:25
we also have a
00:10:28
folder directly connected here with our
00:10:31
controllers and a user
00:10:33
script for the stove If we save now and
00:10:36
go to the browser page to update,
00:10:39
we will see that nothing has changed
00:10:41
because nothing
00:10:43
has really changed, we just moved the
00:10:45
execution of the handler itself to a
00:10:47
separate user php file, but now
00:10:50
we will correct this whole story a little here
00:10:52
and go to our
00:10:54
database.php file where we
00:10:57
have registered our function and at the very bottom
00:10:59
we remove everything unnecessary there the function call will be
00:11:02
given to us, that is, we
00:11:03
only have our functions left, the folder is ready for us to
00:11:07
work,
00:11:08
clean, nothing is being executed here, the
00:11:10
test function is left for us for now,
00:11:12
it doesn’t bother us and what we
00:11:14
do further in our rick pawn we have
00:11:18
this
00:11:19
include which we use to
00:11:20
connect the
00:11:22
database we will cut out the background here we
00:11:24
don’t need it but add it directly to
00:11:27
this file because here we will
00:11:29
work with it then here we will need son to people
00:11:31
work and accordingly we
00:11:33
add it and here we will work
00:11:36
directly with it and if after these
00:11:38
manipulations we use it on
00:11:39
the page, then still nothing
00:11:41
changes for us, everything remains as it was
00:11:43
before, here we can already remove found
00:11:45
there and by essentially call our function,
00:11:47
which we have in the do the bass
00:11:51
file and see what we get
00:11:54
and we can’t exit called here, in
00:11:58
principle you can call it, you don’t have to
00:11:59
call it, but let’s update and this is how
00:12:02
our array looks beautiful, that is,
00:12:04
we have a login with the value root, well,
00:12:07
everything that I showed you is the e100 of the headquarters, there
00:12:09
we are empty because there is nothing there yet,
00:12:11
well, now let’s
00:12:14
work directly with our
00:12:15
form,
00:12:16
we can remove all this and what we
00:12:20
need to do here, so the first thing we
00:12:24
will do with you we will start receiving data from
00:12:26
our form and saving some
00:12:28
changes, which means we will immediately create
00:12:33
login variables and assign a super
00:12:37
global array of values ​​to it,
00:12:39
respectively, this will be our login,
00:12:42
then we will have an e-mail,
00:12:44
we will immediately assign the volume to e -mail
00:12:49
so let's rename
00:12:53
the email here and here we will have a super
00:12:56
global value let's see
00:12:58
this we will have mail on let's
00:13:00
copy you and substitute in the value
00:13:06
we also need to take the password for now I'm
00:13:09
not doing any checks here it's important
00:13:11
to understand that in the end video, we
00:13:13
will do all the necessary checks for now,
00:13:16
we just sketch out a frame, from
00:13:22
this frame we collect data, so here we
00:13:25
will have dogs, we will have it for seconds
00:13:31
seconds, in my opinion; in my opinion, second,
00:13:36
now we’ll double-check it’s better to copy it like this,
00:13:42
because then if
00:13:45
something somewhere doesn’t work for a very long time,
00:13:47
you can search for what doesn’t work, so we
00:13:50
created it, we have a value, but look,
00:13:53
we still need to forward the value from
00:13:55
min, that is, there’s either a zero or 1
00:13:58
since the user is registering, we are not
00:14:00
asking for this data, we can
00:14:02
force this value into the array for him,
00:14:05
which by default will
00:14:07
have a zero, well, that is, any
00:14:09
registered user with us
00:14:11
will not be an admin by default,
00:14:13
then we will create a variable admin since
00:14:16
this is what we need the database needs to be forwarded and
00:14:19
it will have a default value of 0, that’s it,
00:14:22
we have all the data that we
00:14:24
need to forward into our database ready,
00:14:27
let’s update and look at our
00:14:30
database, here’s our users database, here’s its
00:14:33
structure, so the IT specialist will automatically
00:14:35
add the admin status 0 or one we
00:14:37
will forward by default 0
00:14:39
username we have e mail there is a password
00:14:44
and there is a creation date but there is a very
00:14:47
important point about the password the password
00:14:49
as you understand it cannot be stored
00:14:51
in the form we are forwarding it here
00:14:52
but not in In any case,
00:14:55
there is a very interesting function for this and
00:14:57
let us now directly apply it here
00:15:01
in our case and so in order to apply
00:15:04
this function we need to do the following
00:15:06
call the so-called password hash function
00:15:11
let us here and and call I write
00:15:14
password hash here it is substituted and
00:15:17
inside this function I immediately insert
00:15:21
the value of a super global array, so
00:15:25
just where does it go, where does it belong, so
00:15:29
we immediately insert
00:15:32
everything here after these manipulations, let’s
00:15:35
know what else we’ll do here, I’ll also
00:15:36
output it back here below, I’ll output it
00:15:40
that's it, how can I get it all out
00:15:43
because everything is stored
00:15:44
separately, but that's okay, let's
00:15:47
do it eco, we'll have login 1 here,
00:15:52
then we'll put concatenation after the login, we'll have an
00:15:55
e-mail, after the e-mail,
00:16:00
we'll have a password,
00:16:02
but just that you saw how our
00:16:03
whole thing looks like and after the password we
00:16:06
will put the value admin,
00:16:08
that is, this is data that will already be
00:16:10
ready for recording, of course there
00:16:12
will be no spaces here, it won’t
00:16:14
look very nice now, but let’s
00:16:17
take a look at it and we
00:16:19
get this picture so here
00:16:24
we have password hash we need a second
00:16:28
parameter for password hash let's
00:16:30
add the
00:16:31
passport function we need a second parameter
00:16:35
and this parameter we will have a passport and
00:16:37
fault here password for everyone added a
00:16:42
second argument tag and we can go again
00:16:47
and update our page, we have updated,
00:16:51
we see that root is next, mail is jimail,
00:16:54
then here is the fixed password,
00:16:57
go right up to this moment, this is the
00:16:59
fixed password, and only
00:17:01
here is a zero, despite the fact that I can
00:17:03
enter any values, for example 22, here
00:17:07
we will indicate the mail and the password will be one yes
00:17:10
if it tells you about registration, then even a
00:17:13
unit, look how it is hashed, what it
00:17:15
looks like, and that is, this hash, you will
00:17:17
never guess in your life
00:17:19
that there is a unit, so we did it super,
00:17:23
so you and I get the data, now
00:17:26
it’s time to start recording it in the
00:17:28
database for ours
00:17:30
user, what we need for this,
00:17:33
first of all, I suggest reminding you to
00:17:35
go to the database, find the
00:17:37
table entry function and see what
00:17:41
our function looks like, remember, refresh your
00:17:44
mind, the function takes the table and parameters,
00:17:47
respectively, we remember that the parameters
00:17:49
are an associative array, which we
00:17:50
then parse internally and that means we
00:17:53
need to make this associative array for
00:17:55
ourselves, yes, okay,
00:17:58
let’s create it here now and create
00:18:01
this, we can delete everything, we don’t
00:18:04
need it, and now we will create this
00:18:06
associative array here, we will
00:18:07
need it, so let us have a
00:18:11
post, yes,
00:18:12
this is our associative array and here we
00:18:16
immediately put a semicolon, we
00:18:18
will need it even in the future, not only
00:18:21
for recording, and we will also add water to various
00:18:23
checks here and then
00:18:25
pure data will come here that should
00:18:27
go to the database, and so in order to create
00:18:30
this social
00:18:31
associative array we need to
00:18:33
look in the database,
00:18:34
let's go to the tab with the database,
00:18:36
click on the structure button and look at the
00:18:40
first thing we need, ID, we
00:18:42
skip it as the author in increments, we
00:18:44
need admin, that is, indicate the user
00:18:46
is an admin or is not,
00:18:48
respectively, write admin and immediately
00:18:51
set it to a value and this value to
00:18:54
we will be drawn with the admin variable,
00:18:57
so we match the admin variable,
00:18:59
then we will have four such values,
00:19:02
so we just copy here
00:19:04
four times at the end, there is no need, so the
00:19:07
next thing we need to forward is the
00:19:09
username, that is, our login,
00:19:12
accordingly, in the pair of these parameters we
00:19:15
have username in our array, so we
00:19:19
substitute user name and we take
00:19:22
this data from the login, this variable
00:19:27
l'agent, we substitute it here,
00:19:30
then we have the third parameters, the
00:19:33
third parameters we have and so l,
00:19:36
respectively, we have here e mail and
00:19:39
We substitute the changes with the value
00:19:42
e-mail, it is very important not to get confused here, yes,
00:19:44
because here comes admins user name
00:19:46
e-mail, here is a slightly different
00:19:48
sequence, the exchange goes last, you
00:19:50
can, of course, change this thing here
00:19:52
to make it more convenient
00:19:54
1 do this, but for now we we do this like
00:19:58
this and the last parameter is
00:20:01
our password, our password is password, we
00:20:03
copy and paste the last value of
00:20:06
password
00:20:07
and the passport is our variable dogs, this is already a
00:20:10
variable with our cache, that is, the
00:20:15
password that was shown to you, so we
00:20:17
made an array, we have it on in
00:20:20
principle, you can look at it, we can
00:20:22
call here the target of our test function,
00:20:26
throw our array there and see
00:20:29
what we get out of it,
00:20:31
let's update and here is our array,
00:20:35
everything is as it should be, we already have a
00:20:37
nice key and value
00:20:39
key-value key-value ok now
00:20:42
we need to call our function that
00:20:45
will write the databases in here we
00:20:47
connect our database and
00:20:50
accordingly here we call our
00:20:52
function just below the
00:20:54
function we have is called insert today I’m
00:20:58
wrong let’s see yes
00:21:01
insert our function is called insert
00:21:03
so we call the function on the bear it
00:21:06
immediately tells us that we have two
00:21:08
parameters, the first is users
00:21:11
and the second parameter is our array of the array,
00:21:14
we already have it, so we just
00:21:15
substitute our post array, then here a
00:21:19
very interesting point arises, we would
00:21:21
like to receive the
00:21:23
ID of the entry that we will essentially
00:21:27
make if now I don’t do anything I’ll
00:21:29
change it, let me just
00:21:32
save like this and send the request, in
00:21:36
principle, everything will work out, let’s, well, it
00:21:38
should work, let’s update
00:21:40
the page, so what is he
00:21:45
swearing at?
00:21:51
look
00:21:53
what's going on, I'm copying this page,
00:21:56
killing it again, pressing enter, and it's
00:21:59
like the process is being updated here,
00:22:01
and I, for example, have another email and password in mind, it wo
00:22:07
n't matter if I let it in, there's a password there,
00:22:09
pressing registration, all the data
00:22:12
has flown away, the data has flown away, to make sure
00:22:15
that the data flew away, I’ll now go to the
00:22:17
structure in the review and let’s see the
00:22:20
last odd nickname 28 adige not here ore
00:22:24
here’s the mail tt I just changed the
00:22:26
fixed password, that is, everything
00:22:28
worked out perfectly, but I don’t know what
00:22:31
the ID is, what if I want something
00:22:33
later do with this record, that is,
00:22:35
any manipulations or at
00:22:37
least know what it is about food
00:22:39
if I write, for example, you in the following
00:22:41
way now a second the ID is equal to and
00:22:48
this little thing will not help because
00:22:51
in my function my function here
00:22:54
there is no insert function even a writer
00:22:57
here to return nothing accordingly,
00:23:00
I need to add this record specifically
00:23:02
to the record in the database table, I
00:23:05
enter re-therm here
00:23:06
and in order to return the ID value to us in
00:23:11
a hurry, there is a command
00:23:14
called last insert ID and
00:23:18
we need to contact the nickname to faith.
00:23:20
We need to refer to the efficiency, but this is where the
00:23:23
global variable is
00:23:25
where in our connection where we have the
00:23:27
connect variable, how it will
00:23:30
look, we immediately write a reference to the efficiency of a
00:23:33
class instance and in this instance of the
00:23:35
class we call last insert ID, and you
00:23:39
even see it prompts and this will be
00:23:41
string hawaii the meaning of you and sort go
00:23:44
here dot, we do
00:23:47
n’t need to do anything else and we call the river rn
00:23:49
after error checking
00:23:50
since in error checking tdp check
00:23:53
error
00:23:54
our script is killed if suddenly there
00:23:56
was some error and there
00:23:58
will be no ryterna we save accordingly
00:24:01
after I saved, I
00:24:03
log in here and it will already be mine you are going to and I can
00:24:07
safely print it out and I want, for example,
00:24:10
to print it on that disk so that I can just
00:24:11
see
00:24:13
what line was written down, let's
00:24:15
now update this thing, let's
00:24:18
copy it,
00:24:19
I'll paste it to the new address I press enter, it
00:24:24
opens for me, let's write here
00:24:27
12345 mail we will only have hey
00:24:31
until 88 the password we will have is f3 and repeat
00:24:35
the password 3 I press registration look it
00:24:38
returns to me top 29 Yiddish nika ut
00:24:41
top of the screen 29 bring 29 now let's go
00:24:46
to the database and update and find 29
00:24:49
equipment here is 29 Yiddish nickname and so admin 0
00:24:53
im 12345 mail what was indicated and
00:24:58
actually the C grade is so
00:25:00
fixed but the date of creation is super
00:25:04
what we were trying to achieve and I can, in
00:25:07
principle, immediately get this record,
00:25:10
yes, eco, I can, in principle, immediately
00:25:12
how can I get this record? I put it
00:25:14
in our our functions and see where
00:25:20
I have a
00:25:22
request here to get one row from the
00:25:24
selected table. Select Van Damme is not
00:25:27
needed, in fact, what do I need? I need to
00:25:29
specify the select function. Here I am writing,
00:25:34
let’s do it right away I will write all this
00:25:38
into the
00:25:40
last-rose variable, I’ll call it yes, the last
00:25:45
line and this variable I will have is
00:25:51
select van and what do we need there?
00:26:03
the value of
00:26:06
the array is what we want to get from our
00:26:10
table, and here we need to forward the
00:26:14
same array, but we need it for an hour so as not to create this
00:26:16
associative array, we’ll
00:26:19
do it right here inside quickly, so we
00:26:22
only need one ID to get it, we
00:26:24
know that we have a field there Aida
00:26:26
and therefore we write ID and we have it, this
00:26:29
ID is equal to our ID which we
00:26:33
received in previous entries in
00:26:35
the line, this is what our array looks like, you
00:26:39
can put a semicolon and we do
00:26:42
n’t need eco here, we can delete it,
00:26:44
but below we can call our test
00:26:46
function and in forward this function last
00:26:49
ditch but to see what we have
00:26:51
printed we save let's
00:26:55
go to our form
00:26:59
again let's put the data in, press enter and
00:27:02
let's check like this 55 here we
00:27:07
will have for example also 55 88 55
00:27:12
registration everything we get we
00:27:16
touched on line with IT specialist 30 that is, the
00:27:19
line was generated automatically
00:27:20
130 admin by default 0 root status 55
00:27:25
login
00:27:26
our mail our password and creation date that
00:27:30
is, we completely returned the line
00:27:31
what was done I’m sure that’s
00:27:33
exactly how it is in the database 30 you’re going to
00:27:37
here we have this, let's increase 30, this is
00:27:41
the data that we just saw
00:27:42
on the screen, what about other friends,
00:27:45
we can congratulate you on this, we have already made a
00:27:48
form handler, but there is
00:27:51
no validation yet, there is a lot of things that still
00:27:53
need to be corrected,
00:27:54
but the form itself is sent and
00:27:56
works in the next lesson, we
00:27:58
will validate all the fields, and it’s not for
00:28:01
nothing that we ask for the password to be confirmed;
00:28:04
we all need the right to lead in
00:28:06
cutting out various vulnerabilities so that
00:28:10
no injections are slipped into our hands, and in
00:28:12
general, we will finalize the processing of
00:28:14
user registration on With this, I
00:28:17
say goodbye to you and see you soon in a
00:28:19
new video lesson, bye everyone

Description:

★ Подпишись на канал с бесплатными курсами программирования! ► моя IDE: https://www.jetbrains.com/ru-ru/webstorm/ ★ ССЫЛКИ ПО ТЕМЕ ★ https://www.php.net/manual/ru/pdo.lastinsertid.php https://qna.habr.com/q/502702 ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ★ НАШЕ КОМЬЮНИТИ ★ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ★ Телеграм (Front End): https://t.me/joinchat/FQXf-hN9LRuCosQCWtzY3g ★ Discord (All): https://discord.com/invite/UVbzw89vM8 ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ★ Тайм-коды ★ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ... Автор: Андриевский Андрей Раздел: Динамический сайт ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ★ РЕКОМЕНДУЮ ВИДЕО ПО ТЕМЕ ★ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ● [[ Все о типах данных ]] : [[ http://www.mysql.ru/docs/man/Column_types.html ]] ● [[ Практическая верстка ]] : [[ https://www.youtube.com/watch?v=_5v2ETZI7LY ]] ● [[ Курс HTML & CSS ]] : [[ https://www.youtube.com/watch?v=GFqCX2AefQk ]] ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ★ ПОПУЛЯРНЫЕ ПЛЕЙЛИСТЫ ★ ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ ● Курс HTML & CSS: https://www.youtube.com/watch?v=GFqCX2AefQk ● Базовый курс JavaScript: https://www.youtube.com/watch?v=4GkJvPCuVXg ● Базовый курс Python: https://www.youtube.com/watch?v=IbGUmqCrjuc ● Базовый курс PHP7: https://www.youtube.com/watch?v=I02F4oCD14o ● Динамический сайт с нуля: https://www.youtube.com/watch?v=yEJJlbjT1uk

Preparing download options

popular icon
Popular
hd icon
HD video
audio icon
Only sound
total icon
All
* — If the video is playing in a new tab, go to it, then right-click on the video and select "Save video as..."
** — Link intended for online playback in specialized players

Questions about downloading video

mobile menu iconHow can I download "Пишем на php обработчик формы регистрации | Динамический веб-сайт" video?mobile menu icon

  • http://unidownloader.com/ website is the best way to download a video or a separate audio track if you want to do without installing programs and extensions.

  • The UDL Helper extension is a convenient button that is seamlessly integrated into YouTube, Instagram and OK.ru sites for fast content download.

  • UDL Client program (for Windows) is the most powerful solution that supports more than 900 websites, social networks and video hosting sites, as well as any video quality that is available in the source.

  • UDL Lite is a really convenient way to access a website from your mobile device. With its help, you can easily download videos directly to your smartphone.

mobile menu iconWhich format of "Пишем на php обработчик формы регистрации | Динамический веб-сайт" video should I choose?mobile menu icon

  • The best quality formats are FullHD (1080p), 2K (1440p), 4K (2160p) and 8K (4320p). The higher the resolution of your screen, the higher the video quality should be. However, there are other factors to consider: download speed, amount of free space, and device performance during playback.

mobile menu iconWhy does my computer freeze when loading a "Пишем на php обработчик формы регистрации | Динамический веб-сайт" video?mobile menu icon

  • The browser/computer should not freeze completely! If this happens, please report it with a link to the video. Sometimes videos cannot be downloaded directly in a suitable format, so we have added the ability to convert the file to the desired format. In some cases, this process may actively use computer resources.

mobile menu iconHow can I download "Пишем на php обработчик формы регистрации | Динамический веб-сайт" video to my phone?mobile menu icon

  • You can download a video to your smartphone using the website or the PWA application UDL Lite. It is also possible to send a download link via QR code using the UDL Helper extension.

mobile menu iconHow can I download an audio track (music) to MP3 "Пишем на php обработчик формы регистрации | Динамический веб-сайт"?mobile menu icon

  • The most convenient way is to use the UDL Client program, which supports converting video to MP3 format. In some cases, MP3 can also be downloaded through the UDL Helper extension.

mobile menu iconHow can I save a frame from a video "Пишем на php обработчик формы регистрации | Динамический веб-сайт"?mobile menu icon

  • This feature is available in the UDL Helper extension. Make sure that "Show the video snapshot button" is checked in the settings. A camera icon should appear in the lower right corner of the player to the left of the "Settings" icon. When you click on it, the current frame from the video will be saved to your computer in JPEG format.

mobile menu iconWhat's the price of all this stuff?mobile menu icon

  • It costs nothing. Our services are absolutely free for all users. There are no PRO subscriptions, no restrictions on the number or maximum length of downloaded videos.