Page 1 sur 1

Probleme insertion en bdd

Posté : 06 août 2014, 21:49
par yoann38
salut à tous,
J'ai mon select qui m'affiche les regions mais en bdd je ne recois pas ce champ, tout marche sauf l'inserion en bdd de la region,
mon code:
<?php

require('include/connect.php');
require('include/variables.php');

if(!empty($_POST))
{
  extract($_POST);
  $pseudo = strip_tags($pseudo);
  $email = strip_tags($email);
  $pass = strip_tags($pass);
  $region = strip_tags($region);
  
  $valid = (empty($pseudo) || empty($email) || !filter_var($email,FILTER_VALIDATE_EMAIL) || empty($pass)) ? false : true;
  
  $erreurpseudo = (empty($pseudo)) ? 'Indiquez un pseudo' : null;
  $erreuremail = (empty($email) || !filter_var($email,FILTER_VALIDATE_EMAIL)) ? 'Indiquez un email valide' : null;
  $erreurpass = (empty($pass)) ? 'Indiquez un mot de passe' : null;
  $erreurregion = (empty($region)) ? 'Selectionner une region' : null;
  
  if($valid)
  {
    $req = $bdd->prepare('SELECT * FROM membre WHERE pseudo=:pseudo');
    $req->execute(array(':pseudo'=>$pseudo));
    if($req->rowCount()>0)
    {
      $valid = false;
      $erreurpseudo = 'Pseudo pris';
      if($_POST['ajax']==1)
      {
        echo 'Pseudo pris';
        exit();
      }
    }
    $req->closeCursor();
    
    $req = $bdd->prepare('SELECT * FROM membre WHERE email=:email');
    $req->execute(array(':email'=>$email));
    if($req->rowCount()>0)
    {
      $valid = false;
      $erreuremail = 'Email existant';
      if($_POST['ajax']==1)
      {
        echo 'Email existant';
        exit();
      }
    }
    $req->closeCursor();
    
    if($valid)
    {
      $to = $email;
      $subject = 'Inscription';
      $message = '<p>Vous �tes maintenant membre du site!</p>
      <p>Voici vos identifiants de connexion:</p>
      <p>Login : <b>'.$pseudo.'</b></p>
      <p>Mot de passe : <b>'.$pass.'</b></p>';
      $headers = 'From:[email protected]'."\r\n";
      $headers.='MIME-version: 1.0'."\r\n";
      $headers.='Content-type: text/html; charset=utf-8'."\r\n";
      mail($to,$subject,$message,$headers);
            
      $req = $bdd->prepare('INSERT INTO membre (pseudo,email,pass,region) VALUES (:pseudo,:email,:pass,:region)');
      $req->execute(array(':pseudo'=>$pseudo, ':email'=>$email,':pass'=>sha1($pass),':region'=>$region));
      $req->closeCursor();
      
      if($_POST['ajax']==1)
      {
        echo true;
        exit();
      }
      else
      {
        header('Location: index.php');
      }
    }
  }
  
  $errors = array($erreurpseudo,$erreuremail,$erreurpass,$erreurregion,);
}

?>

fiche_utilisateur.php
<?php

session_start();

require('include/connect.php');
require('include/variables.php');

if(!empty($_POST))
{
  extract($_POST);
  $login = strip_tags($login);
  $password = strip_tags($password);

  
  $valid = (empty($login) || empty($password)) ? false : true;
  $erreurlogin = (empty($login)) ? 'Indiquez votre login' : null;
  $erreurpassword = (empty($password)) ? 'Indiquez votre pass' : null;

  
  if($valid)
  {
    $req = $bdd->prepare('SELECT id FROM membre WHERE pseudo=:pseudo AND pass=:pass');
    $req->execute(array(':pseudo'=>$login, ':pass'=>sha1($password)));
    if($req->rowCount()<1)
    {
      $valid = false;
      $erreurid = 'Mauvais identifiants';
    }
    else
    {
      $_SESSION['login'] = $login;
      header('Location: membre.php');
    }
  }
}

?>

// la les verif en js....

les formulaires au sein de la meme page: (fiche-utilisateur.php)
 <form id="signup_form" action="signup.php" method="post">
        
        <fieldset>
          <legend>Inscription</legend>
          
          <label for="pseudo">Pseudo:</label>
          <span class="field_success"></span>
          <span class="field_error"></span>
          <input type="text" name="pseudo" id="pseudo" />
          
          <label for="email">Email:</label>
          <span class="field_error"></span>
          <input type="text" name="email" id="email" />
          
          <label for="pseudo">originaire de :</label>
          <select name="region"><?php echo aRegionDepartement(); ?></select>
          
          
          <label for="pass">Mot de passe:</label>
          <span class="field_error"></span>
          <input type="password" name="pass" id="pass" />
          
          <input type="submit" id="submit_signup" class="submit" value="Envoyer" />
          
          <div class="loader"></div>
        </fieldset>
 
      </form>
      
      
      <form id="login_form" action="carte.html" method="post">
        
        <fieldset>
          <legend>Connexion</legend>
          
          <div class="error"><?php if(isset($erreurid)) echo $erreurid;?></div>
          
          <label for="login">Login:</label>
          <span class="error"><?php if(isset($erreurlogin)) echo $erreurlogin;?></span>
          <span class="field_error"></span>
          <input type="text" name="login" id="login" />
          
          <label for="password">Mot de passe:</label>
          <span class="error"><?php if(isset($erreurpassword)) echo $erreurpassword;?></span>
          <span class="field_error"></span>
          <input type="password" name="password" id="password" />
          
          <input type="submit" class="submit" id="submit_login" value="Envoyer" />
        </fieldset>
        
      </form>

Re: Probleme insertion en bdd

Posté : 07 août 2014, 15:38
par xTG
Que te donnes un :
var_dump($region);

Re: Probleme insertion en bdd

Posté : 08 août 2014, 20:41
par yoann38
Salut,
alors, en fait donc j'ai toujours mon problème d'insertion en bdd avec ma colonne région

Le formulaire:
 <label for="email">Email:</label>
          <span class="field_error"></span>
          <input type="text" name="email" id="email" />
          
          <label for="pseudo">originaire de :</label>
          <select name="region"><?php echo aRegionDepartement(); ?></select>

          <!-- reste de code -->
// le var dump me retourne tous mes departement classé par region du style, (PS: variable région n'éxisté pas )
/*
array (size=24)
  1 => 
    array (size=2)
      67 => string 'Bas-Rhin' (length=8)
      68 => string 'Haut-Rhin' (length=9)
  2 => 
*/
 <?php var_dump($aDepartement); ?

et mon include/variables.php
$aDepartement = array(
1 => array(67 => 'Bas-Rhin', 68 => 'Haut-Rhin'),
la page de verification
<?php

require('include/connect.php');
require('include/variables.php');

if(!empty($_POST))
{
  extract($_POST);
  $pseudo = strip_tags($pseudo);
  $email = strip_tags($email);
  $pass = strip_tags($pass);
  $region = strip_tags($region);
  
  $valid = (empty($pseudo) || empty($email) || !filter_var($email,FILTER_VALIDATE_EMAIL) || empty($pass)) ? false : true;
  
  $erreurpseudo = (empty($pseudo)) ? 'Indiquez un pseudo' : null;
  $erreuremail = (empty($email) || !filter_var($email,FILTER_VALIDATE_EMAIL)) ? 'Indiquez un email valide' : null;
  $erreurpass = (empty($pass)) ? 'Indiquez un mot de passe' : null;
  $erreurregion = (empty($region)) ? 'Selectionner une region' : null;
  
  if($valid)
  {
    $req = $bdd->prepare('SELECT * FROM membre WHERE pseudo=:pseudo');
    $req->execute(array(':pseudo'=>$pseudo));
    if($req->rowCount()>0)
    {
      $valid = false;
      $erreurpseudo = 'Pseudo pris';
      if($_POST['ajax']==1)
      {
        echo 'Pseudo pris';
        exit();
      }
    }
    $req->closeCursor();
    
    $req = $bdd->prepare('SELECT * FROM membre WHERE email=:email');
    $req->execute(array(':email'=>$email));
    if($req->rowCount()>0)
    {
      $valid = false;
      $erreuremail = 'Email existant';
      if($_POST['ajax']==1)
      {
        echo 'Email existant';
        exit();
      }
    }
    $req->closeCursor();
    
    if($valid)
    {
      $to = $email;
      $subject = 'Inscription';
      $message = '<p>Vous �tes maintenant membre du site!</p>
      <p>Voici vos identifiants de connexion:</p>
      <p>Login : <b>'.$pseudo.'</b></p>
      <p>Mot de passe : <b>'.$pass.'</b></p>';
      $headers = 'From:[email protected]'."\r\n";
      $headers.='MIME-version: 1.0'."\r\n";
      $headers.='Content-type: text/html; charset=utf-8'."\r\n";
      mail($to,$subject,$message,$headers);
            
      $req = $bdd->prepare('INSERT INTO membre (pseudo,email,pass,region) VALUES (:pseudo,:email,:pass,:region)');
      $req->execute(array(':pseudo'=>$pseudo, ':email'=>$email,':pass'=>sha1($pass),':region'=>$region));
      $req->closeCursor();
      
      if($_POST['ajax']==1)
      {
        echo true;
        exit();
      }
      else
      {
        header('Location: index.php');
      }
    }
  }
  
  $errors = array($erreurpseudo,$erreuremail,$erreurpass,$erreurregion,);
}

?>


<!DOCTYPE html>
<html>
  <meta charset="UTF-8">
  <head>
    <title></title>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>
  <body>
    <div id="content">
      <?php if($errors!=null):?>
      <div id="error_message">
        
        <?php foreach($errors as $erreur)
        {
          if($erreur!=null)
          {
            echo '<p>'.$erreur.'</p>';
          }
        }
        ?>
        
      </div>
      <?php endif;?>
    </div>
  </body>
</html>