This commit is contained in:
Alexandre MOTTIER 2024-10-14 14:03:15 +02:00
parent 97b1c72b82
commit 100a5505df
22 changed files with 1800 additions and 1 deletions

8
LICENSE Normal file
View File

@ -0,0 +1,8 @@
MIT License
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,2 +1,31 @@
# PHP-RechercheEmploi
# Outil PHP de recherche demploi
![https://badgen.net/github/release/alexandremottier/PHP-RechercheEmploi](https://badgen.net/github/release/alexandremottier/PHP-RechercheEmploi)
Cet outil PHP, installable sur votre propre serveur web, est destiné à vous aider à gérer votre recherche d'emploi.
Étant moi-même en recherche d'emploi à l'heure où j'écris ces lignes, je déplorais qu'il n'y ait pas d'outil simple, pratique, auto-hébergeable et open-source qui permette de conserver les interactions avec les entreprises et les détails sur la recherche d'emploi.
J'ai donc créé cet outil, très simple, qui permet de remplir les fonctions suivantes :
- Ajouter une entreprise (nom de l'entreprise, adresse postale et numéro de téléphone)
- Ajouter un contact (prénom, nom, poste occupé et numéro de mobile)
- Saisir les entretiens téléphoniques et présentiels (ou visio) en ayant la possibilité de faire un bref compte rendu sur votre entretien, mais aussi d'évaluer la ponctualité de l'entreprise en notant l'heure prévue de l'entretien, mais aussi l'heure effective de l'entretien.
- Enfin, il permet de saisir le statut de l'échange avec l'entreprise pour avoir les informations les plus pertinentes sur votre recherche d'emploi d'un seul coup d'oeil !
## Personnalisation
L'outil est personnalisable : Il vous suffit de saisir vos informations dans le fichier `config.php` entre les guillemets et le système adaptera l'en-tête à votre effigie. De quoi briller lors de l'entretien !
## Responsive
Le design du site s'adapte parfaitement aux écrans des mobiles et tablettes.
Vous pouvez donc vous rendre en entretien en emportant uniquement votre tablette pour compléter la fiche d'entretien ! Pratique !
## Pour le tester
Une instance de test est disponible [ICI](https://demo.am-networks.fr/RechercheEmploi) ! À vous d'étudier l'outil et de vous amuser !
(Mais pensez à préparer vos entretiens quand même !)
Bonne utilisation !

116
ajoutcontact.php Normal file
View File

@ -0,0 +1,116 @@
<html>
<head>
<title>Ajouter un contact</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
</head>
<body>
<h1>Ajouter un contact</h1>
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
} else {
$prenom = $_SESSION['first_name'];
$nom = $_SESSION['last_name'];
$profession = $_SESSION['profession'];
$idsession = $_SESSION['ID'];
}
include_once 'class/sqlconnect.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $dbusername, $dbpassword);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT ID FROM users WHERE username = :username");
$stmt->bindParam(':username', $_SESSION['username']);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$idsession = $result['ID'];
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
include 'class/sqlconnect.php';
if(isset($_POST['submit'])){
$prenom = $_POST['Prenom'];
$nom = $_POST['Nom'];
$poste = $_POST['Poste'];
$poste = htmlentities($poste);
$poste = str_replace("'", "\'", $poste);
$mobile = $_POST['Mobile'];
$entreprise = $_POST['IDEntreprise'];
$mail = $_POST['Mail'];
$sql = "INSERT INTO Contact (Prenom, Nom, Poste, Mobile, IDEntreprise, IDUser, Mail) VALUES ('$prenom', '$nom', '$poste', '$mobile', '$entreprise', '$idsession', '$mail')";
mysqli_query($conn, $sql);
}
?>
<a href="index.php">Revenir à l'accueil</a><br><br>
<form method="post" action="">
<table>
<tr>
<td>
<label for="Prenom">Prénom :</label>
</td>
<td>
<input type="text" name="Prenom" required>
</td>
</tr>
<tr>
<td>
<label for="Nom">Nom :</label>
</td>
<td>
<input type="text" name="Nom" required>
</td>
</tr>
<tr>
<td>
<label for="Poste">Poste occupé :</label>
</td>
<td>
<input type="text" name="Poste" >
</td>
</tr>
<tr>
<td>
<label for="Mobile">Numéro de mobile (format 0102030405) :</label>
</td>
<td>
<input type="text" name="Mobile" pattern="0[0-9]{9}" >
</td>
</tr>
<tr>
<td>
<label for="Mail">Adresse e-mail :</label>
</td>
<td>
<input type="email" name="Mail" >
</td>
</tr>
<tr>
<td>
<label for="Entreprise">Entreprise :</label>
</td>
<td>
<select name="IDEntreprise">
<?php
$sql = "SELECT ID, NomSociete FROM Entreprise WHERE UserID =" . $idsession . ";";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($result)){
echo "<option value='" . $row['ID'] . "'>" . $row['NomSociete'] . "</option>";
}
?>
</select>
</td>
</tr>
</table>
<br>
<input type="submit" name="submit" value="Ajouter">
</form>
</body>
</html>

89
ajoutentreprise.php Normal file
View File

@ -0,0 +1,89 @@
<html>
<head>
<title>Ajouter une entreprise</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
</head>
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
}
if (isset($_SESSION['username'])) {
$prenom = $_SESSION['first_name'];
$nom = $_SESSION['last_name'];
$profession = $_SESSION['profession'];
$idsession = $_SESSION['ID'];
include_once 'class/sqlconnect.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $dbusername, $dbpassword);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT ID FROM users WHERE username = :username");
$stmt->bindParam(':username', $_SESSION['username']);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$idsession = $result['ID'];
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
}
include("class/sqlconnect.php");
?>
<body>
<a href="index.php">Revenir à l'accueil</a><br><br>
<h1>Ajouter une entreprise</h1>
<form action="ajoutentreprise.php" method="post">
<table>
<tr>
<td>
<label for="NomSociete">Nom de la société :</label>
</td>
<td>
<input type="text" id="NomSociete" name="NomSociete" required>
</td>
</tr>
<tr>
<td>
<label for="Adresse">Adresse postale de la société : (facultatif)</label>
</td>
<td>
<input type="text" id="Adresse" name="Adresse">
</td>
</tr>
<tr>
<td>
<label for="NumeroTel">Numéro de téléphone de la société : (format 0102030405)</label>
</td>
<td>
<input type="text" id="NumeroTel" name="NumeroTel" pattern="0[0-9]{9}">
</td>
</tr>
</table>
<br>
<input type="submit" name="submit" value="Ajouter">
</form>
<?php
if(isset($_POST["submit"])) {
$NomSociete = $_POST["NomSociete"];
$Adresse = $_POST["Adresse"];
$Adresse = htmlentities($Adresse);
$Adresse = str_replace("'", "\'", $Adresse);
$NumeroTel = $_POST["NumeroTel"];
$StatutEntretien = "2";
$sql = "INSERT INTO Entreprise (NomSociete, Adresse, NumeroTel, StatutEntretien, UserID)
VALUES ('$NomSociete', '$Adresse', '$NumeroTel', '$StatutEntretien', '$idsession')";
$result = mysqli_query($conn, $sql);
if($result) {
echo "La nouvelle entreprise a été ajoutée avec succès.";
} else {
echo "Erreur : " . $sql . "<br>" . mysqli_error($conn);
}
}
?>

View File

@ -0,0 +1,20 @@
<?php
if(isset($_POST['submit'])) {
$id = $_GET['ID'];
$prenom = $_POST['prenom'];
$nom = $_POST['nom'];
$poste = $_POST['poste'];
$entreprise = $_POST['entreprise'];
$mobile = $_POST['mobile'];
$sql = "UPDATE Contact SET Prenom='$prenom', Nom='$nom', Poste='$poste', IDEntreprise='$entreprise', Mobile='$mobile' WHERE ID='$id'";
if ($conn->query($sql) === TRUE) {
echo "Le contact a été modifié avec succès";
echo $sql;
// header("refresh:1; url=infocontact.php?ID=".$id);
} else {
echo "Erreur lors de la modification : " . $conn->error;
}
}
?>

13
class/sqlconnect.php Normal file
View File

@ -0,0 +1,13 @@
<?php
$serveur = "localhost";
$login = "rechercheemploi";
$motDePasse = "rechercheemploi";
$base = "rechercheemploi";
$conn = new mysqli($serveur, $login, $motDePasse, $base);
if ($conn->connect_error) {
die("La connexion à la base de données a échoué : " . $conn->connect_error);
}
?>

155
creationentretienphy.php Normal file
View File

@ -0,0 +1,155 @@
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
}
?>
<?php
include_once 'class/sqlconnect.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $dbusername, $dbpassword);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT ID FROM users WHERE username = :username");
$stmt->bindParam(':username', $_SESSION['username']);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$idsession = $result['ID'];
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
include 'class/sqlconnect.php';
$query = "SELECT ID, NomSociete, Adresse FROM Entreprise WHERE UserID =" . $idsession . ";";
$result = mysqli_query($conn, $query);
$options = "";
while ($row = mysqli_fetch_assoc($result)) {
$options .= "<option value={$row['ID']}>{$row['NomSociete']} - {$row['Adresse']}</option>";
}
$query = "SELECT ID, Prenom, Nom, Mobile, IDEntreprise FROM Contact WHERE IDUser =" . $idsession . ";";
$result = mysqli_query($conn, $query);
$options2 = "";
while ($row = mysqli_fetch_assoc($result)) {
$query2 = "SELECT NomSociete FROM Entreprise WHERE ID = {$row['IDEntreprise']}";
$result2 = mysqli_query($conn, $query2);
$row2 = mysqli_fetch_assoc($result2);
$options2 .= "<option value={$row['ID']}>{$row['Prenom']} {$row['Nom']} ({$row['Mobile']}) - {$row2['NomSociete']}</option>";
}
?>
<!DOCTYPE html>
<html>
<head>
<link href="custom.css" rel="stylesheet">
<title>Création d'un entretien physique/visio</title>
<meta name="viewport" content="width=device-width">
</head>
<body>
<a href="index.php">Revenir à l'accueil</a><br><br>
<h1>Création d'un entretien physique/visio</h1>
<form action="creationentretienphy.php" method="post">
<table style='border:1px solid #000;'>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="idEntreprise">Nom de l'entreprise :</label>
</td>
<td style='border:1px solid #000;'>
<select id="idEntreprise" name="idEntreprise">
<?php echo $options; ?>
</select>
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="idContact">Contact de l'entreprise :</label>
</td>
<td style='border:1px solid #000;'>
<select id="idContact" name="idContact">
<?php echo $options2; ?>
</select>
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="dateHeurePrevueEntretien">Date/heure prévue de l'entretien :</label>
</td>
<td style='border:1px solid #000;'>
<input type="datetime-local" id="dateHeurePrevueEntretien" name="dateHeurePrevueEntretien">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="dateHeureEffectiveEntretien">Date/heure effective de l'entretien :</label>
</td>
<td style='border:1px solid #000;'>
<input type="datetime-local" id="dateHeureEffectiveEntretien" name="dateHeureEffectiveEntretien">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="ponctualiteEntreprise">Ponctualité de l'entreprise :</label>
</td>
<td style='border:1px solid #000;'>
<input type="checkbox" id="ponctualiteEntreprise" value="1" name="ponctualiteEntreprise">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="remuneration">Rémunération proposée:</label>
</td>
<td style='border:1px solid #000;'>
<input type="text" id="remuneration" name="remuneration" value="<?php echo $remuneration; ?>" >
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="poste">Poste proposé:</label>
</td>
<td style='border:1px solid #000;'>
<input type="text" id="poste" name="poste" value="<?php echo $poste; ?>" >
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="suivi">Déroulement et suivi Entretien:</label>
</td>
<td style='border:1px solid #000;'>
<textarea id="suivi" name="suivi" value="<?php echo $suivi; ?>" rows="20" cols="150"></textarea>
</td>
</tr>
</table>
<br>
<input type="submit" value="Enregistrer" name="submit">
</form>
<?php
if (isset($_POST['submit'])) {
$idEntreprise = $_POST['idEntreprise'];
$idContact = $_POST['idContact'];
$dateHeurePrevueEntretien = $_POST['dateHeurePrevueEntretien'];
$dateHeureEffectiveEntretien = $_POST['dateHeureEffectiveEntretien'];
$ponctualiteEntreprise = $_POST['ponctualiteEntreprise'];
$remuneration = $_POST['remuneration'];
$poste = $_POST['poste'];
$poste = str_replace("'", "\'", $poste);
$suivi = $_POST['suivi'];
$suivi = htmlentities($suivi);
$suivi = str_replace("'", "\'", $suivi);
$sql = "INSERT INTO EntretienPresentiel (IDEntreprise, IDContact, DateHeurePrevueEntretien, DateHeureEffectiveEntretien, PonctualiteEntreprise, Remuneration, PosteAborde, SuiviEntretien)
VALUES ('$idEntreprise', '$idContact', '$dateHeurePrevueEntretien', '$dateHeureEffectiveEntretien', '$ponctualiteEntreprise', '$remuneration', '$poste', '$suivi')";
if ($conn->query($sql) === TRUE) {
echo "L'entretien présentiel a été enregistré avec succès.";
header("refresh:1; url=index.php");
} else {
echo "Erreur lors de l'enregistrement de l'entretien présentiel: " . $conn->error;
}
}
$conn->close();
?>
</body>
</html>

155
creationentretientel.php Normal file
View File

@ -0,0 +1,155 @@
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
}
?>
<?php
include_once 'class/sqlconnect.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $dbusername, $dbpassword);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT ID FROM users WHERE username = :username");
$stmt->bindParam(':username', $_SESSION['username']);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$idsession = $result['ID'];
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
include 'class/sqlconnect.php';
$query = "SELECT ID, NomSociete FROM Entreprise WHERE UserID =" . $idsession . ";";
$result = mysqli_query($conn, $query);
$options = "";
while ($row = mysqli_fetch_assoc($result)) {
$options .= "<option value={$row['ID']}>{$row['NomSociete']}</option>";
}
$query = "SELECT ID, Prenom, Nom, Mobile, IDEntreprise FROM Contact WHERE IDUser =" . $idsession . ";";
$result = mysqli_query($conn, $query);
$options2 = "";
while ($row = mysqli_fetch_assoc($result)) {
$query2 = "SELECT NomSociete FROM Entreprise WHERE ID = {$row['IDEntreprise']}";
$result2 = mysqli_query($conn, $query2);
$row2 = mysqli_fetch_assoc($result2);
$options2 .= "<option value={$row['ID']}>{$row['Prenom']} {$row['Nom']} ({$row['Mobile']}) - {$row2['NomSociete']}</option>";
}
?>
<!DOCTYPE html>
<html>
<head>
<link href="custom.css" rel="stylesheet">
<title>Création d'un entretien téléphonique</title>
<meta name="viewport" content="width=device-width">
</head>
<body>
<a href="index.php">Revenir à l'accueil</a><br><br>
<h1>Création d'un entretien téléphonique</h1>
<form action="creationentretientel.php" method="post">
<table>
<tr>
<td>
<label for="idEntreprise">Nom de l'entreprise :</label>
</td>
<td>
<select id="idEntreprise" name="idEntreprise">
<?php echo $options; ?>
</select>
</td>
</tr>
<tr>
<td>
<label for="idContact">Contact de l'entreprise :</label>
</td>
<td>
<select id="idContact" name="idContact">
<?php echo $options2; ?>
</select>
</td>
</tr>
<tr>
<td>
<label for="dateHeurePrevueEntretien">Date/heure prévue de l'entretien :</label>
</td>
<td>
<input type="datetime-local" id="dateHeurePrevueEntretien" name="dateHeurePrevueEntretien">
</td>
</tr>
<tr>
<td>
<label for="dateHeureEffectiveEntretien">Date/heure effective de l'entretien :</label>
</td>
<td>
<input type="datetime-local" id="dateHeureEffectiveEntretien" name="dateHeureEffectiveEntretien">
</td>
</tr>
<tr>
<td>
<label for="ponctualiteEntreprise">Ponctualité de l'entreprise :</label>
</td>
<td>
<input type="checkbox" value="1" id="ponctualiteEntreprise" name="ponctualiteEntreprise">
</td>
</tr>
<tr>
<td>
<label for="remuneration">Rémunération proposée:</label>
</td>
<td>
<input type="text" id="remuneration" name="remuneration" value="<?php echo $remuneration; ?>" >
</td>
</tr>
<tr>
<td>
<label for="poste">Poste proposé:</label>
</td>
<td>
<input type="text" id="poste" name="poste" value="<?php echo $poste; ?>" >
</td>
</tr>
<tr>
<td>
<label for="suivi">Déroulement et suivi Entretien :</label>
</td>
<td>
<textarea id="suivi" name="suivi" value="<?php echo $suivi; ?>" rows="20" cols="150"></textarea>
</td>
</tr>
</table>
<br>
<input type="submit" value="Enregistrer" name="submit">
</form>
<?php
if (isset($_POST['submit'])) {
$idEntreprise = $_POST['idEntreprise'];
$idContact = $_POST['idContact'];
$dateHeurePrevueEntretien = $_POST['dateHeurePrevueEntretien'];
$dateHeureEffectiveEntretien = $_POST['dateHeureEffectiveEntretien'];
$ponctualiteEntreprise = $_POST['ponctualiteEntreprise'];
$remuneration = $_POST['remuneration'];
$poste = $_POST['poste'];
$poste = str_replace("'", "\'", $poste);
$suivi = $_POST['suivi'];
$suivi = htmlentities($suivi);
$suivi = str_replace("'", "\'", $suivi);
$sql = "INSERT INTO EntretienTelephonique (IDEntreprise, IDContact, DateHeurePrevueEntretien, DateHeureEffectiveEntretien, PonctualiteEntreprise, Remuneration, PosteAborde, SuiviEntretien)
VALUES ('$idEntreprise', '$idContact', '$dateHeurePrevueEntretien', '$dateHeureEffectiveEntretien', '$ponctualiteEntreprise', '$remuneration', '$poste', '$suivi')";
if ($conn->query($sql) === TRUE) {
echo "L'entretien téléphonique a été enregistré avec succès.";
header("refresh:1; url=index.php");
} else {
echo "Erreur lors de l'enregistrement de l'entretien téléphonique: " . $conn->error;
}
}
$conn->close();
?>
</body>
</html>

72
custom.css Normal file
View File

@ -0,0 +1,72 @@
/* Importation de la police Poppins depuis Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Ubuntu&display=swap');
/* Définition de la couleur bleue pour les tableaux et le fond */
table {
border-collapse: collapse;
background-color: #003153;
color: #FFFFFF;
border: 1px solid #FFF;
font-family: 'Poppins', sans-serif;
}
td {
border: 1px solid;
border-color: rgb(255, 255, 255);
}
tr {
border: 1px solid;
border-color: rgb(255, 255, 255);
}
th {
border: 1px solid;
border-color: rgb(255, 255, 255);
}
body {
background-color: #003153; /* Couleur fond */
font-family: 'Poppins', sans-serif; /* Police Poppins */
color: #ABCFED; /* Couleur texte */
}
a {
/* Propriétés de base des liens */
color: #4A9FE8; /* Couleur du texte */
text-decoration: none; /* Supprime la surbrillance */
font-family: 'Poppins', sans-serif; /* Change la police */
}
footer {
position: absolute;
bottom: 10;
width: 100%;
}
a:hover {
/* Propriétés lorsque la souris est sur le lien */
color: #FFFF00; /* Change la couleur du texte */
text-decoration: underline; /* Ajoute une soulignement */
background-color: #003153; /* Change la couleur de fond */
}
/* Définition de la couleur jaune pour le texte */
/* .table th, .table td {
color: #FFFF00;
text-align: left;
padding: 8px;
} */
/* Ajout d'un peu d'espacement entre les cellules
.table td, .table th, .table tr {
border: 1px solid #000;
padding: 8px;
} */
/* Ajout d'un peu de relief aux cellules survolées
.table tr:hover {background-color: #f5f5f5;} */
/* Alignement du texte dans les cellules
.table th, .table td {
text-align: left;
padding: 8px;
} */

112
index.php Normal file
View File

@ -0,0 +1,112 @@
<html>
<head>
<title>Utilitaire de recherche d'emploi - Liste des entreprises</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
} else {
$prenom = $_SESSION['first_name'];
$nom = $_SESSION['last_name'];
$profession = $_SESSION['profession'];
$idsession = $_SESSION['ID'];
}
include_once 'class/sqlconnect.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $dbusername, $dbpassword);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT first_name, last_name, profession, ID FROM users WHERE username = :username");
$stmt->bindParam(':username', $_SESSION['username']);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$prenom = $result['first_name'];
$nom = $result['last_name'];
$profession = $result['profession'];
$idsession = $result['ID'];
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
?>
</head>
<body>
<?php
// Récupérer l'heure actuelle
$time = date("H");
// Créer un message à afficher en fonction de l'heure
if ($time < "18") {
$greet = "Bonjour";
} else {
$greet = "Bonsoir";
}
?>
<fieldset>
<legend><font size="6"><?php echo $greet . ", " . $result['first_name'] . " !" ?></font></legend>
<font size="5">Poste recherché : <?php echo $profession ?></font><br>
<br><font size="2"><a href="logout.php">Se déconnecter</a> - <a href="modifprofil.php">Modifier votre profil</a> - <a href="https://github.com/alexandremottier/PHP-RechercheEmploi" target="_blank">Développé avec amour par Aiden ♥️</a></font>
</fieldset><br>
<font size="5">Votre recherche d'emploi - Liste de vos entreprises</font>
<p>Ci-dessous se trouve la liste de vos entreprises ainsi que le suivi de vos échanges (contacts, entretiens, statuts de vos candidatures).
<br>Vous pouvez ajouter un nombre illimité d'entreprises, mais vous ne pourrez pas en supprimer (en raison des dépendances avec les entretiens et les contacts).
<br>En cas de problème, vous pouvez contacter l'<a href="mailto:contact@am-networks.fr">équipe support</a>.
<br>En cas de bug applicatif, vous pouvez créer une <a href="https://github.com/alexandremottier/PHP-RechercheEmploi/issues/new" target="_blank">issue sur GitHub</a>.
</p>
<br>
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
include("class/sqlconnect.php");
// Récupère les données de la table Entreprise
$sql = "SELECT Entreprise.ID AS EntrepriseID, Entreprise.NomSociete, Contact.ID, Contact.Prenom, Contact.Nom, Contact.Mobile, Entreprise.Adresse, StatutEntretien.Statut
FROM Entreprise
LEFT JOIN Contact ON Entreprise.ID = Contact.IDEntreprise
LEFT JOIN StatutEntretien ON Entreprise.StatutEntretien = StatutEntretien.ID
WHERE Entreprise.UserID = '" . $idsession . "'";
$result = mysqli_query($conn, $sql);
if (!$result) {
die("Impossible de récupérer les données: " . mysqli_error($conn));
}
echo "<table>";
echo "<tr><th>Société</th><th>Contact</th><th>Adresse</th><th>Statut</th><th>Entretiens</th></tr>";
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
if (!empty($row['Mobile'])) {
$mobile = strval($row["Mobile"]);
$mobile = substr($mobile, 0, 2) . "." . substr($mobile, 2, 2) . "." . substr($mobile, 4, 2) . "." . substr($mobile, 6, 2) . "." . substr($mobile, 8, 2);
$mobile = '&nbsp;<br>(' . $mobile . ')';
} else {
$mobile = '';
}
echo "<tr>";
echo "<td>" . "<a href='modifentreprise.php?ID=" . $row['EntrepriseID'] . "'>&nbsp;" . $row['NomSociete'] . "&nbsp;</a></td>";
echo "<td>" . "<a href='infocontact.php?ID=" . $row['ID'] . "'>&nbsp;" . $row['Prenom'] . ' ' . $row['Nom'] . ' ' . $mobile . "</a></td>";
echo "<td>&nbsp;" . $row['Adresse'] . "&nbsp;</td>";
echo "<td>&nbsp;" . $row['Statut'] . "&nbsp;</td>";
echo "<td>" . "<a href='infoentretien.php?ID=" . $row['ID'] . "'>&nbsp;Afficher les entretiens&nbsp;</a></td>";
echo '</tr>';
}
echo "</table>";
mysqli_close($conn);
?>
<br>
<font size="3">
<a href="ajoutentreprise.php">Créer une entreprise</a>&nbsp;-&nbsp;
<a href="ajoutcontact.php">Créer un contact</a>&nbsp;-&nbsp;
<a href="creationentretientel.php">Créer un entretien téléphonique</a>&nbsp;-&nbsp;
<a href="creationentretienphy.php">Créer un entretien présentiel ou visio</a>
</font>
<br><br>
</body>
</html>

42
infocontact.php Normal file
View File

@ -0,0 +1,42 @@
<html>
<head>
<title>Afficher un contact</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
}
?>
</head>
<body>
<a href="index.php">Revenir à l'accueil</a><br><br>
<h1>Afficher un contact</h1>
<?php
include('class/sqlconnect.php');
$id = $_GET['ID'];
$sql = "SELECT Contact.Prenom, Contact.Nom, Contact.Poste, Entreprise.NomSociete, Contact.Mobile, Contact.Mail FROM Contact JOIN Entreprise ON Contact.IDEntreprise = Entreprise.ID WHERE Contact.ID =$id";
$result = mysqli_query($conn, $sql);
echo "<table style='border:1px solid #000;'>";
while($row = $result->fetch_assoc()) {
$mobile = strval($row["Mobile"]);
$mobile2 = substr($mobile, 0, 2) . "." . substr($mobile, 2, 2) . "." . substr($mobile, 4, 2) . "." . substr($mobile, 6, 2) . "." . substr($mobile, 8, 2);
echo "<tr><td style='border:1px solid #000;'>Prénom :</td><td style='border:1px solid #000;'>" . $row["Prenom"] . "</td></tr>";
echo "<tr><td style='border:1px solid #000;'>Nom :</td><td style='border:1px solid #000;'>" . $row["Nom"] . "</td></tr>";
echo "<tr><td style='border:1px solid #000;'>Poste :</td><td style='border:1px solid #000;'>" . $row["Poste"] . "</td></tr>";
echo "<tr><td style='border:1px solid #000;'>Entreprise :</td><td style='border:1px solid #000;'>" . $row["NomSociete"] . "</td></tr>";
echo "<tr><td style='border:1px solid #000;'>Numéro de mobile :</td><td style='border:1px solid #000;'><a href='tel:" . $row["Mobile"] . "'>" . $mobile2 . "</a></td></tr>";
echo "<tr><td style='border:1px solid #000;'>Adresse e-mail :</td><td style='border:1px solid #000;'><a href='mailto:" . $row["Mail"] . "'>" . $row["Mail"] . "</a></td></tr>";
};
$conn->close();
?>
</table>
<br><br>
<button onclick="window.location.href='modifcontact.php?ID=<?php echo $id ?>'" class="button">Modifier le contact</button>

111
infoentretien.php Normal file
View File

@ -0,0 +1,111 @@
<html>
<head>
<title>Afficher les entretiens</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
}
?>
</head>
<?php
include('class/sqlconnect.php');
$id = $_GET['ID'];
$sql = "SELECT NomSociete FROM Entreprise JOIN Contact ON Entreprise.ID = Contact.IDEntreprise WHERE Contact.ID =$id";
$result = mysqli_query($conn, $sql);
if ($result) {
$row = mysqli_fetch_assoc($result);
}
$conn->close();
include('class/sqlconnect.php');
$sql2 = "SELECT Prenom, Nom FROM Contact WHERE Contact.ID =$id";
$result2 = mysqli_query($conn, $sql2);
if ($result2) {
$row2 = mysqli_fetch_assoc($result2);
$conn->close();
}
?>
<body>
<a href="index.php">Revenir à l'accueil</a><br><br>
<fieldset>
<legend><font size="6">Afficher les entretiens</font></legend>
<font size="5">Société <?php echo $row['NomSociete'] ?></font><br>
<font size="5">Votre interlocuteur(trice) : <?php echo $row2['Prenom'] . " " . $row2['Nom'] ?></font>
</fieldset>
<?php
include('class/sqlconnect.php');
$id = $_GET['ID'];
?>
<h2>Entretien téléphonique</h2>
<?php
$sql = "SELECT EntretienTelephonique.DateHeurePrevueEntretien, EntretienTelephonique.DateHeureEffectiveEntretien, EntretienTelephonique.PonctualiteEntreprise, EntretienTelephonique.Remuneration, EntretienTelephonique.PosteAborde, EntretienTelephonique.SuiviEntretien FROM EntretienTelephonique JOIN Contact ON EntretienTelephonique.IDContact = Contact.ID WHERE Contact.ID =$id";
$result = mysqli_query($conn, $sql);
echo "<table>";
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$suivi = $row['SuiviEntretien'];
$suivi = html_entity_decode($suivi);
$suivi = nl2br($suivi);
$newdatepre = date("d/m/Y H:i", strtotime($row["DateHeurePrevueEntretien"]));
$newdateeff = date("d/m/Y H:i", strtotime($row["DateHeureEffectiveEntretien"]));
if ($row["PonctualiteEntreprise"] == 1) {
$ponctualite = "OUI";
} else {
$ponctualite = "NON";
};
echo "<tr><td>&nbsp; Date/heure prévue entretien &nbsp;</td><td>&nbsp; " . $newdatepre . " &nbsp;</td></tr>";
echo "<tr><td>&nbsp; Date/heure effective entretien &nbsp;</td><td> &nbsp;" . $newdateeff . " &nbsp;</td></tr>";
echo "<tr><td>&nbsp; Entreprise ponctuelle &nbsp;</td><td>&nbsp; " . $ponctualite . " &nbsp;</td></tr>";
echo "<tr><td>&nbsp; Rémunération abordée &nbsp;</td><td>&nbsp; " . $row["Remuneration"] . " &nbsp;</td></tr>";
echo "<tr><td>&nbsp; Poste abordé &nbsp;</td><td>&nbsp; " . $row["PosteAborde"] . " &nbsp;</td></tr>";
echo "<tr><td>&nbsp; Déroulement et suivi entretien &nbsp;</td><td>" . $suivi . "</td></tr>";
echo "<br><a href='modifentretientel.php?ID=" . $id . "'>Modifier l'entretien</a>";
};
} else {
echo "<tr colspan='4'><td>&nbsp; Pas de résultat &nbsp;</td></tr>";
}
$conn->close();
?>
</table>
<br>
<h2>Entretien présentiel/visio</h2>
<?php
include('class/sqlconnect.php');
$id = $_GET['ID'];
$sql = "SELECT EntretienPresentiel.DateHeurePrevueEntretien, EntretienPresentiel.DateHeureEffectiveEntretien, EntretienPresentiel.PonctualiteEntreprise, EntretienPresentiel.Remuneration, EntretienPresentiel.PosteAborde, EntretienPresentiel.SuiviEntretien FROM EntretienPresentiel JOIN Contact ON EntretienPresentiel.IDContact = Contact.ID WHERE Contact.ID =$id";
$result = mysqli_query($conn, $sql);
echo "<table>";
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$suivi = $row['SuiviEntretien'];
$suivi = html_entity_decode($suivi);
$suivi = nl2br($suivi);
$newdatepre = date("d/m/Y H:i", strtotime($row["DateHeurePrevueEntretien"]));
$newdateeff = date("d/m/Y H:i", strtotime($row["DateHeureEffectiveEntretien"]));
if ($row["PonctualiteEntreprise"] == 1) {
$ponctualite = "OUI";
} else {
$ponctualite = "NON";
};
echo "<tr><td>&nbsp; Date/heure prévue entretien &nbsp;</td><td>&nbsp; " . $newdatepre . " &nbsp;</td></tr>";
echo "<tr><td>&nbsp; Date/heure effective entretien &nbsp;</td><td>&nbsp; " . $newdateeff . " &nbsp;</td></tr>";
echo "<tr><td>&nbsp; Entreprise ponctuelle &nbsp;</td><td>&nbsp; " . $ponctualite . " &nbsp;</td></tr>";
echo "<tr><td>&nbsp; Rémunération abordée &nbsp;</td><td>&nbsp; " . $row["Remuneration"] . " &nbsp;</td></tr>";
echo "<tr><td>&nbsp; Poste abordé &nbsp;</td><td>&nbsp; " . $row["PosteAborde"] . " &nbsp;</td></tr>";
echo "<tr><td>&nbsp; Déroulement et suivi entretien &nbsp;</td><td>" . $suivi . "</td></tr>";
echo "<br><a href='modifentretienphy.php?ID=" . $id . "'>Modifier l'entretien</a>";
};
} else {
echo "<tr colspan='4'><td>&nbsp; Pas de résultat &nbsp;</td></tr>";
}
$conn->close();
?>
</table>
</body>
</html>

36
login.php Normal file
View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<title>Gestionnaire de recherche d'emploi - Connexion</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
</head>
<body>
<h1>Gestionnaire de recherche d'emploi - Connexion</h1>
<h2>Contrôle d'identité ! Vous devez vous connecter pour accéder à cette page !</h2>
<form action="verify.php" method="post">
<table>
<tr style='border:0px;'>
<td style='border:0px;'>
<label for="username">&nbsp;Nom d'utilisateur :</label>
</td>
<td style='border:0px;'>
<input type="text" name="username" required>
</td>
</tr>
<tr style='border:0px;'>
<td style='border:0px;'>
<label for="password">&nbsp;Mot de passe :</label>
</td>
<td style='border:0px;'>
<input type="password" name="password" required>
</td>
</tr>
</table>
<br>
<input type="submit" value="Se connecter">
</form><br><br>
Si vous n'avez pas encore de compte, vous pouvez <a href="register.php">en créer un gratuitement</a> !<br>
Si vous avez perdu vos identifiants, vous pouvez <a href="mailto:support@am-networks.fr">envoyer un mail à l'équipe support</a> en indiquant votre identifiant ainsi que vos noms et prénoms !
</body>
</html>

5
logout.php Normal file
View File

@ -0,0 +1,5 @@
<?php
session_start();
session_destroy();
header("Location: login.php");
?>

114
modifcontact.php Normal file
View File

@ -0,0 +1,114 @@
<html>
<head>
<title>Modifier un contact</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
}
?>
</head>
<body>
<h1>Modifier un contact</h1>
<?php
include('class/sqlconnect.php');
$id = $_GET['ID'];
$sql = "SELECT * FROM Contact WHERE ID = '$id'";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
?>
<a href="index.php">Revenir à l'accueil</a><br><br>
<form action="modifcontact.php" method="post">
<table>
<tr>
<td>
<input type="hidden" name="ID" value="<?php echo $id; ?>">
<label>Prénom :</label>
</td>
<td>
<input type="text" name="Prenom" value="<?php echo $row['Prenom']; ?>">
</td>
</tr>
<tr>
<td>
<label>Nom :</label>
</td>
<td>
<input type="text" name="Nom" value="<?php echo $row['Nom']; ?>">
</td>
<tr>
<td>
<label>Poste :</label>
</td>
<td>
<input type="text" name="Poste" value="<?php echo $row['Poste']; ?>">
</td>
</tr>
<tr>
<td>
<label>Entreprise :</label>
</td>
<td>
<select name="IDEntreprise">
<?php
$sql = "SELECT * FROM Entreprise";
$result = $conn->query($sql);
while ($entreprise = $result->fetch_assoc()) {
if ($entreprise['ID'] == $row['IDEntreprise']) {
echo "<option value='" . $entreprise['ID'] . "' selected>" . $entreprise['NomSociete'] . "</option>";
} else {
echo "<option value='" . $entreprise['ID'] . "'>" . $entreprise['NomSociete'] . "</option>";
}
}
?>
</select>
</td>
</tr>
<tr>
<td>
<label>Numéro de mobile (format 0102030405) :</label>
</td>
<td>
<input type="text" name="Mobile" pattern="0[0-9]{9}" value="<?php echo $row['Mobile']; ?>">
</td>
</tr>
<tr>
<td>
<label>Adresse e-mail :</label>
</td>
<td>
<input type="email" name="Mail" value="<?php echo $row['Mail']; ?>">
</td>
</tr>
</table>
<br>
<input type="submit" name="submit" value="Enregistrer les modifications">
</form>
<?php
if(isset($_POST['submit'])) {
$id = $_POST['ID'];
$prenom = $_POST['Prenom'];
$nom = $_POST['Nom'];
$poste = $_POST['Poste'];
$poste = htmlentities($poste);
$poste = str_replace("'", "\'", $poste);
$entreprise = $_POST['IDEntreprise'];
$mobile = $_POST['Mobile'];
$mail = $_POST['Mail'];
$sql = "UPDATE Contact SET Prenom='$prenom', Nom='$nom', Poste='$poste', IDEntreprise='$entreprise', Mobile='$mobile', Mail='$mail' WHERE ID='$id'";
if ($conn->query($sql) === TRUE) {
echo "Le contact a été modifié avec succès";
header("refresh:1; url=infocontact.php?ID=".$id);
} else {
echo "Erreur lors de la modification : " . $conn->error;
}
}
?>

100
modifentreprise.php Normal file
View File

@ -0,0 +1,100 @@
<html>
<head>
<title>Modifier une entreprise</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
}
?>
</head>
<body>
<fieldset>
<legend><font size="6">Modifier une entreprise</font></legend>
<?php
include('class/sqlconnect.php');
$id = $_GET['ID'];
$sql = "SELECT * FROM Entreprise WHERE ID = '$id'";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$entreprise_id = $row['StatutEntretien'];
?>
<font size="5">Société <?php echo $row['NomSociete'] ?></font>
</fieldset><br>
<a href="index.php">Revenir à l'accueil</a><br><br>
<form action="modifentreprise.php" method="post">
<table>
<tr>
<td>
<input type="hidden" name="ID" value="<?php echo $id; ?>">
<label>Nom de la société :</label>
</td>
<td>
<input type="text" name="NomSociete" value="<?php echo $row['NomSociete']; ?>">
</td>
</tr>
<tr>
<td>
<label>Adresse :</label>
</td>
<td>
<input type="text" name="Adresse" value="<?php echo $row['Adresse']; ?>">
</td>
</tr>
<tr>
<td>
<label>Numéro de téléphone (format 0102030405):</label>
</td>
<td>
<input type="text" name="NumeroTel" pattern="0[0-9]{9}" value="<?php echo $row['NumeroTel']; ?>">
</td>
</tr>
<tr>
<td>
<label>Statut :</label>
</td>
<td>
<select name="statut" id="statut">
<?php
include('class/sqlconnect.php');
$sql = "SELECT StatutEntretien.ID, StatutEntretien.Statut FROM StatutEntretien";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($result)){
if ($row['ID'] == $entreprise_id) {
echo "<option value='" . $row['ID'] . "' selected>" . $row['Statut'] . "</option>";
} else {
echo "<option value='" . $row['ID'] . "'>" . $row['Statut'] . "</option>";
}
}
?>
</select>
</table>
<br>
<input type="submit" name="submit" value="Enregistrer les modifications">
</form>
<?php
if(isset($_POST['submit'])) {
$id = $_POST['ID'];
$nomsociete = $_POST['NomSociete'];
$adresse = $_POST['Adresse'];
$adresse = htmlentities($adresse);
$adresse = str_replace("'", "\'", $adresse);
$numerotel = $_POST['NumeroTel'];
$statut = $_POST['statut'];
$sql = "UPDATE Entreprise SET NomSociete='$nomsociete', Adresse='$adresse', NumeroTel='$numerotel', StatutEntretien='$statut' WHERE ID='$id'";
if ($conn->query($sql) === TRUE) {
echo "La société a été modifiée avec succès";
header("Location: index.php");
} else {
echo "Erreur lors de la modification : " . $conn->error;
}
}
?>

141
modifentretienphy.php Normal file
View File

@ -0,0 +1,141 @@
<html>
<head>
<title>Modifier un entretien présentiel/visio</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
}
?>
</head>
<?php
include_once 'class/sqlconnect.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $dbusername, $dbpassword);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT ID FROM users WHERE username = :username");
$stmt->bindParam(':username', $_SESSION['username']);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$idsession = $result['ID'];
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
include('class/sqlconnect.php');
$id = $_GET['ID'];
$sql = "SELECT NomSociete FROM Entreprise JOIN Contact ON Entreprise.ID = Contact.IDEntreprise WHERE Contact.ID =$id";
$result = mysqli_query($conn, $sql);
if ($result) {
$row = mysqli_fetch_assoc($result);
}
$conn->close();
include('class/sqlconnect.php');
$sql2 = "SELECT Prenom, Nom FROM Contact WHERE Contact.ID =$id";
$result2 = mysqli_query($conn, $sql2);
if ($result2) {
$row2 = mysqli_fetch_assoc($result2);
$conn->close();
}
?>
<body>
<a href="index.php">Revenir à l'accueil</a><br><br>
<fieldset>
<legend><font size="6">Modifier un entretien présentiel/visio</font></legend>
<font size="5">Société <?php echo $row['NomSociete'] ?></font><br>
<font size="5">Votre interlocuteur(trice) : <?php echo $row2['Prenom'] . " " . $row2['Nom'] ?></font>
</fieldset><br>
<?php
include('class/sqlconnect.php');
$id = $_GET['ID'];
$sql = "SELECT * FROM EntretienPresentiel JOIN Contact ON EntretienPresentiel.IDContact = Contact.ID WHERE Contact.ID = '$id'";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
?>
<form action="modifentretienphy.php" method="post">
<table style='border:1px solid #000;'>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<input type="hidden" name="ID" value="<?php echo $id; ?>">
<label for="DateHeurePrevueEntretien">Date/heure prévue de l'entretien :</label>
</td>
<td style='border:1px solid #000;'>
<input type="datetime-local" id="DateHeurePrevueEntretien" name="DateHeurePrevueEntretien" value="<?php echo $row['DateHeurePrevueEntretien']; ?>">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="DateHeureEffectiveEntretien">Date/heure effective de l'entretien :</label>
</td>
<td style='border:1px solid #000;'>
<input type="datetime-local" id="DateHeureEffectiveEntretien" name="DateHeureEffectiveEntretien" value="<?php echo $row['DateHeureEffectiveEntretien']; ?>">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="PonctualiteEntreprise">Ponctualité de l'entreprise :</label>
</td>
<td style='border:1px solid #000;'>
<input type="checkbox" id="PonctualiteEntreprise" name="PonctualiteEntreprise" value="1" <?php if ($row['PonctualiteEntreprise'] == 1) echo "checked"; ?>>
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="Remuneration">Rémunération proposée:</label>
</td>
<td style='border:1px solid #000;'>
<input type="text" id="Remuneration" name="Remuneration" value="<?php echo $row['Remuneration']; ?>">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="Poste">Poste proposé:</label>
</td>
<td style='border:1px solid #000;'>
<input type="text" id="Poste" name="Poste" value="<?php echo $row['PosteAborde']; ?>">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="Suivi">Déroulement et suivi Entretien :</label>
</td>
<td style='border:1px solid #000;'>
<?php $row['SuiviEntretien'] = str_replace("\'", "'", $row['SuiviEntretien']); ?>
<textarea id="Suivi" name="Suivi" rows="20" cols="150"><?php echo $row['SuiviEntretien']; ?></textarea>
</td>
</tr>
</table>
<br>
<input type="submit" name="submit" value="Enregistrer les modifications">
</form>
<?php
if (isset($_POST['submit'])) {
$id = $_POST['ID'];
$dateHeurePrevueEntretien = $_POST['DateHeurePrevueEntretien'];
$dateHeureEffectiveEntretien = $_POST['DateHeureEffectiveEntretien'];
$ponctualiteEntreprise = $_POST['PonctualiteEntreprise'];
$remuneration = $_POST['Remuneration'];
$poste = $_POST['Poste'];
$poste = str_replace("'", "\'", $poste);
$suivi = $_POST['Suivi'];
$suivi = htmlentities($suivi);
$suivi = str_replace("'", "\'", $suivi);
$sql = "UPDATE EntretienPresentiel SET DateHeurePrevueEntretien='$dateHeurePrevueEntretien', DateHeureEffectiveEntretien='$dateHeureEffectiveEntretien', PonctualiteEntreprise='$ponctualiteEntreprise', Remuneration='$remuneration', PosteAborde='$poste', SuiviEntretien='$suivi' WHERE IDContact='$id'";
if ($conn->query($sql) === TRUE) {
echo "L'entretien a été modifié avec succès";
header("Location: infoentretien.php?ID=" . $id);
} else {
echo "Erreur lors de la modification : " . $conn->error;
}
}
?>

141
modifentretientel.php Normal file
View File

@ -0,0 +1,141 @@
<html>
<head>
<title>Modifier un entretien téléphonique</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
}
?>
</head>
<?php
include_once 'class/sqlconnect.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $dbusername, $dbpassword);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT ID FROM users WHERE username = :username");
$stmt->bindParam(':username', $_SESSION['username']);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$idsession = $result['ID'];
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
include('class/sqlconnect.php');
$id = $_GET['ID'];
$sql = "SELECT NomSociete FROM Entreprise JOIN Contact ON Entreprise.ID = Contact.IDEntreprise WHERE Contact.ID =$id";
$result = mysqli_query($conn, $sql);
if ($result) {
$row = mysqli_fetch_assoc($result);
}
$conn->close();
include('class/sqlconnect.php');
$sql2 = "SELECT Prenom, Nom FROM Contact WHERE Contact.ID =$id";
$result2 = mysqli_query($conn, $sql2);
if ($result2) {
$row2 = mysqli_fetch_assoc($result2);
$conn->close();
}
?>
<body>
<a href="index.php">Revenir à l'accueil</a><br><br>
<fieldset>
<legend><font size="6">Modifier un entretien téléphonique</font></legend>
<font size="5">Société <?php echo $row['NomSociete'] ?></font><br>
<font size="5">Votre interlocuteur(trice) : <?php echo $row2['Prenom'] . " " . $row2['Nom'] ?></font>
</fieldset><br>
<?php
include('class/sqlconnect.php');
$id = $_GET['ID'];
$sql = "SELECT * FROM EntretienTelephonique JOIN Contact ON EntretienTelephonique.IDContact = Contact.ID WHERE Contact.ID = '$id'";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
?>
<form action="modifentretientel.php" method="post">
<table style='border:1px solid #000;'>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<input type="hidden" name="ID" value="<?php echo $id; ?>">
<label for="DateHeurePrevueEntretien">Date/heure prévue de l'entretien :</label>
</td>
<td style='border:1px solid #000;'>
<input type="datetime-local" id="DateHeurePrevueEntretien" name="DateHeurePrevueEntretien" value="<?php echo $row['DateHeurePrevueEntretien']; ?>">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="DateHeureEffectiveEntretien">Date/heure effective de l'entretien :</label>
</td>
<td style='border:1px solid #000;'>
<input type="datetime-local" id="DateHeureEffectiveEntretien" name="DateHeureEffectiveEntretien" value="<?php echo $row['DateHeureEffectiveEntretien']; ?>">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="PonctualiteEntreprise">Ponctualité de l'entreprise :</label>
</td>
<td style='border:1px solid #000;'>
<input type="checkbox" id="PonctualiteEntreprise" name="PonctualiteEntreprise" value="1" <?php if ($row['PonctualiteEntreprise'] == 1) echo "checked"; ?>>
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="Remuneration">Rémunération proposée:</label>
</td>
<td style='border:1px solid #000;'>
<input type="text" id="Remuneration" name="Remuneration" value="<?php echo $row['Remuneration']; ?>">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="Poste">Poste proposé:</label>
</td>
<td style='border:1px solid #000;'>
<input type="text" id="Poste" name="Poste" value="<?php echo $row['PosteAborde']; ?>">
</td>
</tr>
<tr style='border:1px solid #000;'>
<td style='border:1px solid #000;'>
<label for="Suivi">Déroulement et suivi Entretien :</label>
</td>
<td style='border:1px solid #000;'>
<?php $row['SuiviEntretien'] = str_replace("\'", "'", $row['SuiviEntretien']); ?>
<textarea id="Suivi" name="Suivi" rows="20" cols="150"><?php echo $row['SuiviEntretien']; ?></textarea>
</td>
</tr>
</table>
<br>
<input type="submit" name="submit" value="Enregistrer les modifications">
</form>
<?php
if (isset($_POST['submit'])) {
$id = $_POST['ID'];
$dateHeurePrevueEntretien = $_POST['DateHeurePrevueEntretien'];
$dateHeureEffectiveEntretien = $_POST['DateHeureEffectiveEntretien'];
$ponctualiteEntreprise = $_POST['PonctualiteEntreprise'];
$remuneration = $_POST['Remuneration'];
$poste = $_POST['Poste'];
$poste = str_replace("'", "\'", $poste);
$suivi = $_POST['Suivi'];
$suivi = htmlentities($suivi);
$suivi = str_replace("'", "\'", $suivi);
$sql = "UPDATE EntretienTelephonique SET DateHeurePrevueEntretien='$dateHeurePrevueEntretien', DateHeureEffectiveEntretien='$dateHeureEffectiveEntretien', PonctualiteEntreprise='$ponctualiteEntreprise', Remuneration='$remuneration', PosteAborde='$poste', SuiviEntretien='$suivi' WHERE IDContact='$id'";
if ($conn->query($sql) === TRUE) {
echo "L'entretien a été modifié avec succès";
header("Location: infoentretien.php?ID=" . $id);
} else {
echo "Erreur lors de la modification : " . $conn->error;
}
}
?>

101
modifprofil.php Normal file
View File

@ -0,0 +1,101 @@
<html>
<head>
<title>Modifier votre profil</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header("Location: login.php");
exit;
}
?>
</head>
<body>
<h1>Modifier votre profil</h1>
<?php
include_once 'class/sqlconnect.php';
try {
$conn = new PDO("mysql:host=$host;dbname=$dbname", $dbusername, $dbpassword);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT first_name, last_name, profession, ID, password FROM users WHERE username = :username");
$stmt->bindParam(':username', $_SESSION['username']);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
$prenom = $result['first_name'];
$nom = $result['last_name'];
$profession = $result['profession'];
$idsession = $result['ID'];
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>
<a href="index.php">Revenir à l'accueil</a><br><br>
<form action="modifprofil.php" method="post">
<table>
<tr>
<td>
<input type="hidden" name="ID" size="50" value="<?php echo $result['ID']; ?>">
<label>Prénom :</label>
</td>
<td>
<input type="text" name="first_name" size="50" value="<?php echo $result['first_name']; ?>">
</td>
</tr>
<tr>
<td>
<label>Nom :</label>
</td>
<td>
<input type="text" name="last_name" size="50" value="<?php echo $result['last_name']; ?>">
</td>
<tr>
<td>
<label>Profession (renseigner un seul poste) :</label>
</td>
<td>
<input type="text" name="profession" size="50" value="<?php echo $result['profession']; ?>">
</td>
</tr>
<tr>
<td>
<label for="password">Mot de passe<br>(seulement si vous souhaitez le modifier) :</label>
</td>
<td>
<input type="password" name="password" size="50" value="<?php echo $result['password']; ?>">
</td>
</tr>
</table>
<br>
<input type="submit" name="submit" value="Enregistrer les modifications">
</form>
<?php
include_once 'class/sqlconnect.php';
if ($conn->connect_error) {
die("La connexion à la base de données a échoué : " . $conn->connect_error);
}
if(isset($_POST['submit'])) {
$id = $_POST['ID'];
$prenom = $_POST['first_name'];
$nom = $_POST['last_name'];
$profession = $_POST['profession'];
$password = $_POST['password'];
$sql = "UPDATE users SET first_name='$prenom', last_name='$nom', profession='$profession', password='$password' WHERE ID='$id'";
if ($conn->query($sql) === TRUE) {
echo "Votre profil a été modifié avec succès";
header("refresh:1; url=index.php");
} else {
echo "Votre profil a été modifié avec succès";
header("refresh:1; url=index.php");
}
}
?>

111
rechercheemploi.sql Normal file
View File

@ -0,0 +1,111 @@
-- Adminer 4.7.7 MySQL dump
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET NAMES utf8mb4;
DROP DATABASE IF EXISTS `prod_rechercheemploi`;
CREATE DATABASE `prod_rechercheemploi` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */;
USE `prod_rechercheemploi`;
DROP TABLE IF EXISTS `Contact`;
CREATE TABLE `Contact` (
`ID` int(3) NOT NULL AUTO_INCREMENT,
`IDEntreprise` int(5) DEFAULT NULL,
`Prenom` varchar(255) NOT NULL,
`Nom` varchar(255) NOT NULL,
`Poste` varchar(255) DEFAULT NULL,
`Mobile` varchar(10) DEFAULT NULL,
`Mail` varchar(100) DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `IDEntreprise` (`IDEntreprise`),
CONSTRAINT `Contact_ibfk_1` FOREIGN KEY (`IDEntreprise`) REFERENCES `Entreprise` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `Entreprise`;
CREATE TABLE `Entreprise` (
`ID` int(5) NOT NULL AUTO_INCREMENT,
`NomSociete` varchar(255) NOT NULL,
`Contact` int(3) DEFAULT NULL,
`Adresse` varchar(255) DEFAULT NULL,
`NumeroTel` varchar(255) DEFAULT NULL,
`StatutEntretien` int(2) DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `Contact` (`Contact`),
CONSTRAINT `Entreprise_ibfk_1` FOREIGN KEY (`Contact`) REFERENCES `Contact` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
DROP TABLE IF EXISTS `EntretienPresentiel`;
CREATE TABLE `EntretienPresentiel` (
`IDEntretienP` int(3) NOT NULL AUTO_INCREMENT,
`IDEntreprise` int(5) NOT NULL,
`IDContact` int(3) NOT NULL,
`DateHeurePrevueEntretien` varchar(30) DEFAULT NULL,
`DateHeureEffectiveEntretien` varchar(30) DEFAULT NULL,
`PonctualiteEntreprise` binary(1) DEFAULT NULL,
`Remuneration` varchar(255) DEFAULT NULL,
`PosteAborde` varchar(255) DEFAULT NULL,
`SuiviEntretien` longtext DEFAULT NULL,
PRIMARY KEY (`IDEntretienP`),
UNIQUE KEY `IDEntreprise` (`IDEntreprise`),
UNIQUE KEY `IDContact` (`IDContact`),
CONSTRAINT `EntretienPresentiel_ibfk_1` FOREIGN KEY (`IDEntreprise`) REFERENCES `Entreprise` (`ID`),
CONSTRAINT `EntretienPresentiel_ibfk_2` FOREIGN KEY (`IDContact`) REFERENCES `Contact` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `EntretienTelephonique`;
CREATE TABLE `EntretienTelephonique` (
`IDEntretienT` int(3) NOT NULL AUTO_INCREMENT,
`IDEntreprise` int(5) NOT NULL,
`IDContact` int(3) NOT NULL,
`DateHeurePrevueEntretien` varchar(30) DEFAULT NULL,
`DateHeureEffectiveEntretien` varchar(30) DEFAULT NULL,
`PonctualiteEntreprise` binary(1) DEFAULT NULL,
`Remuneration` varchar(255) DEFAULT NULL,
`PosteAborde` varchar(255) DEFAULT NULL,
`SuiviEntretien` longtext DEFAULT NULL,
PRIMARY KEY (`IDEntretienT`),
UNIQUE KEY `IDEntreprise` (`IDEntreprise`),
UNIQUE KEY `IDContact` (`IDContact`),
CONSTRAINT `EntretienTelephonique_ibfk_1` FOREIGN KEY (`IDEntreprise`) REFERENCES `Entreprise` (`ID`),
CONSTRAINT `EntretienTelephonique_ibfk_2` FOREIGN KEY (`IDContact`) REFERENCES `Contact` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
DROP TABLE IF EXISTS `StatutEntretien`;
CREATE TABLE `StatutEntretien` (
`ID` int(2) NOT NULL AUTO_INCREMENT,
`Statut` varchar(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `StatutEntretien` (`ID`, `Statut`) VALUES
(1, 'OFFRE REFUSÉE'),
(2, 'EN ATTENTE CRÉNEAU ENTRETIEN TÉLÉPHONIQUE'),
(3, 'ENTRETIEN TÉLÉPHONIQUE PLANIFIÉ'),
(4, 'ENTRETIEN TÉLÉPHONIQUE OK - ATTENTE ENTRETIEN PHYSIQUE'),
(5, 'ENTRETIEN PHYSIQUE PLANIFIÉ'),
(6, 'ENTRETIENS OK - EN ATTENTE RETOUR ENTREPRISE'),
(7, 'EMBAUCHE VALIDÉE PAR ENTREPRISE'),
(8, 'ENTRETIEN TÉLÉPHONIQUE NON CONVAINCANT'),
(9, 'ENTRETIEN PHYSIQUE NON CONVAINCANT'),
(10, 'REFUS ENTREPRISE');
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`ID` int(4) NOT NULL AUTO_INCREMENT,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`profession` varchar(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- 2023-01-28 18:36:11

92
register.php Normal file
View File

@ -0,0 +1,92 @@
<!DOCTYPE html>
<html>
<head>
<title>Gestionnaire de recherche d'emploi - Inscription</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
</head>
<body>
<h1>Gestionnaire de recherche d'emploi - Inscription</h1>
<h2>C'est le moment vous parlez de vous ! 🙂</h2>
<form action="register.php" method="post">
<table>
<tr style='border:0px;'>
<td style='border:0px;'>
<label for="first_name">&nbsp;Prénom :</label>
</td>
<td style='border:0px;'>
<input type="text" name="first_name" size="50" required>
</td>
</tr>
<tr style='border:0px;'>
<td style='border:0px;'>
<label for="last_name">&nbsp;Nom :</label>
</td>
<td style='border:0px;'>
<input type="text" name="last_name" size="50" required>
</td>
</tr>
<tr style='border:0px;'>
<td style='border:0px;'>
<label for="username">&nbsp;Nom d'utilisateur :</label>
</td>
<td style='border:0px;'>
<input type="text" name="username" size="50" required>
</td>
</tr>
<tr style='border:0px;'>
<td style='border:0px;'>
<label for="password">&nbsp;Mot de passe :</label>
</td>
<td style='border:0px;'>
<input type="password" name="password" size="50" required>
</td>
</tr>
<tr style='border:0px;'>
<td style='border:0px;'>
<label for="profession">&nbsp;Profession (un seul poste) :</label>
</td>
<td style='border:0px;'>
<input type="text" name="profession" size="50" required>
</td>
</tr>
</table><br>
<input type="submit" name="submit" value="S'inscrire">
</form>
</body>
</html>
<?php
// Connexion à la base de données
$host = "localhost";
$dbusername = "prodrechercheemploi";
$dbpassword = "j6uSgr49bpXC1PwRZKV8";
$dbname = "prod_rechercheemploi";
$conn = mysqli_connect($host, $dbusername, $dbpassword, $dbname);
if (!$conn) {
die("Erreur de connexion à la base de données : " . mysqli_connect_error());
}
// Récupération des informations soumises par l'utilisateur
if(isset($_POST['submit'])) {
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$username = $_POST['username'];
$password = $_POST['password'];
$profession = $_POST['profession'];
$profession = htmlentities($profession);
$profession = str_replace("/", "\/", $profession);
// Requête d'insertion des informations dans la base de données
$sql = "INSERT INTO users (first_name, last_name, username, password, profession)
VALUES ('$first_name', '$last_name', '$username', '$password', '$profession')";
if (mysqli_query($conn, $sql)) {
echo "Inscription réussie !";
header("refresh:1; url=index.php");
} else {
echo "Erreur : " . $sql . "<br>" . mysqli_error($conn);
}
}
mysqli_close($conn);
?>

36
verify.php Normal file
View File

@ -0,0 +1,36 @@
<title>Inscription</title>
<link href="custom.css" rel="stylesheet">
<meta name="viewport" content="width=device-width">
<?php
session_start();
// Connexion à la base de données
$host = "localhost";
$dbusername = "prodrechercheemploi";
$dbpassword = "j6uSgr49bpXC1PwRZKV8";
$dbname = "prod_rechercheemploi";
$conn = mysqli_connect($host, $dbusername, $dbpassword, $dbname);
if (!$conn) {
die("Erreur de connexion à la base de données : " . mysqli_connect_error());
}
// Récupération des identifiants soumis par l'utilisateur
$username = $_POST['username'];
$password = $_POST['password'];
// Requête pour vérifier si les identifiants existent dans la base de données
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysqli_query($conn, $sql);
// Si les identifiants sont valides, création d'une session utilisateur
if (mysqli_num_rows($result) == 1) {
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
header("Location: index.php");
} else {
echo "Nom d'utilisateur ou mot de passe incorrect. Veuillez réessayer.";
}
mysqli_close($conn);
?>