- Тег enctype полностью поддерживается
Хром и это абсолютно
Нет необходимости удалять это.
- Никаких изменений в файле HTML не требуется.
- Я обнаружил некоторые семантические ошибки в
ваш PHP-файл, который помешал
это с работы. Это:
Ваш код: $gender = $_POST['Gender'];
Форма в HTML-файле содержит пол (строчная буква "g", а не пол с прописной буквой "G").
Исправленный код: $gender = $_POST['gender'];
Ваш код: $encpassword=md5($_POST['cpassword']);
Опять же, форма не публикует сущность cpassword. Я не знаю, намереваетесь ли вы восстановить пароль из первого поля пароля или второго (проверочного) поля пароля. Однако, поскольку вы публикуете обе страницы на PHP, исправленный код будет либо
$encpassword=md5($_POST['password']);
ИЛИ
$encpassword=md5($_POST['cpassword2']);
Вам нужен только один, и любой из них будет работать.
В запросе вставки SQL вы передаете значение $student_pic
, которое вы не объявили до этого. Обратите внимание, что ваша HTML-страница не публикует значение, которое будет предназначено для этого типа переменной. Объявите переменную $student_pic
и передайте ей значение перед передачей ее через оператор вставки SQL.
С вышеуказанными изменениями проблем нет, ну я и не сталкивался. Я тоже создал базу данных и попробовал, все работает.
Вот исправленный код:
<?php
$student_id = $_POST['Student_id'];
$title = $_POST['Title'];
$firstName = $_POST['First_name'];
$middleName = $_POST['Middle_name'];
$lastName = $_POST['Last_name'];
$password = $_POST['password'];
$gender = $_POST['gender'];
$bDay = $_POST['bDay'];
$bMonth = $_POST['bMonth'];
$bYear = $_POST['bYear'];
$email = $_POST['email'];
$town = $_POST['Town'];
$student_pic = 'test';
$encpassword=md5($_POST['password']);
// CONNECT TO DATABASE
$link = mysql_connect ("localhost", "testU", "testP");
mysql_select_db ("testdb") or die("Database error: cannot connect to the database". mysql_error());
$query="SELECT * FROM Student WHERE Student_id='$student_id'";
$result=mysql_query($query);
$count=mysql_num_rows($result);
if($count==1){
print "<h2>Student with the ID <i>$student_id</i> already exists. Please return to the <a href='register.html'>Register</a> page and provide correct data.</h2>";
}
else {
$query = "insert into Student (Student_id, Student_firstName, Student_middleName, Student_surname, DOB, Title, Email, Password, Town, Student_pic)
values ('$student_id','$firstName', '$middleName', '$lastName', '$bYear-$bMonth-$bDay', '$title', '$email', '$encpassword', '$town', '$student_pic')";
$result = mysql_query ($query);
print "<h2>$firstName $lastName has been succesfully registered!</h2><br/><h3>Return to the <a href='alex.html'>login page</a>.</h3>";
}
?>
Привет