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
salut,
je me debute en Php. Depuis peu j'ai entreprit de créer un site e-commerce sous wampserver question de m'exercer en php. Tout allait bien mais depuis je bute je ne parviens pas à activer mon compte en local après avoir rempli le formulaire.. Cependant j'envoi des mails en local (Un e-mail a été envoyé a votre méssagerie avec des instructions pour activer votre compte) en cliquant sur le lien d'activation je reçois (The requested URL /ehop-final/activate.php was not found on this server.).
A voir également:

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
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

.


.
0
janyduchemin
16 juin 2020 à 12:09
rebjr
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'; ?>
0
jordane45 Messages postés 38353 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 décembre 2024 4 719 > janyduchemin
16 juin 2020 à 12:20
Comme indiqué dans mon précédent message, merci de poster ton code en utilisant les BALISES DE CODE (et en y précisant le langage afin d'avoir la coloration syntaxique, l'indentation et la numérotation des lignes)
Pour rappel

Explications ( à lire ENTIEREMENT ! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0