Cela fait un petit moment que je cherche sans succés. Voici le script que j'utilise pour qu'un membre puisse modifier son adresse courriel et son mot de passe. Ce sript lors de l'exécution me renvoie:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /home/musatgen/public_html/inscrits/profil.php on line 15
Code : Tout sélectionner
<?php
session_start();
if(empty($_SESSION['inscrit'])){
header('Location: index.php');
}
$inscrit = $_SESSION['inscrit'];
require_once("../parametres/parametres.php");
require_once("../parametres/connexion.php");
$requete="
SELECT *
FROM inscrits
WHERE identifiant='".$inscrit."'
";
if ($resultat = mysqli_query($connexion, $requete)) {
[color=#FF0000]while ($donnees = mysqli_fetch_array($resultat)) {[/color]
if(!empty($_POST)){
extract($_POST);
$valid = true;
if(empty($courriel)) {
$valid = false;
$erreur_courriel = 'Indiquez une adresse courriel';
}
if(!empty($courriel) && filter_var($courriel,
FILTER_VALIDATE_EMAIL)=== FALSE) {
$valid = false;
$erreur_courriel = 'Adresse courriel invalide';
}
if(empty($motdepasse)) {
$valid = false;
$erreur_motdepasse = 'Choisissez votre nouveau mot de passe';
}
if(!empty($motdepasse) && strlen($motdepasse)<5) {
$valid = false;
$erreur_motdepasse = '5 caractères minimum';
}
if(!empty($motdepasse) && empty($motdepasse_c)) {
$valid = false;
$erreur_motdepasse_c = 'Confirmez le mot de passe';
}
if(!empty($motdepasse) && !empty($motdepasse_c) && $motdepasse != $motdepasse_c) {
$valid = false;
$erreur_motdepasse_c = 'Mots de passe différents';
}
if($valid) {
$to = $courriel;
$subject = 'Votre profil';
$message = '<p>Bonjour '.$identifiant.'!<br />
Vous avez modifié votre profil sur le site '.site_nom.'</p>
<p>Voici vos nouvelles informations:<br />
E-mail : '.$courriel.'<br />
Mot de passe :'.$motdepasse.'<+p>';
$headers = 'From:noreply@'.site_nom.''."\r\n";
$headers.='MIME-version: 1.0'."\r\n";
$headers.='Content-type: text/html; charset=utf-8'."\r\n";
mail($to,$subject,$message,$headers);
$requete="
UPDATE inscrits
SET email='".$courriel."', motdepasse='".$motdepasse."'
WHERE identifiant='".$inscrit."'
";
if ($resultat = mysqli_query($connexion, $requete)) {
$ok = 'Modification réussie, vous allez recevoir un email avec vos identifiants';
unset($_SESSION['membre']);
session_destroy();
}
}
}
}
}
?>
<!DOCTYPE html>
<html lang="fr">
<?php require_once("../includes/head.php"); ?>
<body>
<div id="gauche">
<section>
<h1>Votre profil</h1>
<h3><?php echo 'Bonjour '.$inscrit.', vous pouvez modifier votre profil.';?></h3>
<?php if(isset($ok)) echo '<div class="ok">'.$ok.'</div>';?>
<form id=profil action="profil.php" method="post">
<fieldset>
<div>
<?php
if(isset($erreur_courriel))
echo "<label class='erreur' for='erreurcourriel' >".$erreur_courriel."</label>";
else
echo "<label for='courriel'>Adresse courriel :</label>";
?>
<input id=courriel type="text" name="courriel" value="<?php echo $donnees['courriel']; ?>" required autofocus />
</div>
<div>
<?php
if(isset($erreurmotdepasse))
echo "<label class='erreur' for='motdepasse' >".$erreurmotdepasse."</label>";
else
echo "<label for='motdepasse'>Nouveau mot de passe :</label>";
?>
<input type=password name=motdepasse id=motdepasse placeholder="Choisissez un mot de passe" required>
</div>
<div>
<?php
if(isset($erreurmotdepasse))
echo "<label class='erreur' for='motdepasse' >".$erreurmotdepasse."</label>";
else
echo "<label for='motdepasse'>Confirmez le mot de passe :</label>";
?>
<input type=password name=motdepasse_c id=motdepasse_c placeholder="Confirmez votre mot de passe" required>
</div>
</fieldset>
<div class="submit"><button type="submit">Modifiez</button></div>
</form>
<div id="login"><a href="logout.php">Logout</a></div>
<?php if(isset($erreurid)) echo '<h4 class="erreur">'.$erreurid.'</h4>';?>
</section>
</div>
<div id="droite">
<?php require_once("../includes/header.php"); ?>
<footer>
<section class="">
</section>
</footer>
</div>
</body>
</html>
http://musatge.net/inscrits/profil.php
Merci