Message non enregistre dans ma bdd

samzirt

samzirt Le 12 février 2017 à 18:47 (Édité le 25 janvier 2019 à 17:53)


Bonjour a tous, j'ai un probleme...

Lorsque je cree un compte dans mon formulaire d'inscription ou que j'essaye d'envoyer un message, les données ne sont pas enregistrée sur ma base de données. Je pense que le probleme vient de ma page d'edition du profil car le problème est apparu lorsque je l'ai cree.

code formulaire inscription:
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
if(isset($_POST['forminscription'])) {
   $pseudo = htmlspecialchars($_POST['pseudo']);
   $mail = htmlspecialchars($_POST['mail']);
   $mail2 = htmlspecialchars($_POST['mail2']);
   $mdp = sha1($_POST['mdp']);
   $mdp2 = sha1($_POST['mdp2']);
   if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) {
      $pseudolength = strlen($pseudo);
      if($pseudolength <= 255) {
         if($mail == $mail2) {
            if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
               $reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?");
               $reqmail->execute(array($mail));
               $mailexist = $reqmail->rowCount();
               if($mailexist == 0) {
                  if($mdp == $mdp2) {
                     $insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse) VALUES(?, ?, ?)");
                     $insertmbr->execute(array($pseudo, $mail, $mdp));
                     $erreur = "Votre compte a bien été créé ! <a href=\"acceuil.php\">Me connecter</a>";
                  } else {
                     $erreur = "Vos mots de passes ne correspondent pas !";
                  }
               } else {
                  $erreur = "Adresse mail déjà utilisée !";
               }
            } else {
               $erreur = "Votre adresse mail n'est pas valide !";
            }
         } else {
            $erreur = "Vos adresses mail ne correspondent pas !";
         }
      } else {
         $erreur = "Votre pseudo ne doit pas dépasser 255 caractères !";
      }
   } else {
      $erreur = "Tous les champs doivent être complétés !";
   }
}
?>
<html>
   <head>
      <title>TUTO PHP</title>
      <meta charset="utf-8">
      <link rel="stylesheet" type="text/css" href="inscription.css">
   </head>
   <body>
      <div align="center">
         <h2>Inscription</h2>
         <br /><br />
         <form method="POST" action="">
            <table>
               <tr>
                  <td align="right">
                     <label for="pseudo">Pseudo :</label>
                  </td>
                  <td>
                     <input type="text" placeholder="Votre pseudo" id="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseudo; } ?>" />
                  </td>
               </tr>
               <tr>
                  <td align="right">
                     <label for="mail">Mail :</label>
                  </td>
                  <td>
                     <input type="email" placeholder="Votre mail" id="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>" />
                  </td>
               </tr>
               <tr>
                  <td align="right">
                     <label for="mail2">Confirmation du mail :</label>
                  </td>
                  <td>
                     <input type="email" placeholder="Confirmez votre mail" id="mail2" name="mail2" value="<?php if(isset($mail2)) { echo $mail2; } ?>" />
                  </td>
               </tr>
               <tr>
                  <td align="right">
                     <label for="mdp">Mot de passe :</label>
                  </td>
                  <td>
                     <input type="password" placeholder="Votre mot de passe" id="mdp" name="mdp" />
                  </td>
               </tr>
               <tr>
                  <td align="right">
                     <label for="mdp2">Confirmation du mot de passe :</label>
                  </td>
                  <td>
                     <input type="password" placeholder="Confirmez votre mdp" id="mdp2" name="mdp2" />
                  </td>
               </tr>
               <tr>
                  <td></td>
                  <td align="center">
                     <br />
                     <input type="submit" name="forminscription" value="Je m'inscris" />
                  </td>
               </tr>
            </table>
         </form>
         <?php
         if(isset($erreur)) {
            echo '<font color="red">'.$erreur."</font>";
         }
         ?>
      </div>
   </body>
</html>

code de ma page de chat: 
<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
if(isset($_SESSION['id']) AND !empty($_SESSION['id'])) {
   if(isset($_POST['envoi_message'])) {
      if(isset($_POST['destinataire'],$_POST['message']) AND !empty($_POST['destinataire']) AND !empty($_POST['message'])) {
         $destinataire = htmlspecialchars($_POST['destinataire']);
         $message = htmlspecialchars($_POST['message']);
         $id_destinataire = $bdd->prepare('SELECT id FROM membres WHERE pseudo = ?');
         $id_destinataire->execute(array($destinataire));
         $dest_exist = $id_destinataire->rowCount();
         if($dest_exist == 1) {
            $id_destinataire = $id_destinataire->fetch();
            $id_destinataire = $id_destinataire['id'];
            $ins = $bdd->prepare('INSERT INTO chat(id_expediteur,id_destinataire,message) VALUES (?,?,?)');
            $ins->execute(array($_SESSION['id'],$id_destinataire,$message));
            $error = "Votre message a bien été envoyé !";
         } else {
            $error = "Cet utilisateur n'existe pas...";
         }
      } else {
         $error = "Veuillez compléter tous les champs";
      }
   }
   $destinataires = $bdd->query('SELECT pseudo FROM membres ORDER BY pseudo');
   ?>
   <!DOCTYPE html>
   <html>
   <head>
      <title>Envoi de message</title>
      <meta charset="utf-8" />
      <link rel="stylesheet" type="text/css" href="chat.css">
   </head>
   <body>
      <header>
            <h4>Chat</h4>
      </header>
      <form method="POST">
         <div id="destinataire">
             <select name="destinataire">
               <?php while($d = $destinataires->fetch()) { ?>
               <option><?= $d['pseudo'] ?></option>
               <?php } ?>
            </select>
         </div>
         <textarea placeholder="Votre message" name="message"></textarea>
         <br /><br />
         <input type="submit" value="Envoyer" name="envoi_message" />
         <br /><br />
         </form>
         <div id="error" >
         <?php if(isset($error)) { echo '<span style="color:red">'.$error.'</span>'; } ?>
      </div>
      <br />
      <a href="reception.php">Boîte de réception</a>
   </body>
   </html>
<?php
}
?>
code de ma page d'edition du profil:

<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
   if (isset($_SESSION['id']))
   {
      $requser = $bdd->prepare("SELECT * FROM membres WHERE id = ?");
      $requser->execute(array($_SESSION['id']));
      $user = $requser->fetch();
      if (isset($_POST['newpseudo']) AND !empty($_POST['newpseudo']) AND $_POST['newpseudo'] != $user['pseudo']) 
         {
               $newpseudo = htmlspecialchars($_POST['newpseudo']);
               $insertprenom = $bdd->prepare("UPDATE membres SET pseudo = ? WHERE id = ?");
               $insertprenom->execute(array($newpseudo, $_SESSION['id']));
         }
         elseif (isset($_POST['newpseudo']) AND empty($_POST['newpseudo']) AND $_POST['newpseudo'] != $user['pseudo'])
         {
            header("Location:profil.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 membres SET mail = ? WHERE id = ?");
               $insertmail->execute(array($newmail, $_SESSION['id']));
         }
                  elseif (isset($_POST['newmail']) AND empty($_POST['newmail']) AND $_POST['newmail'] != $user['mail'])
         {
            header("Location:profil.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 membres SET motdepasse = ? WHERE id = ?");
                     $insertmdp->execute(array($mdp1, $_SESSION['id']));
                  }
                  else
                  {
                     $erreur = "Vos mot de passe ne correspondent pas";
                  }
               
         }
         elseif (isset($_POST['newmdp1']) AND empty($_POST['newmdp1']) AND isset($_POST['newmdp2']) AND empty($_POST['newmdp2']))
         {
            header("Location:profil.php?id=".$_SESSION['id']);
         }
         if (isset($_FILES['photodeprof']) AND !empty($_FILES['photodeprof']['name'])) 
         {
            $taillemax = 2097152;
            $extensionsvalides = array('jpg', 'jpeg', 'png');
            if ($_FILES['photodeprof']['size'] <= $taillemax) 
            {
               $extensionupload = strtolower(substr(strrchr($_FILES['photodeprof']['name'], '.'), 1));
                  if (in_array($extensionupload, $extensionsvalides)) 
                  {
                     $chemin = "membres/photodeprofil/" .$_SESSION['id'].".".$extensionupload;
                     $resultat = move_uploaded_file($_FILES['photodeprof']['tmp_name'], $chemin);
                        if ($resultat) 
                        {
                           $updatephotodeprofil = $bdd->prepare('UPDATE membres SET photodeprofil = 😋hotodeprofil WHERE id = :id');
                           $updatephotodeprofil->execute(array(
                                 'photodeprofil' => $_SESSION['id'].".".$extensionupload,
                                 'id' => $_SESSION['id']));
                        }   
                        else
                        {
                           $erreur = "Erreur lors de l'importation de votre photo de profil";
                        }
                  }
                  else
                  {
                     $erreur = "Votre photo de profil doit être au format jpg, jpeg ou png";
                  }
            }
            else
            {
               $erreur = "Votre photo de profil ne doit pas dépasser 2Mo";
            }
         }
      }
      
   
?>
<!DOCTYPE html>
   <html>
      <head>
         <Title>IND Chat</Title>
         <meta charset="utf-8" />
         <link rel="stylesheet" type="text/css" href="editionprofil.css" />
      </head>
   <body>
<header>
      <div id="img2" ><a href="acceuil.php" title="Acceuil de IND Co"> <img src="INDco.png"  /> </a></div>
      
</header>
<section>
<article><div id="Editionprofil" />
   <h4>Editer mon profil</h4><br />
      <form method="POST" action="" name="modifier2" enctype="multipart/form-data">
      <label><div id="lab1"><br /><br />Pseudo: <br /> </label></div>
         <input type="text" class="form3" name="newpseudo" placeholder="Pseudo" value="<?php if (isset($_SESSION['pseudo'])) 
         {
            echo $_SESSION['pseudo'];
         } ?>" /><br /><br />
      <label>Mail: <br /> </label>
         <input type="email" class="form3" name="newmail" placeholder="Mail" value="<?php if (isset($_SESSION['mail'])) 
         {
            echo $_SESSION['mail'];
         } ?>"" /><br /><br />
      <label>Mot de passe: <br /> </label>
         <input type="text" class="form3" name="newmdp1" placeholder="Mot de passe"/><br /><br />
      <label>Confirmation du mot de passe: <br /> </label>
         <input type="password" class="form3" name="newmdp2" placeholder="Confirmation mot de passe"/><br />
      <label>Photo de profil: <br/> </label>
         <input type="file" name="photodeprof" /><br /><br />
         <input type="submit" class="sub3" name="modifier" value="Editer mon profil" />
      
      </form>
   <?php 
      if (isset($erreur)) 
      {
         echo $erreur;
      }
   ?>
</article>
   </section>
</div>
<footer>
</footer>
   </body>
</html>

Merci de votre aide!!! Bonne journée...
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte