Problème lors d'un email d'activation sur mon site

Résolu/Fermé
arcadenaker Messages postés 61 Date d'inscription dimanche 30 juillet 2017 Statut Membre Dernière intervention 22 avril 2019 - 31 oct. 2017 à 15:54
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 - 31 oct. 2017 à 18:31
Bonjour,
récemment je me suis rendu compte que l'email d'activation qui permet de confirmer l'email ne fonctionne pas:
FICHIER 1:
<?php
session_start();
include('filters/guest_filter.php');
require('config/database.php');
require('includes/function.php');
            //je crois que le problème commence ici
	if(!empty($_GET['p']) && is_already_in_use('pseudo', $_GET['p'], 'users') && !empty($_GET['token'])){
		$pseudo = $_GET['p'];
		$errors = [];
		$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){
			redirect('index.php');
		}else{
			redirect('connexion.php');
		}
	}else{
		redirect('inscription.php');
		}
?>
<html>
<head>
	<title>ERROR</title>
	<meta charset="utf-8">
	<style type="text/css">
		body{background-color: #FE0101;}
	</style>
</head>
<body>
<?php if(isset($_SESSION['notification']['message'])): ?>
 			<div class="alert alert-<?= $_SESSION['notification']['type'] ?>">
 				<h4><?= $_SESSION['notification']['message'] ?></h4>
 			</div>
<?php $_SESSION['notification'] = []; ?>
<?php endif; ?>
<a href="index.php" rel="nofollow noopener noreferrer" target="_blank">Retour vers l'acceuil </a><p>ou <a href="https://accounts.google.com" rel="nofollow noopener noreferrer" target="_blank">réessayer!</a></p>
</body>
</html>

FICHIER 2:
<!DOCTYPE html>
<html lang="fr">
<head>
	<meta charset="utf-8">
</head>
<body>
<h1>Activation de votre compte</h1>
Pour ativer et verifier votre compte, veuillez svp cliquer sur le lien ci-dessous;
<a href="<?= 'fecebok.pe.hu/activation.php?p='.$pseudo.'&token='.$token ?>">LIEN D'ACTIVATION</a>
 <div>PS: si tous c'est bien passé vous devez revenir sur la page de connection!</div>
</body>
</html>

Merci d'avance
arcadenaker
A voir également:

3 réponses

jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
31 oct. 2017 à 16:02
Bonjour,

Commence par appliquer ceci et reviens nous voir si le souci persiste :

1 - Met en commentaire les redirection (//..redirect('index.php'); ) le temps des tests afin de t'assurer de voir les éventuelles erreurs.

2 - Applique ceci pour correctement voir les éventuelles erreurs PDO https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

3 - et ça pour afficher les erreurs PHP et correctement présenter ton code : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code


0
arcadenaker Messages postés 61 Date d'inscription dimanche 30 juillet 2017 Statut Membre Dernière intervention 22 avril 2019 1
31 oct. 2017 à 17:06
Bonjour,

malgré mes tests la base de donnée fonctionne très bien et est bien en rapport avec le fichier,
merci d'avance
<?php
session_start();
include('filters/guest_filter.php');
require('config/database.php');
require('includes/function.php');
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
	if(!empty($_GET['p']) && is_already_in_use('pseudo', $_GET['p'], 'users') && !empty($_GET['token'])){
		$pseudo = $_GET['p'];
		$errors = [];
		$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('connexion.php');
		
		}else{
			echo "Vous avez mis un mauvais url";
		}
	}else{
		echo "Vous avez mis un mauvais url";
		}
?>
<html>
<head>
	<title>ERROR</title>
	<meta charset="utf-8">
	<style type="text/css">
		body{background-color: #FE0101;}
	</style>
</head>
<body>
<?php if(isset($_SESSION['notification']['message'])): ?>
 			<div class="alert alert-<?= $_SESSION['notification']['type'] ?>">
 				<h4><?= $_SESSION['notification']['message'] ?></h4>
 			</div>
<?php $_SESSION['notification'] = []; ?>
<?php endif; ?>
<a href="index.php" rel="nofollow noopener noreferrer" target="_blank">Retour vers l'acceuil </a><p>ou <a href="https://accounts.google.com" rel="nofollow noopener noreferrer" target="_blank">réessayer!</a></p>
</body>
</html>
0
yg_be Messages postés 22707 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471
31 oct. 2017 à 17:21
bonjour, "ne fonctionne pas": message d'erreur, comportement inattendu, ?
0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
31 oct. 2017 à 18:31
Sans oublié qu'il n'a pas appliqué ce qui indiqué dans les liens
0