Я новичок в php, и я делаю простую регистрационную форму и сохраняю значения в базе данных, включая тексты, а также изображения.
Но во время отправки кнопки я получаю сообщение об ошибке Fill all the details
, которого я не ожидаю.
Вот регистрационная форма
Ошибка произошла в php во время регистрации
<form action="php scripts\register.php" method="post" enctype="multipart/form-data">
<fieldset>
<legend>Event Registeration</legend>
<div class="left">Full Name</div> <div class="right"><input type="text" required = "required" placeholder="e.g. : Sachin Sharma" name = "full_name"></div><br><br>
<div class="left">Mobile</div><div class="right"><input type="text" required = "required" placeholder="+91" name= "mobile_number"></div><br><br>
<div class="left">Email</div> <div class="right"><input type="text" required = "required" name = "email" placeholder="email"></div><br><br>
<div class="left">ID</div><div class="right"><input type="file" required="required" name="ID" id="id_card"></div><br><br>
<div class="left">Registeration type</div><div class="right"> <select name="registrationType">
<option value="student">student</option>
<option value="teacher">teacher</option>
<option value="principle">principle</option>
<option value="other">Others</option>
</select></div><br><br>
<div class="left">Number</div><div class="right"><input type="number" value="1" name = "number" required="required"></div><br><br>
<button class="preview">Preview</button><button class = "submit">Submit</button>
</fieldset>
</form>
Это register.php файл
<?php
require_once 'DB_Functions.php';
$db = new DB_Functions();
if(var_dump(isset($_POST['full_name'],$_POST['mobile_number'],$_POST['email'],$FILES['IDCard'],$_POST['registrationType'],$_POST['number']))){
$full_name = $_POST['full_name'];
$mobile_number = $_POST['mobile_number'];
$email = $_POST['email'];
$idCard = $FILES['ID'];
$registrationType = $_POST['registrationType'];
$number = $_POST['number'];
//Check if the user exist
if($db->isUserExisted($mobile_number)){
die ("You have already registered");
}
else{
$user = $db->storeUser($full_name,$mobile_number,$email,$idCard,$registrationType,$number);
if($user){
echo "You have successfully registered";
}
else{
die ("Unknown error occured during registeration");
}
}
}
else{
echo "Fill all the details";
}
?>
И это файл DB_Functions.php
public function saveUser($fullName,$mobileNumber,$email,$IDCard,$registerationType,$numberofTickets){
$uuid = uniqid('',true);
$target_dir = "latitude_fintech/userPictures/";
$target_file = $target_dir . basename($_FILES["IDCard"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
$check = getimagesize($_FILES["IDCard"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
die("File is not an image.");
$uploadOk = 0;
}
// Check if file already exists
if (file_exists($target_file)) {
die("Sorry, file already exists.");
$uploadOk = 0;
}
// Check file size
if ($_FILES["IDCard"]["size"] > 500000) {
die("Sorry, your file is too large.");
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg") {
die("Sorry, only JPG, JPEG & PNG files are allowed.");
$uploadOk = 0;
}
if ($uploadOk == 0) {
die("Image should be png or jpg type only.");
}
else{
if (move_uploaded_file($_FILES["IDCard"]["tmp_name"], $target_file)){
//Store information
$stmt = $this->conn->prepare("INSERT INTO registeration_table(uniqueId, fullName, mobileNumber, email,idCard,registerationType,Tickets,
registerationDate) VALUES(?,?,?,?,$target_dir,?,?,NOW())");
$stmt->bind_param("sssssss",$uuid, $fullName,$mobileNumber,$email, $idCard, $registerationType,$numberofTickets);
$result = $stmt->execute();
$stmt->close();
//Check for store
if ($result) {
$stmt = $this->conn->prepare("SELECT * FROM registeration_table WHERE mobileNumber = ?");
$stmt->bind_param("s", $mobileNumber);
$stmt->execute();
$user = $stmt->get_result()->fetch_assoc();
$stmt->close();
return $user;
} else {
return false;
}
}
else {
die("Sorry, there was an error uploading your file.");
}
}
}
Любая помощь будет высоко оценил
Спасибо вы.
'Исеть ($ _ POST [«ID»])', скорее всего, не удается, ваша форма не имеет поле с именем 'ID' (оно называется' IDCard'). – ccKep
@ccKep Я исправляю то, что все еще не удается –
На стороне примечание: 'isset' принимает несколько параметров и возвращает true, если ** all ** установлены, поэтому вы можете просто выполнить' if (isset ($ _ POST ['full_name' ], $ _POST ['mobile_number'], ...)) '. – ccKep