Bonjour,

J'ai un petit problème avec l'affichage d'un lien dans mon mail d'activation. Cela donne : Activation de compte !

Pour activer votre compte, veuillez cliquer sur le lien ci-dessous : (puis blanc )

Je vois vraiment pas d'où cela peut venir. J'ai réglé mon php.ini pour mon fournisseur donc je ne pense pas que cela vient de là. Pour l'instant comme j'en suis au tests, je les envoie en localhost.

Voilà le code :

1er fichier - activation.tmpl.php :

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
50
51
52
<!doctype html>
 
<html lang="fr">
<head>
	<meta charset="UTF-8">
</head>
<body>
	<h1>Activation de compte ! </h1>
 
	Pour activer votre compte, veuillez cliquer sur le lien ci-dessous :
 
	<a href="<?php echo WEBSITE_URL.'/activation.php?p='.$pseudo.'&amp;token='.$token ?>"></a>
</body>
</html>
 
2ème fichier, activation.php : 
 
<?php
session_start();
 
include('filters/guest_filter.php');
require "config/database.php";
require "includes/functions.php";
 
if(!empty($_GET['p']) 
	&& is_already_in_use('pseudo', $_GET['p'], 'users') 
	&& !empty($_GET['token'])){
 
	$pseudo = $_GET['p'];
	$token = $_GET['token'];
 
	$q = $db->prepare('SELECT email, password FROM users WHERE pseudo = ?');
	$q->execute([$pseudo]);
 
	$data= $q->fetch(PDO::FETCH_OBJ);
	$token_verif = sha1($pseudo.$data->email.$data->password);
 
	if($token == $token_verif){
 
		$q = $db->prepare("UPDATE users SET active = '1' WHERE pseudo = ?");
		$q->execute([$pseudo]);
 
		redirect('login.php');
 
	}else{
		set_flash('paramètres de sécurités invalides', 'danger');
		redirect('index.php');
	}
}else{
	redirect('index.php');
}
?>
Voilà, si quelqu'un voit quelque chose que je n'aurais pas vu.

Merci d'avance.