par
Sato » 01 août 2016, 09:44
Regarde le HTML généré, tu n'auras qu'un seul <option> dans ton <select>.
Donc il faut que tu te poses la question : " est-ce que j'ai mis dans mon code, quelque chose pour afficher plusieurs <option> ? "
Et comme la réponse est non, bah c'est par là qu'il faut que tu commences.
Merci,
Maintenant je peut choisir dans mon select quel rang je veut.
Le soucis étant que cela ne s'enregistre pas en BDD, une piste ?
<?php
include '../includes/header.php';
include '../includes/bdd.php';
if(isset($_SESSION['id'])) {
$requser = $bdd->prepare("SELECT * FROM utilisateurs WHERE id = ?");
$requser->execute(array($_SESSION['id']));
$user = $requser->fetch();
$reqrang = $bdd->prepare("SELECT * FROM rangs");
$reqrang->execute();
if(isset($_POST['newpseudo']) AND !empty($_POST['newpseudo']) AND $_POST['newpseudo'] != $user['pseudo']) {
$newpseudo = htmlspecialchars($_POST['newpseudo']);
$insertpseudo = $bdd->prepare("UPDATE utilisateurs SET pseudo = ? WHERE id = ?");
$insertpseudo->execute(array($newpseudo, $_SESSION['id']));
header('Location: compte.php?id='.$_SESSION['id']);
}
if(isset($_POST['newmail']) AND !empty($_POST['newmail']) AND $_POST['newmail'] != $user['mail']) {
$newmail = htmlspecialchars($_POST['newmail']);
$insertmail = $bdd->prepare("UPDATE utilisateurs SET mail = ? WHERE id = ?");
$insertmail->execute(array($newmail, $_SESSION['id']));
header('Location: compte.php?id='.$_SESSION['id']);
}
if(isset($_POST['newrang']) AND !empty($_POST['newrang']) AND $_POST['newrang'] != $user['rang']) {
$newrang = htmlspecialchars($_POST['newrang']);
$insertrang = $bdd->prepare("UPDATE utilisateurs SET rang_id = ? WHERE id = ?");
$insertrang->execute(array($newrang, $_SESSION['id']));
header('Location: compte.php?id='.$_SESSION['id']);
}
if(isset($_POST['newmdp1']) AND !empty($_POST['newmdp1']) AND isset($_POST['newmdp2']) AND !empty($_POST['newmdp2'])) {
$mdp1 = sha1($_POST['newmdp1']);
$mdp2 = sha1($_POST['newmdp2']);
if($mdp1 == $mdp2) {
$insertmdp = $bdd->prepare("UPDATE utilisateurs SET motdepasse = ? WHERE id = ?");
$insertmdp->execute(array($mdp1, $_SESSION['id']));
header('Location: compte.php?id='.$_SESSION['id']);
} else {
$msg = "Vos deux mdp ne correspondent pas !";
}
}
?>
<div class="container-content"><br />
<div class="texte-corps">
<div class="texte-en-tete">Edition de mon profil</div><br />
<div align="left">
<form method="POST" action="" enctype="multipart/form-data">
<label>Pseudo :</label>
<input type="text" name="newpseudo" placeholder="Pseudo" value="<?php echo $user['pseudo']; ?>" /><br /><br />
<label>Mail :</label>
<input type="text" name="newmail" placeholder="Mail" value="<?php echo $user['mail']; ?>" /><br /><br />
<label>Rang :</label>
<select>
<?php
while ($rang = $reqrang->fetch())
{
?>
<option value="<?php echo $rang['nom']; ?>"><?php echo $rang['nom']; ?></option>
<?php
}
$reqrang->closeCursor();
?>
</select>
<br /><br />
<label>Mot de passe :</label>
<input type="password" name="newmdp1" placeholder="Mot de passe"/><br /><br />
<label>Confirmation - mot de passe :</label>
<input type="password" name="newmdp2" placeholder="Confirmation du mot de passe" /><br /><br />
<center><input type="submit" value="Mettre à jour mon compte" /></center>
</form>
<?php if(isset($msg)) { echo $msg; } ?>
</div>
</div>
</body>
</html>
<?php
}
else {
header("Location: ../connexion.php");
}
?>
[quote="@rthur"]Regarde le HTML généré, tu n'auras qu'un seul <option> dans ton <select>.
Donc il faut que tu te poses la question : " est-ce que j'ai mis dans mon code, quelque chose pour afficher plusieurs <option> ? "
Et comme la réponse est non, bah c'est par là qu'il faut que tu commences.[/quote]
Merci,
Maintenant je peut choisir dans mon select quel rang je veut.
Le soucis étant que cela ne s'enregistre pas en BDD, une piste ? :|
[php]<?php
include '../includes/header.php';
include '../includes/bdd.php';
if(isset($_SESSION['id'])) {
$requser = $bdd->prepare("SELECT * FROM utilisateurs WHERE id = ?");
$requser->execute(array($_SESSION['id']));
$user = $requser->fetch();
$reqrang = $bdd->prepare("SELECT * FROM rangs");
$reqrang->execute();
if(isset($_POST['newpseudo']) AND !empty($_POST['newpseudo']) AND $_POST['newpseudo'] != $user['pseudo']) {
$newpseudo = htmlspecialchars($_POST['newpseudo']);
$insertpseudo = $bdd->prepare("UPDATE utilisateurs SET pseudo = ? WHERE id = ?");
$insertpseudo->execute(array($newpseudo, $_SESSION['id']));
header('Location: compte.php?id='.$_SESSION['id']);
}
if(isset($_POST['newmail']) AND !empty($_POST['newmail']) AND $_POST['newmail'] != $user['mail']) {
$newmail = htmlspecialchars($_POST['newmail']);
$insertmail = $bdd->prepare("UPDATE utilisateurs SET mail = ? WHERE id = ?");
$insertmail->execute(array($newmail, $_SESSION['id']));
header('Location: compte.php?id='.$_SESSION['id']);
}
if(isset($_POST['newrang']) AND !empty($_POST['newrang']) AND $_POST['newrang'] != $user['rang']) {
$newrang = htmlspecialchars($_POST['newrang']);
$insertrang = $bdd->prepare("UPDATE utilisateurs SET rang_id = ? WHERE id = ?");
$insertrang->execute(array($newrang, $_SESSION['id']));
header('Location: compte.php?id='.$_SESSION['id']);
}
if(isset($_POST['newmdp1']) AND !empty($_POST['newmdp1']) AND isset($_POST['newmdp2']) AND !empty($_POST['newmdp2'])) {
$mdp1 = sha1($_POST['newmdp1']);
$mdp2 = sha1($_POST['newmdp2']);
if($mdp1 == $mdp2) {
$insertmdp = $bdd->prepare("UPDATE utilisateurs SET motdepasse = ? WHERE id = ?");
$insertmdp->execute(array($mdp1, $_SESSION['id']));
header('Location: compte.php?id='.$_SESSION['id']);
} else {
$msg = "Vos deux mdp ne correspondent pas !";
}
}
?>
<div class="container-content"><br />
<div class="texte-corps">
<div class="texte-en-tete">Edition de mon profil</div><br />
<div align="left">
<form method="POST" action="" enctype="multipart/form-data">
<label>Pseudo :</label>
<input type="text" name="newpseudo" placeholder="Pseudo" value="<?php echo $user['pseudo']; ?>" /><br /><br />
<label>Mail :</label>
<input type="text" name="newmail" placeholder="Mail" value="<?php echo $user['mail']; ?>" /><br /><br />
<label>Rang :</label>
<select>
<?php
while ($rang = $reqrang->fetch())
{
?>
<option value="<?php echo $rang['nom']; ?>"><?php echo $rang['nom']; ?></option>
<?php
}
$reqrang->closeCursor();
?>
</select>
<br /><br />
<label>Mot de passe :</label>
<input type="password" name="newmdp1" placeholder="Mot de passe"/><br /><br />
<label>Confirmation - mot de passe :</label>
<input type="password" name="newmdp2" placeholder="Confirmation du mot de passe" /><br /><br />
<center><input type="submit" value="Mettre à jour mon compte" /></center>
</form>
<?php if(isset($msg)) { echo $msg; } ?>
</div>
</div>
</body>
</html>
<?php
}
else {
header("Location: ../connexion.php");
}
?>[/php]