Formulaire avec certains champs facultatifs
Posté : 19 août 2016, 10:35
Bonjour, je viens demander un peu d'aide parce que depuis un certain temps je n'arrive pas a trouver la solution tout seul. Je suis donc en train de faire un formulaire pour modifier certaines informations d'un utilisateur comme le prénom et nom, le nom d'utilisateur ainsi que son grade sur le site.
Les trois champs sont facultatifs, c'est à dire que nous pouvons donc remplir le nom d'utilisateur et en cliquant sur le bouton de validation, ça modifie uniquement le champs nom d'utilisateur, actuellement mon problème c'est que ça modifie aussi les autres champs alors qu'ils sont vide (donc à la fin je me retrouve avec des utilisateurs sans nom
)
J'ai donc pensé que si le champ était vide on ne traitait rien et j'ai donc fait cela :
Les trois champs sont facultatifs, c'est à dire que nous pouvons donc remplir le nom d'utilisateur et en cliquant sur le bouton de validation, ça modifie uniquement le champs nom d'utilisateur, actuellement mon problème c'est que ça modifie aussi les autres champs alors qu'ils sont vide (donc à la fin je me retrouve avec des utilisateurs sans nom
J'ai donc pensé que si le champ était vide on ne traitait rien et j'ai donc fait cela :
if (!empty($_POST['nom_utilisateur'])) {
if ($_POST['nom_utilisateur'] == $donnees_membre['nom_utilisateur']) {
$errors = "Vous n'avez pas modifé le nom d'utilisateur du joueur!";
}
} else // { Si le formulaire est vide, il n'y a pas de traitement (facultatif) }
Le problème c'est que je ne sais pas vraiment quoi mettre dans le else pour que a la fin si mon champ est vide, cela ne change pas le nom utilisateur. Je vous joins mon code pour plus de "facilité" à comprendre.<h2>Modification profil de <?= $nom_prenom?></h2>
<div class="row">
<form method="POST" action="" class="form-horizontal">
<div class="panel panel-default">
<div class="panel-body">
<div class="form-group">
<label class="col-sx-2 col-sm-2 col-md-2 control-label" for="prenom_nom_rp">Prénom et Nom</label>
<div class="col-sx-10 col-sm-10 col-md-10">
<input type="text" class="form-control" id="prenom_nom_rp" name="prenom_nom_rp" placeholder="<?= $donnees_membre['prenom_nom'] ?>">
</div>
</div>
<div class="form-group">
<label class="col-sx-2 col-sm-2 col-md-2 control-label" for="nom_utilisateur">Nom d'utilisateur</label>
<div class="col-sx-10 col-sm-10 col-md-10">
<input type="text" class="form-control" id="nom_utilisateur" name="nom_utilisateur" placeholder="<?= $donnees_membre['nom_utilisateur'] ?>">
</div>
</div>
<div align="right">
<div class="form-group">
<select class="col-sx-10 col-sm-10 col-md-10 selectpicker show-tick" name="grade" title="Grade actuel : <?= $donnees_membre['grade'] ?>">
<optgroup label="Grade">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</optgroup>
</select>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
<div class="form-group">
<label class="col-sx-2 col-sm-2 col-md-2 control-label" for="email">Adresse mail</label>
<div class="col-sx-10 col-sm-10 col-md-10">
<input type="email" class="form-control" id="email" placeholder="<?= $donnees_membre['email'] ?>" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sx-2 col-sm-2 col-md-2 control-label" for="steam">Pseudo Steam</label>
<div class="col-sx-10 col-sm-10 col-md-10">
<input type="text" class="form-control" id="steam" placeholder="<?= $donnees_membre['steam'] ?>" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sx-2 col-sm-2 col-md-2 control-label" for="steam_url">Lien steam</label>
<div class="col-sx-10 col-sm-10 col-md-10">
<input type="text" class="form-control" id="steam_url" placeholder="<?= $donnees_membre['steam_url'] ?>" disabled>
</div>
</div>
</div>
</div>
<input class="btn btn-warning" type="submit" name="modification" id="modification" value="Modification du profil de <?= $donnees_membre['nom_utilisateur'] ?>">
</form>
</div>
<?php
if (!empty($_POST)) {
$errors = array();
if (!empty($_POST['prenom_nom_rp'])) {
if ($_POST['prenom_nom_rp'] == $donnees_membre['prenom_nom']) {
$errors = "Vous n'avez pas modifé le prenom ainsi que le nom du joueur!";
}
} else //{ Si le formulaire est vide, il n'y a pas de traitement (facultatif) }
if (!empty($_POST['nom_utilisateur'])) {
if ($_POST['nom_utilisateur'] == $donnees_membre['nom_utilisateur']) {
$errors = "Vous n'avez pas modifé le nom d'utilisateur du joueur!";
}
} else //{ Si le formulaire est vide, il n'y a pas de traitement (facultatif) }
if (!empty($_POST['grade'])) {
if ($_POST['grade'] == $donnees_membre['grade']) {
$errors = "Vous n'avez pas modifé le grade du joueur!";
}
} else //{ Si le formulaire est vide, il n'y a pas de traitement (facultatif) }
if (empty($errors)) {
$prenom_nom_rp = $_POST['prenom_nom_rp'];
$nom_utilisateur = $_POST['nom_utilisateur'];
$grade = $_POST['grade'];
$ReqModif = $bdd->prepare('UPDATE membre_groupe SET prenom_nom = ?,nom_utilisateur = ?,grade = ? WHERE id = ?');
$ReqModif->execute([$prenom_nom_rp, $nom_utilisateur, $grade, $get_id]);
}
}
?>