if(isset($_POST['name_de_linput_html'])) {//dans l'HTML: <input name="name_de_linput_html"...>
echo "Le champ est pris en compte!";
} else {
echo "name_de_linput_html est inconnu!";
}
if(preg_match("#^[0-9]{5}$#",$_POST['code_postal'])) {
echo "Le champ code postal est correct!";
} else {
echo "Le champ code postal n'est pas au bon format!";
}
function htmlent($texte){
//ISO ou UTF suivant ce que vous utilisez comme encodage sur votre site
return htmlentities($texte,ENT_QUOTES,"UTF-8");
}
//on pourra ainsi l'utiliser comme suit et retourner un champ sécurisé pour l'insérer dans la base de données:
$input=htmlent($_POST['name_input']);
mysqli_query($mysqli,"INSERT INTO table SET colonne='$input'");
//ou directement
mysqli_query($mysqli,"INSERT INTO table SET colonne='".htmlent($_POST['name_input'])."'");
OCM le 20 Mai 2022 à 08:29
Très bien écrit et pratique ! il manque juste ce qui m'a amené ici et très bien répondu là :
https://forum.phpfrance.com/php-debutant/limiter-taille-champ-t266892.html#p402384
<?php
if(isset($_POST['envoyer'])) { // c'est le nom "name" du bouton input type="submit" (peut être appelé autrement)
if(empty($_POST['champ1'])) { // la vérification "empty" permet à la fois de savoir si ce champs est posté et de savoir si elle n'est pas vide
echo "le champ1 est vide";
} else {
// on peut ensuite vrifier la longeur du champ champ1 avec la fonction strlen()
if(strlen($_POST['champ1']) > ton chiffre maximum OR strlen($_POST['champ1']) < ton chiffre minimum) { // la vérification "empty" permet à la fois de savoir si ce champs est posté et de savoir si elle n'est pas vide
echo "le champ1 compte trop ou pas assez de caractère"; // je fait perso cette vérif deux fois afin d'indiquer le visiteur exactement (d'abord le strlen < ensuite le strlen >), tu peut même indiquer au visiteur combien de caractère il à en trop, etc.... question d'estéticité et de compréhension...
} else {
// tous les champs sont correctement rempli: tu peut valider ta requête:
// si tu veu être sûr de ne pas avoir de d'apostrophe (qui pourrai créer des pb une fois insérés dans ta BDD), tu peut utiliser la fonction htmlentities avec le flag ENT_QUOTES qui les convertira
// ensuite, j'utilise également beaucoup de preg_match pour vérifier le contenu d'un champ
}
}
}