insertion dans une bdd

mzzyane

mzzyane Le 2 septembre 2016 à 02:26 (Édité le 25 janvier 2019 à 17:52)

bonjour mon problème est que parfois je réussis a insérer dans ma bdd et d'autres fois je peux pas;!!!!
if ($pseudo&&$description&&$resultat) {
   $id=$_SESSION['id'];
   $mdp=$userinfo['motdepasse'];
   $email=$userinfo['email'];
   $avatar=$pseudo.".".$extension_upload;
   $insertmbr = $bdd->prepare("UPDATE inscription SET name='$pseudo',email='$email',motdepasse='$mdp',description='$description', avatar='$avatar' WHERE id=$id ");
   $insertmbr->execute();
   header("Location:profil.php?id=".$_SESSION['id']);
}   
ùa bdd se compose d'in id  de type int name,email,motdepasse,avatar de type varchar et enfin description de type text
Merci de m'aider a trouver la solution
TheOldNoob

TheOldNoob Le 2 septembre 2016 à 09:15

Salut l'ami,

Il manque du code non? car certaines variable dans ta requete je vois pas ou tu les instancie ($pseudo, description...)
mzzyane

mzzyane Le 2 septembre 2016 à 11:55 (Édité le 2 septembre 2016 à 12:01)

merci pour ta réponse voila mon code
<?php
session_start();
$bdd = new PDO('mysql:host=localhost;dbname=letstalk;charset=utf8', 'root', '');
      if(isset($_GET['id']))
   {
   $requser = $bdd->prepare("SELECT * FROM inscription WHERE id=?");
    $requser->execute(array($_GET['id']));   
   $userinfo=$requser->fetch();
   }
if(isset($_POST['valider'])){
if(!empty($_POST['pseudo']) AND isset($_FILES['img']) AND !empty($_FILES['img']['name']) AND !empty($_POST['description'])   )
{
$pseudo=htmlspecialchars($_POST['pseudo']);
$description=htmlspecialchars($_POST['description']);
$longeur=strlen($_POST['pseudo']);
if($longeur<=20){
$img=$_FILES['img']['name'];
$img_tmp=$_FILES['img']['tmp_name'];
    if (!empty($img_tmp)) {
       $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
       $extension_upload = strtolower(  substr(  strrchr($_FILES['img']['name'], '.')  ,1)  );
if ( in_array($extension_upload,$extensions_valides) ) {
   
    $chemin="avatars/".$pseudo.".".$extension_upload;
    $resultat = move_uploaded_file($_FILES['img']['tmp_name'],$chemin);
    }
    else{
       ?>
   <div id="erreur1">veuillez entrer une image d'extention 'jpg' ou 'jpeg' ou 'gif' ou 'png'</div>
   <?php
       
    }
    }
    }
    else{
   ?>
   <div id="erreur1">veuillez entrer un nom inferieur a 20 caractere</div>
   <?php
}
 if ($pseudo&&$description&&$resultat) {
   $id=$_SESSION['id'];
   $mdp=$userinfo['motdepasse'];
   $email=$userinfo['email'];
   $avatar=$pseudo.".".$extension_upload;
   $insertmbr = $bdd->prepare("UPDATE inscription SET name='$pseudo',email='$email',motdepasse='$mdp',description='$description', avatar='$avatar' WHERE id=$id ");
   $insertmbr->execute();
   header("Location:profil.php?id=".$_SESSION['id']);
}   
}
else{
   ?>
   <div id="erreur1">veuillez remplir tous les champs demandés</div>
   <?php
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="letstalk.css">
</head>
<div id="headern">
    <nav>
    <ul>
      <li><a href="profil.php?id=<?php echo $_SESSION['id'];?>">Profil</li>
      <li><a href="boutique.php">Boutique</li>
      <li><a href="panier.php">Panier</li>
      <li><a href="inscription.php">Inscription</li>
      <li><a href="connexion.php">Connexion</li>
   </ul>
</nav>
</div>
<body>
   
<div id="x">
<img src="avatars/<?php echo $userinfo['avatar']; ?>" id="imageprofil"/>
<?php
   
   if($_SESSION['id'])
   {
   ?>
   <div id="nom"  ><?php  echo $userinfo['name']?></div>
    <a href="confiance.php?action=voir&id=<?php echo $_SESSION['id']; ?>" id="confiance">s produits</a>
<a href="non-confiance.php?action=voir&id=<?php echo $_SESSION['id']; ?>" id="non-confiance"> produits 2</a>
<a href="utilise.php?action=voir&id=<?php echo $_SESSION['id']; ?>" id="utiliser"> produits 3</a>
<a href="information.php?id=<?php echo $_SESSION['id']; ?>" id="information">Informations sur mon profil</a>
    <a href="edit.php?id=<?php echo $_SESSION['id']; ?>" id="edit">Editer mon profil</a>
   <a href="deconnexion.php" id="déconnexion">Déconnexion</a> 
   <?php
   }
?>
</div>
<div id="mur">
<form method="post" action="" enctype="multipart/form-data">
<h1>Changer vos informations ici</h1>
<table>
<tr>
<td>Entrer un nouveau nom:</td>
<td><input type="text" name="pseudo" value="<?php echo $userinfo['name']; ?>"  ></td>
</tr>
<tr>
<td>choisissez une photo de profil:</td>
<td><input type="file" name="img"  ></td>
</tr>
<tr>
<td>descrivez vous :</td>
<td><textarea name="description" ><?php echo $userinfo['description']; ?></textarea></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="valider" value="valider" id="fodrm4"></td>
</tr>
</table>
</div>
</body>
</html>

Profil introuvable

Profil introuvable Le 2 septembre 2016 à 17:08

Quand tu dit que tu arrive a inséré dans ta bdd je comprend pas "inséré" ?
mzzyane

mzzyane Le 3 septembre 2016 à 01:00

ça veut dire lorsque je fais un update j'arrive des fois a entrer mes informations dans la bdd et des  fois j'arrive pas 
mzzyane

mzzyane Le 3 septembre 2016 à 01:02

je pense que ce problème est lié a l'encodage de bdd mais j'ai pas la solution et je sais pas quoi faire!!!!!!!!!!!!!!!!!!!!!!!!!!!
TheOldNoob

TheOldNoob Le 3 septembre 2016 à 11:38

J'avoue que c'est difficile, ton code est très mal indenté et pas du tout commenté, du coup j'ai beaucoup de mal a comprendre.
Si lorsque tu fait un UPDATE qui ne fonctionne pas, tu n'a pas de message d'erreur, alors cherche du coté ou tu n'a pas mis de condition qui renvois vers une erreurs si elle n'est pas remplis.
Je vois une div pour le type de fichier, une autre pour la longueur du pseudo, une autre pour TOUT les champs. Mais je vois bien plus d'entré dans ta bdd, donc si tu veux savoir ou ça déconne, tu doit avoir autant de vérification et donc autant de message.

Après, tu peu aussi faire un var_dump de ton post pour voir ce qu'il récupère
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte