Bonjour,
Voila je rencontre un petit problème avec mon code.
je suis sur la chaine youtube de grafikart le tuto sur l espace membre. Au niveau de l email de confirmation je la reçois jamais sur ma boite pourtant j 'ai suivi pas à pas son tuto.
Décrivez ici votre code ou ce que vous cherchez à faire
voila ma partie php
<?php require 'inc/header.php'; ?>
<?php
if(!empty($_POST)){
$errors=array();
require_once 'inc/db.php';
if(empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9]+$/', $_POST['username']))
{
$errors['username'] ="Votre pseudo n'est pas valide (alphanumérique) !";
}else{
$req= $pdo->prepare('SELECT id FROM users WHERE username=?');
$req->execute([$_POST['username']]);
$user=$req->fetch();
if($user){
$errors['username']='Ce pseudo est déjà pris!';
}
}
if(empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
$errors['email'] ="Votre email n'est pas valide! !";
}else{
$req= $pdo->prepare('SELECT id FROM users WHERE email=?');
$req->execute([$_POST['email']]);
$user=$req->fetch();
if($user){
$errors['email']='Cet email est déjà utilisé!';
}
}
if(empty($_POST['password']) || $_POST['password'] != $_POST['password_confim'])
{
$errors['password']="Vous devez entrer un mot de passe valide!";
}
if(empty ($errors))
{
$req=$pdo->prepare("INSERT INTO users SET username=?,email=?,password=?, confirmation_token= ?");
$password = crypt ( $_POST['password']);
$token = str_random(60);
$req->execute([$_POST['username'],$password,$_POST['email'],$token]);
$user_id= $pdo->lastInsertId();
mail($_POST['email'], 'Confirmation de votre compte',"Afin de valider votre ccompte veuillez cliquer su ce lien\n\nhttp://localhost/myapp/comfirm.php?id=$user_id&token=$token");
$_SESSION['flash']['success'] = 'Un email de confirmation vous a été envoyé';
header('Location:login.php');
exit();
}
debug($errors);
}
?>
Entourez votre code avec ce symbole ```
### Ce que je veux
Décrivez ici ce que vous cherchez à obtenir
### Ce que j'obtiens
Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(
Bonjour,
La configuration de votre Serveur SMTP ne doit pas etre bonne dans le php.ini
Bon courage
Bonjour.
Pour se connecter à MailDev, ce n'est pas le port 25 mais le port 1025.
Si tu as lancé maildev en ligne de commandes, tu ne pourrais pas te tromper vu qu'une fois qu'il est lancé, tu as le retour sur la console avec le message qui te dit qu'il écoute sur le port 1025.
Une petite astuce au passage, en faisant la commande maildev -o
l'interface web s'ouvrira automatiquement dans ton navigateur s'il ne rencontre pas de problème pour se connecter.
J ai tout cherché sur internet et j arrive vraiment pas. Est ce que je peux continuer le tuto en enlevant la partie send mail
ou bien svp, vous pouvez me dire qu est ce que je dois changer dans cette partie
; For Win32 only.
; http://php.net/smtp
SMTP = 127.0.0.1
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com
le SMTP ne dois pas etre ton adresse local c'est la le problème regarde sur internet les SMTP ouvert sinon regard dans la section tuto y a un tuto sur MAILDEV très intéressant pour ton cas
J' ai suivi le tuto et g un autre probleme Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() (pour le port g mis au debut 1025 et c la meme chose)