Salut,
plusieurs petites erreurs.
Lorsque tu fais un
try - catch il n'y pas besoin de faire un
or die apres le
new PDO, c'est le but du
catch si la connexion ne réussi pas (d'ailleur c'est Exception avec un C).
try {
$bdd = new PDO('mysql:host=XXXXX;dbname=XXXXX' , 'XXXXX', 'XXXXX')
$bdd->exec('SET NAMES utf8');
}
catch(Exception $e){
die('Erreur:'.$e->getMessage());
}
Ensuite lors de l'execution d'une requête (ligne 48-49), il ne faut pas mettre les deux points : du mot clé choisi dans la requête (ici :email)
$req = $bdd->prepare('SELECT id FROM newsletters WHERE email=:email');
$req->execute(array('email'=>$email));
//Dans le execute array() il ne faut pas mettre les deux points :
Et enfin ligne 68, tu refais une execution avec
array, le dernier mot clé ne prend de virgule à la fin.
$req = $bdd->prepare('INSERT INTO newsletters (nom,pass,email,hash) VALUES (:nom,:pass,:email,:hash)');
$req->execute(array(
'nom'=>$nom,
'pass'=>sha1($pass),
'email'=>$email,
'hash'=>$hash //Ici pas de virgule
));