Bonjour,
J'ai un problème avec le fonction prepare() dans le tutoriel "Confirmation adresse email".
En effet sur ma page de confirmation il m'est affiché cette erreur:

Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\GROSBID\confirm.php on line 24


Mon code est:

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
require "config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PW);
mysql_select_db(DB_BDD);
 
extract($_POST);
 
 
if((trim($login!=""))&&(trim($pass!="")))
mysql_connect(DB_HOST,DB_LOGIN,DB_PW);
mysql_select_db(DB_BDD);
$sql = "INSERT INTO membres(id,login,email,pass) VALUES('','$login','$email','$pass')";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
mysql_close();
 
$email = $_POST['email'];
$login = $_POST['login'];
 
// Génération aléatoire d'une clé
$cle = md5(microtime(TRUE)*100000);
 
// Insertion de la clé dans la base de données (à adapter en INSERT si besoin)
$stmt = $sql->prepare("UPDATE membres SET cle=:cle WHERE pass like :pass");
$stmt->bindParam(':cle', $cle);
$stmt->bindParam(':login', $login);
$stmt->execute();
 
 
// Préparation du mail contenant le lien d'activation
$destinataire = $email;
$sujet = "Activer votre compte" ;
$entete = "From: <a href="mailto:inscription@votresite.com">inscription@votresite.com</a>" ;
 
// Le lien d'activation est composé du login(log) et de la clé(cle)
$message = 'Bienvenue sur VotreSite,

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

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


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