Impossible d'activer mon compte en local
Résolu/Fermé
Janyduchemin
-
Modifié le 16 juin 2020 à 09:17
jordane45 Messages postés 38353 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 décembre 2024 - 16 juin 2020 à 12:20
jordane45 Messages postés 38353 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 décembre 2024 - 16 juin 2020 à 12:20
A voir également:
- Impossible d'activer mon compte en local
- Appdata local - Guide
- Impossible de récupérer mon compte gmail - Guide
- Créer un compte google - Guide
- Créer un compte gmail - Guide
- Comment activer windows 10 - Guide
1 réponse
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
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