If you are new to PHP / MySQL, you really should not start by using a procedural style, since it is clunk and really not recommended. If you do OOP (Object Orientated Programming), now it will save you problems in the long run!
Example:
mysqli_connect($host, $user, $password, $database) or die("Error " . mysqli_error($link));
Must become
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
trigger_error('Database connection failed: ' . $conn->connect_error, E_USER_ERROR);
}
and
$firstname1 = mysqli_real_escape_string($firstname);
to
$firstname1 = $conn->real_escape_string($firstname);
PHP (.. ..), OOP, !
, :
1. >
<p>First Name: <br><input type="text" name="user_firstname" size="25 maxlength="25"/></p>
2. post "user_type",
3 1 , ( 1 , , )
$firstname1 = mysqli_real_escape_string($firstname);
$lastname1 = mysqli_real_escape_string($lastname);
$email1 = mysqli_real_escape_string($email);
$password1 = mysqli_real_escape_string($password);
$firstname_escaped = mysqli_real_escape_string($firstname);
$lastname_escaped = mysqli_real_escape_string($lastname);
$email_escaped = mysqli_real_escape_string($email);
$password_escaped = mysqli_real_escape_string($password);
4 INSERT, ( ),
$query = mysqli_query($link, "INSERT INTO users (user_id, user_firstname, user_lastname, user_email, user_password) VALUES ('', '$firstname', '$lastname', '$email', '$password')");
$query = mysqli_query($link, "INSERT INTO users (user_firstname, user_lastname, user_email, user_password) VALUES ('$firstname', '$lastname', '$email', '$password')");
5
!!!! , !!!!!
$password = md5($_POST['user_password']);
PHPass, PHP crypt() !