Bonjour,

Je rencontre une erreur et je ne vois pas l' origine de celle-ci.

Il s' agit d'un fichier d' envoi de mail de confirmation, les variables pseudo-prenom et email sont saisir et existante + creation de la table membres_activation avec les colonnes cle et actif.

Mon erreur

Merci pour votre aide (encore débutant dans le domaine).

Fatal error: Call to a member function on a non-object in /home/z/zebinfo/www/direct-emploi-service/e-mail.php on line 19
$stmt = $dbh->prepare("INSERT INTO membres_activation (cle) VALUES (:cle) WHERE pseudo like :pseudo ");

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php	
// Récupération des variables nécessaires au mail de confirmation
$email = $_POST['email'];
$pseudo = $_POST['pseudo'];
$prenom = $_POST['prenom'];
 
// Génération aléatoire d'une clé
$cle = md5(microtime(TRUE)*100000);
 
// Insertion de la clé dans la base de données
$stmt = $dbh->prepare("INSERT INTO membres_activation (cle) VALUES (:cle) WHERE pseudo like :pseudo ");
$stmt->bindParam(':cle', $cle);
$stmt->bindParam(':pseudo', $pseudo);
$stmt->execute();
 
// Préparation du mail contenant le lien d'activation
$destinataire = $email;
$sujet = "Activation de votre compte sur mon site" ;
$entete = "From: <a href="mailto:monsite@laposte.net">monsite@laposte.net</a>" ;
 
// Le lien d'activation est composé du login(log) et de la clé(cle)
$message = 'Bienvenue sur Direct-Emploi-Service,

Pour activer votre compte, veuillez cliquer sur le lien ci dessous
ou copier/coller dans votre navigateur internet.

http://monsite.com/activation.php?log='.urlencode($pseudo).'&cle='.urlencode($cle).'


---------------
Ceci est un mail automatique, Merci de ne pas y répondre.';
 
 
mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail
?>