Aide insertion dans bdd

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Aide insertion dans bdd

Re: Aide insertion dans bdd

par moogli » 02 sept. 2013, 21:27

Mélange entre $connexion et certainement un script / tuto qui contient $bdd

quand au code

if($_POST['Envoyer'])
{
if($_POST['pseudo']&&$_POST['mdp']&&$_POST['mdp2']&&$_POST['email'])

non utilise issetou empty pour savoir si l'index est présent dans $_POST

par exemple

if(!empty($_POST['Envoyer']))
{
if(!empty($_POST['pseudo']) && !empty($_POST['mdp']) && !empty($_POST['mdp2']) && !empty($_POST['email']))

@+

Re: Aide insertion dans bdd

par niuxe » 02 sept. 2013, 20:36

Salut,

Syntaxiquement, ton code me parait juste. Par contre je ne vois pas l'intérêt des deux try/catch. Logiquement j'en verrai qu'un. Et aussi d'où vient $bdd ?
$bdd->quote(...)
Je t'invite à regarder des tutos sur pdo (http://www.giyf.com/). Regarde dans la doc l'objet pdo Exception et ses autres héritages. Tu apprendras pleins de bonnes petites choses.

Aide insertion dans bdd

par nonozelmar » 02 sept. 2013, 12:41

bonjour après plusieurs recherche sur des sujets dans plusieurs forums j'ai décidé de créer un sujet pour un problème d'insertion de données dans un bdd.
j'ai crée un formulaire d'inscription mais je pense que j'ai fait une erreur dans le code pour l'insertion.
Pouvez vous m'orientez vers la solution ?
Merci d'avance pour votre aide :)
<?php
    if($_POST['Envoyer'])
    {
        if($_POST['pseudo']&&$_POST['mdp']&&$_POST['mdp2']&&$_POST['email'])
        {
            if($_POST['mdp']==$_POST['mdp2'])
            {
                try
                {
                 $connexion = new PDO('mysql:host=*******;dbname=*******', '*******', '*******');
                }
                catch (Exception $e)
                {
                        die('Erreur : ' . $e->getMessage());
                }
                $sql = 'INSERT INTO membre(pseudo, password, email, date_inscription) VALUES(' 
                    . $bdd->quote($_POST['pseudo']) . ','
                    . $bdd->quote($_POST['mdp']) . ','
                    . $bdd->quote($_POST['email']) . ','
                    . $bdd->quote(CURDATE()) . ')';
                try 
                {
                    $bdd->query($sql);
                }
                catch (Exception $e) 
                {
                    echo '<p class="erreur">', $e->getMessage(), '</p>';
                }
            }else echo 'Les deux mots de passe ne correspondent pas';
        }else echo 'Veuillez compléter tous les champs';
    }
?>
<!DOCTYPE html> 
<form method="POST" action="signup.php">
<label for="pseudo">Pseudo : </label><input type="text" name="pseudo" maxlength="20" value="<?php if (!empty($_POST["pseudo"])) { echo stripcslashes(htmlspecialchars($_POST["pseudo"],ENT_QUOTES)); } ?>" /><br/>
<label for="pass">Mot de Passe : </label><input type="password" name="mdp" maxlength="20" value="<?php if (!empty($_POST["motdepass"])) { echo stripcslashes(htmlspecialchars($_POST["motdepass"],ENT_QUOTES)); } ?>" /><br/>
<label for="pass">Confirmation mot de passe : </label><input type="password" name="mdp2" maxlength="20" value="<?php if (!empty($_POST["motdepass"])) { echo stripcslashes(htmlspecialchars($_POST["motdepass"],ENT_QUOTES)); } ?>" /><br/>
<label for="email">Email : </label><input type="text" name="email" maxlength="50" value="<?php if (!empty($_POST["email"])) { echo stripcslashes(htmlspecialchars($_POST["email"],ENT_QUOTES)); } ?>" /><br/>
<label for="action">Action : </label><input type="submit" name="Envoyer" value="Envoyer" />
<input name="Effacer" value="Effacer" type="reset" />
</form>
<br/>