Impossible d'activer mon compte en local
Résolu/Fermé
Janyduchemin
-
Modifié le 16 juin 2020 à 09:17
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 16 juin 2020 à 12:20
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 16 juin 2020 à 12:20
A voir également:
- Impossible d'activer mon compte en local
- Supprimer compte instagram - Guide
- Compte facebook piraté - Guide
- Appdata local - Guide
- Créer un compte gmail - Guide
- Impossible de récupérer mon compte gmail - Guide
1 réponse
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
16 juin 2020 à 09:26
16 juin 2020 à 09:26
Bonjour,
Pas très claire ta question.........
Donc, ton souci concerne un souci avec le langage PHP.
Je déplace donc ta question dans le bon forum.
Et visiblement... vu le "message d'erreur"... il semble simplement que l'url qui se trouve dans ton mail ne soit pas complète.
Il manque le "domaine" de ton site.... ( à minima, vu que tu es en local.... http://localhost/ " ) ( à moins que tu n'aies mis en place des virtualHosts
Si tu veux plus d'aide, pense à nous partager ton code en utilisant les BALISES DE CODE.
Explications ( à lire ENTIEREMENT ! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
PS: Je t'invite également à lire et à appliquer les conseils suivants pour écrire ton code :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
.
Pas très claire ta question.........
Donc, ton souci concerne un souci avec le langage PHP.
Je déplace donc ta question dans le bon forum.
Et visiblement... vu le "message d'erreur"... il semble simplement que l'url qui se trouve dans ton mail ne soit pas complète.
Il manque le "domaine" de ton site.... ( à minima, vu que tu es en local.... http://localhost/ " ) ( à moins que tu n'aies mis en place des virtualHosts
Si tu veux plus d'aide, pense à nous partager ton code en utilisant les BALISES DE CODE.
Explications ( à lire ENTIEREMENT ! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
PS: Je t'invite également à lire et à appliquer les conseils suivants pour écrire ton code :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
.
16 juin 2020 à 12:09
merci pour vos explications voila le lien de mon site en local (http://localhost/shop/activate.php?token=49ae07ec1ba6bf4fe2468f014260e99b9f63876f&email=napyconcept%40gmail.com
<?php require 'includes/includes.php';
require 'includes/header.php';
?>
<?php
if(!empty($_POST)){
if(!empty($_POST['password']) && ( filter_var($_POST['email'],FILTER_VALIDATE_EMAIL) ) ){
$email= addslashes($_POST['email']);
// modifier sha1 par Auth::hashPassword();
$password = sha1($_POST['password']);
$token = sha1(uniqid(rand()));
$nom=addslashes($_POST['nom']);
$adresse = addslashes($_POST['adresse']);
$ville = addslashes($_POST['ville']);
$codepostale =addslashes($_POST['codepostale']);
$reponse = $DB->uniqueEmail($email);
if($reponse !=0){
$_SESSION['erreur'] = "Adresse email déja utilisée par un membre.";
}else{
$data = array(
'nom'=>$nom,
'email'=>$email,
'password'=>$password,
'token'=>$token,
'adresse'=>$adresse,
'ville'=>$ville,
'codepostale'=>$codepostale
);
$sql ='INSERT INTO users (nom,email,password,token,adresse,ville,codepostale) VALUES(:nom,:email,:password,:token,:adresse,:ville,:codepostale)';
$req= $DB->insert($sql,$data);
//envoi d'email.
$mail_to =$email;
$mail_subject =" Validation de votre compte !!";
$headers = "From : hypernapy.com\r\n";
$headers.="Reply-To:***@*** \r\n";
$headers.="MIME-Version 1.0\r\n";
$headers.="Content-type: text/html;charset=utf-8\r\n";
$mail_body ='Bonjour <br/> Veuillez ciquer sur <a href="http://localhost/shop/activate.php?token='.$token.'&email='.$email.'"> le lien </a>pour activer votre compte ';
if(mail($mail_to,$mail_subject,$mail_body,$headers)){
$_SESSION['message'] = " Un émail a été envoyé a votre méssagerie avec des instructions pour activer votre compte ";
unset($_POST);
}else{
$_SESSION['erreur'] = "Un problème est survenu lors de l'envoi d'email !.";
}
}
}else{
if(empty($_POST['password'])){
$erreur_password ='Un mot de passe est requis !.';
$_SESSION['erreur'] = ' Veuillez corriger les érreurs .';
}
if(empty($_POST['email'])){
$erreur_email ='Le champs email est requis !';
$_SESSION['erreur'] = ' Veuillez corriger les érreurs .';
}else
if(!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL) ){
$erreur_email ='Adresse Email non valide !';
$_SESSION['erreur'] = ' Veuillez corriger les érreurs .';
}
}
}
?>
<!-- message de session -->
<?php if (isset($_SESSION['message'])): ?>
<div class="message"> <?php echo $_SESSION['message']; ?></div>
<?php unset($_SESSION['message']) ?>
<?php endif ?>
<?php if (isset($_SESSION['erreur'])): ?>
<div class="errorMessage"> <?php echo $_SESSION['erreur']; ?></div>
<?php unset($_SESSION['erreur']) ?>
<?php endif ?>
<!-- formulaire d'inscription -->
<form action="signup.php" method="post" id="signup">
<h2>Inscription</h2>
<fieldset>
<p>
<label for="nom">Nom :</label>
<input type="text" name="nom" id ="nom" value="<?php echo isset($_POST['nom'])?$_POST['nom']:''; ?>">
</p>
<p>
<label for="email" class="required">Email :</label>
<input type="email" name="email" id ="email" value="<?php echo isset($_POST['email'])?$_POST['email']:''; ?>">
</p>
<?php if (!empty($erreur_email)): ?>
<div class="error"><?php echo $erreur_email; ?></div>
<?php endif ?>
<p>
<label for="password" class="required">Mot de passe :</label>
<input type="password" name="password" id ="password">
</p>
<?php if (!empty($erreur_password)): ?>
<div class="error"><?php echo $erreur_password; ?></div>
<?php endif ?>
</fieldset>
<fieldset>
<p>
<label for="adresse">Adresse :</label>
<input type="text" name="adresse" id ="adresse" value="<?php echo isset($_POST['adresse'])?$_POST['adresse']:''; ?>">
</p>
<p>
<label for="ville">Ville :</label>
<input type="text" name="ville" id ="ville" value="<?php echo isset($_POST['ville'])?$_POST['ville']:''; ?>">
</p>
<p>
<label for="codepostale">Code postale :</label>
<input type="text" name="codepostale" id ="codepostale" value="<?php echo isset($_POST['codepostale'])?$_POST['codepostale']:''; ?>">
</p>
</fieldset>
<div class="clearfix"></div>
<p class="information">* Champs requis</p>
<p>
<input type="submit" value ="S'inscrire">
</p>
</form>
<?php require 'includes/footer.php'; ?>
...............................................................................................................................
et voila le code source de la page activate.php
<?php require 'includes/includes.php'; ?>
<?php require 'includes/header.php'; ?>
<?php
if(!empty($_GET) && isset($_GET['token']) && isset($_GET['email']) ){
$token = $_GET['token'];
$email = $_GET['email'];
$q = array(
'email'=> $email,
'token'=> $token
);
$sql= 'SELECT email,token from users where email=:email AND token=:token';
$reponse = $DB->query($sql,$q);
if(!empty($reponse)){
$q = array(
'email'=> $email,
'active'=> '1'
);
$sql= 'SELECT email,active from users where email=:email AND active=:active';
$rep = $DB->query($sql,$q);
if($rep){
// deja actif
$messageErreur ='Utilisateur déja actif !.';
}else{
// activer le compte
$sql = 'UPDATE users SET active=:active WHERE email=:email';
$DB->insert($sql,array('email'=>$email,'active'=>1));
$message ='Votre compte est activé avec succés .';
}
}else{
//user inconnu
$messageErreur ='Utilisateur inconnu dans notre base !.';
}
}else{
header('location:index.php');
}
?>
<?php if (isset($message)): ?>
<div class="message"> <?php echo $message; ?></div>
<?php endif ?>
<?php if (isset($messageErreur)): ?>
<div class="errorMessage"> <?php echo $messageErreur; ?></div>
<?php endif ?>
<p>
<a href="index.php"> Retour à l'acceuil du site</a>
</p>
<?php require 'includes/footer.php'; ?>
16 juin 2020 à 12:20
Pour rappel