par
moogli » 11 juil. 2016, 13:00
bonjour,
il pourrait être intéressant de s’intéresser à la syntaxe de php
http://php.net/while
Actuellement ton code devrait indiquer pas mal d'erreur, notamment de variable inexistante.
il te faut donc placer correctement les accolades.
Actuellement ton code envoi un mail à '<
[email protected]>' : ce qui je pense n'est pas le but recherché
Tu sembles avoir mélanger plusieurs morceau de code pris à droite et à gauche sur le net sans savoir quoi en faire.
ton code actuel ne peux pas fonctionner parce qu'il ne compile pas ligne 27 (environ, c'est la ligne du query).
Donc
- Utilise l'extension mysqli plutôt que l'extension mysql qui est supprimer des dernières versions (+ performance, sécurité etc.).
- Les deux de bouts de dates en php sont totalement inutiles tout peux être fait en SQL.
- La variable headers n'est pas définie
- l'envoi d'email doit être fait dans le while et non en dehors.
Voilà a quoi peu ressembler ton code.
<?php
// Déclaration des paramètres de connexion
$host = localhost;
$user = '';
$bdd = '';
$passwd = '';
// Connexion au serveur
$mysqli = new mysqli($host, $user, $passwd, $bdd);
if ($mysqli->connect_error) {
die('Erreur de connexion ('.$mysqli->connect_errno.') '.$mysqli->connect_error);
}
$result = $bdd->query('SELECT nom, prenom, email FROM Anniversaire WHERE MONTH(date_anniv) = month(current_date) AND DAY(date_anniv) = day(current_date)');
//Envoi Mail
$sujet = 'Bon anniversaire';
$headers = ''; // a définir .....
// On affiche chaque entrée une à une
while ($data = $result->fetch_object()) {
$message = sprintf('Bon anniversaire %s %s', $data->prenom, $data->nom);
if (mail($sujet, $message, $data->email, $headers)) {
echo 'L\'email a bien été envoyé.';
} else {
echo 'Une erreur s\'est produite lors de l\'envois de l\'email à ', $data->prenom , ' ' , $data->nom , ' (', $data->email , ')';
}
}
$result->close();
ps : un titre clair est demandé afin de permettre a d'autre personne d'éventuellement trouver une solution en s'appuyant sur ton problème et aussi d'aider les éventuelles personnes qui souhaitent t'aider en sélectionnant les sujet où ils souhaitent participer.
@+
bonjour,
il pourrait être intéressant de s’intéresser à la syntaxe de php ;) [url]http://php.net/while[/url]
Actuellement ton code devrait indiquer pas mal d'erreur, notamment de variable inexistante.
il te faut donc placer correctement les accolades.
Actuellement ton code envoi un mail à '<
[email protected]>' : ce qui je pense n'est pas le but recherché ;)
Tu sembles avoir mélanger plusieurs morceau de code pris à droite et à gauche sur le net sans savoir quoi en faire.
ton code actuel ne peux pas fonctionner parce qu'il ne compile pas ligne 27 (environ, c'est la ligne du query).
Donc
- Utilise l'extension mysqli plutôt que l'extension mysql qui est supprimer des dernières versions (+ performance, sécurité etc.).
- Les deux de bouts de dates en php sont totalement inutiles tout peux être fait en SQL.
- La variable headers n'est pas définie
- l'envoi d'email doit être fait dans le while et non en dehors.
Voilà a quoi peu ressembler ton code.
[php]<?php
// Déclaration des paramètres de connexion
$host = localhost;
$user = '';
$bdd = '';
$passwd = '';
// Connexion au serveur
$mysqli = new mysqli($host, $user, $passwd, $bdd);
if ($mysqli->connect_error) {
die('Erreur de connexion ('.$mysqli->connect_errno.') '.$mysqli->connect_error);
}
$result = $bdd->query('SELECT nom, prenom, email FROM Anniversaire WHERE MONTH(date_anniv) = month(current_date) AND DAY(date_anniv) = day(current_date)');
//Envoi Mail
$sujet = 'Bon anniversaire';
$headers = ''; // a définir .....
// On affiche chaque entrée une à une
while ($data = $result->fetch_object()) {
$message = sprintf('Bon anniversaire %s %s', $data->prenom, $data->nom);
if (mail($sujet, $message, $data->email, $headers)) {
echo 'L\'email a bien été envoyé.';
} else {
echo 'Une erreur s\'est produite lors de l\'envois de l\'email à ', $data->prenom , ' ' , $data->nom , ' (', $data->email , ')';
}
}
$result->close();[/php]
ps : un titre clair est demandé afin de permettre a d'autre personne d'éventuellement trouver une solution en s'appuyant sur ton problème et aussi d'aider les éventuelles personnes qui souhaitent t'aider en sélectionnant les sujet où ils souhaitent participer.
@+