I want to insert an image in the database. The field in the database is of type longblob
but I constantly get an error.
I changed form method from POST to GET but I still have the same problem. I tried to verify each input name with if(isset())
but I have the same problem.
HTML code
<form method="post" action="contact.php" enctype="multipart/form-data">
<?php
if(isset($error)){
foreach($error as $error){
echo '<span class="error-msg">'.$error.'</span>';
};
};
?>
<div class="control-group">
<input type="text" class="form-control border-0 p-4" name ="matricule" required placeholder="Matricule" />
<p class="help-block text-danger"></p>
</div>
<div class="control-group">
<input type="text" class="form-control border-0 p-4" name ="residence" required placeholder="Quartier de residence" />
<p class="help-block text-danger"></p>
</div>
<div class="drag-area">
<div class="icon"><i class="fas fa-cloud-upload-alt"></i></div>
<header>Glisser & Deposser le photo de votre CNI</header>
<span>OR</span>
<button type="button">Importer Fichier </button>
<input type="file" name="image" hidden required >
</div>
<div class="drag-area1">
<div class="icon"><i class="fas fa-cloud-upload-alt"></i></div>
<header class="header">Glisser & Deposser la photo de votre recu </header>
<span>OR</span>
<button class="button" type="button">Importer Fichier </button>
<input type="file" name="img" hidden class="input" required >
</div>
PHP code
<?php
@include 'connect.php';
if($_SERVER['REQUEST_METHOD']=="POST")
{
if(isset($_POST['submit'])){
if(isset($_POST['matricule']) || isset($_POST['residence']) || isset($_POST['image']) || isset($_POST['img'])){
$matricule = $_POST['matricule'];
$residence = $_POST['residence'];
$image1 = $_FILES['image']['tmp_name'];
$image1 = base64_encode(file_get_contents(addslashes($image1)));
$image2 = $_FILES['img']['tmp_name'];
$image2 = base64_encode(file_get_contents(addslashes($image2)));
}
$age = "SELECT *, DATEDIFF(CURDATE(),DATENAISSANCE) AS nbjour FROM etudiant WHERE MATRICULE = '$matricule'";
$rb = mysqli_query($conn,$age);
while($list = mysqli_fetch_array($rb)){
extract($list);
$age = floor($nbjour/365);
}
$sql ="SELECT * FROM etudiant WHERE MATRICULE = '$matricule'";
$sqp = "SELECT * FROM candidat WHERE MATRICULE = '$matricule'";
$result = mysqli_query($conn,$sql);
$result1 = mysqli_query($conn,$sqp);
if(mysqli_num_rows($result1) > 0)
{
$error[] = "vous avez deja une candidature";
}
if(mysqli_num_rows($result) > 0 && $age < 23){
$insert = "INSERT INTO candidat(MATRICULE,RESIDENCE,CNI,RECUEPAIEMENT) VALUES('$matricule','$residence','$image1','$image2')";
mysqli_query($conn,$insert);
$error[] = "Votre candidature a ete envoyer avec success";
}else
if($age >= 23){
$error[] = "Desoler vous ne pouvez plus postuler pour une chambre car vous avez plus de 22 ans".$age;
// }else
// if(isset($image1) == false){
// $error[] = "Selectionner l'image de votre CNI";
// }else
// if(isset($image2) == false){
// $error[] = "Selectionner l'image de vos recus ";
}else{
$error[] = "Vous n'etes pas inscrite";
}
}
}
?>
I tried using if(isset($_POST['']))
on all my input name files but it still gives me the same errors.