[PHP] Pb d'inscription dans la BdD

Bonjour,

Je voudrais inscrire dans une table de ma base de données (appelons la membres_1), un mot (extraterrestre1)
en fonction du pseudo du membre (une personne non-inscrite n'a pas accès à cette partie du site) donc une personne forcément enregistrée.
Sachant que j'ai plusieurs champs id, pseudo, ET1, ET2, ET3, ET4, ET5 et ET6
et que le mot à inscrire n'est pas écrit par le membre mais vient d'un lien sur lequel on doit cliquer (on a le choix entre 3 liens dont celui qui provient de extraterrestre1)

<?php

try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '',$pdo_options);


$req = $bdd ->prepare('INSERT INTO membres_1 (ET1) VALUES(extraterrestre1)');
$req ->execute (array($_POST['extraterrestre1']));

// Redirection du membre vers la page suivante
header('Location: pagesuivante.php');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>


Le pb est que ça me met: Notice: Undefined index ...
Pourtant, l'index se réfère à la table membres_1 où le champs ET1 existe ...

PS: ce script php est exécuté et non montré aux membres.

4 réponses

  1. si tu veux insérer la chaine extraterrestre1 dans ta base, alors il faut mettre des guillemets

    et qu'est ce que tu cehrche a faire pour array($_POST['extraterrestre1']) de ton execute ?
    2
    1. Des guillemets à quel niveau ?

      L'array est sensé mettre le mot extraterrestre1 dans ma bdd, dans la colonne ET1, et dans la ligne correspondant au pseudo du membre.

      Est-ce mal ?
      0
      1. dans ce cas là ce n'est pas un insert qu'il faut faire mais un update
        update membres_1 set ET1 ='extraterrestre1' where pseudo_membre = 'Jacko'
        0
        1. Nan c'est bon, c'est vrai que j'avais oublié des guillemets à extraterrestre1. ça marche nickel

          $req = $bdd ->prepare('INSERT INTO membres_1 (ET1) VALUES("extraterrestre1")');


          Merci vordano
          0