Formulaire probleme de variable

salutlacompagnie

salutlacompagnie Le 25 juin 2016 à 17:30 (Édité le 25 janvier 2019 à 17:51)

<?php
 session_start();

$bdd = new PDO('mysql:host=localhost;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['formadresse'])) {
   $adresse = htmlspecialchars($_POST['adresse']);
   $complement = htmlspecialchars($_POST['complement']);
   $ville = htmlspecialchars($_POST['ville']);
   $code_postal = htmlspecialchars($_POST['code_postal']);

   if(!empty($_POST['adresse']) AND !empty($_POST['complement']) AND !empty($_POST['ville']) AND !empty($_POST['code_postal'])) {
      $adresselength = strlen($adresse);
      if($adresse <= 255) {
          $complementlength = strlen($complement);
            if($complement <= 255) {
                 $villelength = strlen($ville);
                  if($ville <= 255) {
                      $code_postallength = strlen($code_postal);
                        if($code_postal <= 255) {
                             
                            $req = $bdd->prepare("UPDATE membres SET adresse, complement, ville, code_postal = ? WHERE id = ?");
                            $req -> execute(array($adresse, $complement, $ville, $code_postal, $_SESSION['id']));
                                $erreur = "Votre adresse mail de contact à bien été enregistrer";
                                                              
                      } else {
                         $erreur = "code!";
                      }
                      
                   } else {
                      $erreur = "ville!";
                   }
                } else {
                   $erreur = "complement!";
                }
                
             } else {
                $erreur = "adresse!";
             }
          
        
        } else {
                $erreur = "Touts les champs doivents être rempli !";
             }
}

?>

<section>

<div class="" align="center">
  
        <div class="contour_edition_profil" align="center">
        
            <h1 class="h1_titre_creation_site">Mon adresse</h1>

            </br>
            
                <div class="block_deux">    
        
                    <form method="POST" enctype="multipart/form-data">    
                    
<div id="option_check" class="contac_accept" >

                <tr class="adresse_tr">
                    <td>
                        <input type="text" placeholder="Adresse" class="adresse" id="adresse" name="adresse" value="<?php if(isset($adresse)) { echo $adresse; } ?>" />
                    </td>
                  
                    <td>
                        <input type="text" placeholder="Complément" class="complement" id="complement" name="complement" value="<?php if(isset($complement)) { echo $complement; } ?>" />
                    </td>
               </tr>
               
               </br>
               
               <tr  class="ville">
                    <td class="ville_td">
                        <input type="text" placeholder="Ville" class="ville" id="ville" name="ville" value="<?php if(isset($ville)) { echo $ville; } ?>" />
                    </td>
               </tr>
               
               <tr  class="code_postal">
                    <td class="ville_td">
                        <input type="text" placeholder="Code postal" class="code_postal" id="code_postal" name="code_postal" value="<?php if(isset($code_postal)) { echo $code_postal; } ?>" />
                    </td>
               </tr>

            </br>

</div>

                        </br>
            
                    <input class="btn_crea" name="formadresse" type="submit" value="Je valide mon adresse adresse"/>
                                
                </form>    
                
                 <?php
} 
          if(isset($erreur)) {
            echo '<font color="red">'.$erreur."</font>";
         }
         ?>     
                
            </br>
                     
         
            </div>
            
            </div>
            
            </div>



        </section>
Bonjour ça fait 2 jours je cherche l'erreur mais sans résultat..
TheOldNoob

TheOldNoob Le 25 juin 2016 à 19:37 (Édité le 25 juin 2016 à 19:38)

Tu a une } qui traine ligne 105, si tu la met entre la ligne 49 et 50 (avec une belle indentation 😉 ) ton formulaire apparaîtra.

Et tu n'a pas de balise <table> qui entour ton tableau.
salutlacompagnie

salutlacompagnie Le 26 juin 2016 à 14:12

J'ai fait les petites modifications mais j'ai une erreur..
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match
number of tokens in ..

C'est pour la variable $_SESSION['id'], pourtant elle me semble bonne
Balatharas

Balatharas Le 26 juin 2016 à 14:39

@salutlacompagnie c'est bien de nous proposer une piste pour trouver ton erreur mais quelle ligne ?
salutlacompagnie

salutlacompagnie Le 26 juin 2016 à 15:45

Sur cette partie la, c'est $_SESSION['id'] qui a un problème..
Pourtant sur cette page la j'ai 4 formulaires et c'est le seul qui me pose problème :(
$req = $bdd->prepare("UPDATE membres SET adresse, complement, ville, code_postal = ? WHERE id = ?");                            $req -> execute(array($adresse, $complement, $ville, $code_postal, $_SESSION['id']));                                $erreur = "Votre adresse mail de contact à bien été enregistrer";                                           
Balatharas

Balatharas Le 26 juin 2016 à 15:51

Tu as essayé de faire ça ?:
$req -> execute(array($adresse, $complement, $ville, $code_postal, $_SESSION['id']));  
Au lieu de ça mettre ceci:
$req->execute(array($adresse, $complement, $ville, $code_postal, $_SESSION['id']));  
salutlacompagnie

salutlacompagnie Le 26 juin 2016 à 16:20

Oui cela ne change rien, j'ai toujours l'erreur..
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte