Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Bonsoir à tous,
Je souhaite afficher un message d'erreur (Veuillez cocher la case) lorsque je clique sur le bouton valider et je ne coche pas la case.
J'ai essayé d'afficher un message avec l'aide d'une focntion empty, mais ça ne m'affiche pas un message d'erreur lorsque je clique sur le bouton voici le code :
<?php
session_start();
include "connexionDB.php";
$bdd = new PDO('mysql:host=127.0.0.1;dbname=topten;charset=utf8','root','');
$er_msg = "";
if (isset($_POST['accepte']) == 1) {
$accepte = $_POST['accepte'];
if(empty($accepte)){
$valid = false;
$er_msg = ("Veuillez cocher la case");
}
header("Location: inscription.php");
exit;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="styles.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<title>Consentement rgpd</title>
</head>
<body>
<div class="col-sm-8 col-md-2 col-lg-3"></div>
<div class="col-sm-12 col-md-8 col-lg-6">
<form method="post" action="">
<h1 class="title-3">2. Droits d'accès</h1>
<p class="paragraph-2" name="texts">L’accès à EDIT se fait à l’aide d’un identifiant et d’un mot de passe strictement personnels et incessibles.Vous êtes responsable de la conservation et de la confidentialité de cet
identifiant et de ce mot de passe. Afin de renforcer la sécurité de l’accès à EDIT, il est
vivement conseillé de modifier vous-même votre mot de passe. Dans tous les services où vous
pouvez stocker des données personnelles, en particulier dans votre messagerie et vos
documents, vous êtes seul à pouvoir consulter ces données. EDIT ou
l’établissement ne s’autorisent à intervenir sur ces espaces privés qu’à la demande des autorités
judiciaires. En ce qui concerne les applications scolaires propres à MyTechSchool, vous n’avez
accès qu’aux informations qui vous concernent, ou concernent les personnes dont vous êtes
responsables et les groupes dont vous faites partie. La création et la gestion d’espaces partagés
sont déléguées aux personnels des établissements. L’accès à un espace partagé est réservé aux
utilisateurs désignés par le créateur de cet espace.</p>
<!--p class="sucess" style="color: red;"><?php if ($msg != "") echo $msg ; ?></p>-->
<?php
if (isset($er_msg)){
?>
<div style= "color: red;"><?= $er_msg ?></div>
<?php
}
?>
<input type="checkbox" name="accepte" value="1">
<button type="submit" name="submit" style="text-align: center;" class="btn btn-primary">Valider</button>
</form>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
</body>
</html>
J'ai essayé d'afficher un message avec une autre méthode ça fonctionne, mais le message est toujours affiché mêmes quand je reviens dans la page ou bien lorsque je vais à nouveau dans la page consentement.php voici le code :
<?php
session_start();
include "connexionDB.php";
$bdd = new PDO('mysql:host=127.0.0.1;dbname=topten;charset=utf8','root','');
if (isset($_POST['accepte']) == 1) {
$accepte = $_POST['accepte'];
header("Location: inscription.php");
exit;
}else{
echo"Veuillez cocher la case";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="styles.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<title>Consentement rgpd</title>
</head>
<body>
<div class="col-sm-8 col-md-2 col-lg-3"></div>
<div class="col-sm-12 col-md-8 col-lg-6">
<form method="post" action="">
<h1 class="title-3">2. Droits d'accès</h1>
<p class="paragraph-2" name="texts">L’accès à EDIT se fait à l’aide d’un identifiant et d’un mot de passe strictement personnels et incessibles.Vous êtes responsable de la conservation et de la confidentialité de cet
identifiant et de ce mot de passe. Afin de renforcer la sécurité de l’accès à EDIT, il est
vivement conseillé de modifier vous-même votre mot de passe. Dans tous les services où vous
pouvez stocker des données personnelles, en particulier dans votre messagerie et vos
documents, vous êtes seul à pouvoir consulter ces données. EDIT ou
l’établissement ne s’autorisent à intervenir sur ces espaces privés qu’à la demande des autorités
judiciaires. En ce qui concerne les applications scolaires propres à MyTechSchool, vous n’avez
accès qu’aux informations qui vous concernent, ou concernent les personnes dont vous êtes
responsables et les groupes dont vous faites partie. La création et la gestion d’espaces partagés
sont déléguées aux personnels des établissements. L’accès à un espace partagé est réservé aux
utilisateurs désignés par le créateur de cet espace.</p>
<input type="checkbox" name="accepte" value="1">
<button type="submit" name="submit" style="text-align: center;" class="btn btn-primary">Valider</button>
</form>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
</body>
</html>
Est-ce que je me suis trompé de l'utilisation d'une fonctionnalité ? Car la fonction empty permet a déterminé si une variable est vide, dans le code que j'ai réalisé j'ai utilisé cette fonction pour vérifier si la case est vide et quand je clique sur le bouton il y a un message qui doit s'afficher.
Merci d'avance pour vos réponses.
Bonsoir @Flomir72,
J'ai réussi à afficher un message d'erreur lorsque la case est vide et quand je clique sur le bouton avec ce code que j'ai modifié :
<?php
session_start();
include "connexionDB.php";
$msg = "";
if(!empty($_POST)){
extract($_POST);
$valid = true;
if (isset($_POST['accepte']) == 1) {
//$accepte = $_POST['accepte'];
header("Location: inscription.php");
exit;
}else{
$msg = "Veuillez selectionnez la case";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="styles.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<title>Consentement rgpd</title>
</head>
<body>
<div class="col-sm-8 col-md-2 col-lg-3"></div>
<div class="col-sm-12 col-md-8 col-lg-6">
<form method="post" action="">
<h1 class="title-3">2. Droits d'accès</h1>
<p class="paragraph-2" name="texts">L’accès à EDIT se fait à l’aide d’un identifiant et d’un mot de passe strictement personnels et incessibles.Vous êtes responsable de la conservation et de la confidentialité de cet
identifiant et de ce mot de passe. Afin de renforcer la sécurité de l’accès à EDIT, il est
vivement conseillé de modifier vous-même votre mot de passe. Dans tous les services où vous
pouvez stocker des données personnelles, en particulier dans votre messagerie et vos
documents, vous êtes seul à pouvoir consulter ces données. EDIT ou
l’établissement ne s’autorisent à intervenir sur ces espaces privés qu’à la demande des autorités
judiciaires. En ce qui concerne les applications scolaires propres à MyTechSchool, vous n’avez
accès qu’aux informations qui vous concernent, ou concernent les personnes dont vous êtes
responsables et les groupes dont vous faites partie. La création et la gestion d’espaces partagés
sont déléguées aux personnels des établissements. L’accès à un espace partagé est réservé aux
utilisateurs désignés par le créateur de cet espace.</p>
<p class="sucess" style="color: red;"><?php if ($msg != "") echo $msg ; ?></p><input type="checkbox" name="accepte" value="1">
<button type="submit" name="submit" style="text-align: center;" class="btn btn-primary">Valider</button>
</form>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
</body>
</html>
Mais je préfère utiliser le code que tu avais partagé, car il est mieux, plus sécuriser et avec ce code je pourrais éviter les problèmes. J'ai ajouté le code dans mon fichier que tu m'as conseillé et lorsque je clique sur le bouton le message d'alertes ne s'affiche pas :
<?php
session_start();
include "connexionDB.php";
if(!empty($_POST)){
extract($_POST);
$valid = true;
if (isset($_POST['accepte']) == 1) {
//$accepte = $_POST['accepte'];
$_SESSION['flash']['error'] = "Veuillez cocher la case";
header("Location: inscription.php");
exit;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="styles.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<title>Consentement rgpd</title>
</head>
<body>
<div class="col-sm-8 col-md-2 col-lg-3"></div>
<div class="col-sm-12 col-md-8 col-lg-6">
<form method="post" action="">
<h1 class="title-3">2. Droits d'accès</h1>
<p class="paragraph-2" name="texts">L’accès à EDIT se fait à l’aide d’un identifiant et d’un mot de passe strictement personnels et incessibles.Vous êtes responsable de la conservation et de la confidentialité de cet
identifiant et de ce mot de passe. Afin de renforcer la sécurité de l’accès à EDIT, il est
vivement conseillé de modifier vous-même votre mot de passe. Dans tous les services où vous
pouvez stocker des données personnelles, en particulier dans votre messagerie et vos
documents, vous êtes seul à pouvoir consulter ces données. EDIT ou
l’établissement ne s’autorisent à intervenir sur ces espaces privés qu’à la demande des autorités
judiciaires. En ce qui concerne les applications scolaires propres à MyTechSchool, vous n’avez
accès qu’aux informations qui vous concernent, ou concernent les personnes dont vous êtes
responsables et les groupes dont vous faites partie. La création et la gestion d’espaces partagés
sont déléguées aux personnels des établissements. L’accès à un espace partagé est réservé aux
utilisateurs désignés par le créateur de cet espace.</p>
<?php
if(isset($_SESSION['flash'])){
foreach($_SESSION['flash'] as $type => $message): ?>
<div id="alert" class="alert alert-<?= $type; ?> infoMessage"><a class="closef">X</span></a>
<?= $message; ?>
</div>
<?php
endforeach;
unset($_SESSION['flash']);
}
?>
<input type="checkbox" name="accepte" value="1">
<button type="submit" name="submit" style="text-align: center;" class="btn btn-primary">Valider</button>
</form>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"></script>
</body>
</html>
Salut @Epeny 🙃,
@Clouder m'avait donné un bout de code sympa pour les alert avec Bootstrap:
Utilise les SESSION pour les messages d'alertes, c'est mieux !
Pour positionner un message avec un niveau d'alerte :
<?php
$_SESSION['flash']['info'] = "Pour une alerte / message de type info";
header('Location: /');
exit;
?>
Pour les autres type d'alerte :
<?php
$_SESSION['flash']['success'] = "Pour une alerte / message de type succes";
$_SESSION['flash']['warning'] = "Pour une alerte / message de type attention";
$_SESSION['flash']['error'] = "Pour une alerte / message de type erreur";
Pour afficher le message (à mettre sur toutes tes pages)
<?php
if(isset($_SESSION['flash'])){
foreach($_SESSION['flash'] as $type => $message): ?>
<div id="alert" class="alert alert-<?= $type; ?> infoMessage"><a class="closef">X</span></a>
<?= $message; ?>
</div>
<?php
endforeach;
unset($_SESSION['flash']);
}
?>
Bon courage,
Florent 😀