Livre d'or & envoi mail
Posté : 01 déc. 2005, 00:04
Bonsoir !!
Encore moi
Je suis de nouveau confronté à quelques problèmes.
J'ai fais un formulaire qui fonctionne presque parfaitement avec deux options un envoi par mail, et un affichage comme livre d'or, seuls bémols :
- Lors de l'envoi du formulaire pour le faire afficher en dessous, il m'affiche une page blanche, comment faire pour qu'il revienne à la page actualisée du nouveau message.
- Lors de l'essai de l"envoi par mail, il m'affiche carrément un message d'erreur :
Warning: mysql_close(): no MySQL-Link resource supplied in / .... on line 182
Je ne comprends pas puisque je ferme bien ma connection à la fin de mon code php.
Voici le code :
Encore moi
Je suis de nouveau confronté à quelques problèmes.
J'ai fais un formulaire qui fonctionne presque parfaitement avec deux options un envoi par mail, et un affichage comme livre d'or, seuls bémols :
- Lors de l'envoi du formulaire pour le faire afficher en dessous, il m'affiche une page blanche, comment faire pour qu'il revienne à la page actualisée du nouveau message.
- Lors de l'essai de l"envoi par mail, il m'affiche carrément un message d'erreur :
Warning: mysql_close(): no MySQL-Link resource supplied in / .... on line 182
Je ne comprends pas puisque je ferme bien ma connection à la fin de mon code php.
Voici le code :
<?php
if(!empty ($_POST['nom']) and !empty($_POST['mail']) and !empty($_POST['texte']))
{
if (isset($REMOTE_ADDR))
{
$ip = $REMOTE_ADDR;
}
else
{
$ip = "";
}
$date = date("d/m/Y");
$heure = date("H:i");
$mail = htmlentities($_POST['mail']);
$nom = htmlentities($_POST['nom']);
$message = $_POST['texte'];
// vérification de l'e-mail
$atom = '[-a-z0-9!#$%&\'*+/=?^_`{|}~]'; // caractères autorisés avant l'arobase
$domain = '([a-z]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
$regex = '^' . $atom . '+' . // Une ou plusieurs fois les caractères autorisés avant l'arobase
'(\.' . $atom . '+)*' . // Suivis par zéro point ou plus
// séparés par des caractères autorisés avant l'arobase
'@' . // Suivis d'un arobase
'(' . $domain . '{1,63}\.)+' . // Suivis par 1 à 63 caractères autorisés pour le nom de domaine
// séparés par des points
$domain . '{2,63}$'; // Suivi de 2 à 63 caractères autorisés pour le nom de domaine
// test de l'adresse e-mail
if (eregi($regex, $mail))
{
$avis = htmlentities($_POST['texte']);
if($_POST['butMessage'] == 'avis')
{
include('../inclusion/loupe.inc');
mysql_connect($base, $user, $passe);
mysql_select_db('base');
mysql_query("INSERT INTO commentaires VALUES('', '$date', '$heure', '$nom', '$ip', '$avis')");
}
else
{
$to = 'mon mail';
$sujet = 'message de'.$nom;
mail($to, $sujet, $mail);
}
}
else
{
echo "<p>L'adresse e-mail $mail n'est pas valide</p>";
}
}
else
{
?>
// affichage du formulaire
<?php
include('../inclusion/loupe.inc');
mysql_connect($base, $user, $passe);
mysql_select_db('ma base');
$listage = mysql_query("SELECT * FROM commentaires");
while($affichage = mysql_fetch_array($listage))
{
echo'
<div class="messageInter">
<div class="hautMessage"><p class="hautMessageD"></p>
<span>Message posté par '.$affichage["nom"].'</span>
<span> Le '.$affichage["date"].' à '.$affichage["heure"].'</span>
</div>
<p class="messageCorps">'
.$affichage["message"].
'</p>
</div>';
}
}
mysql_close();
?>
Ps: j'avais aperçu sur le forum une autre façon de vérifier une adresse mail, mais je ne trouve plus le lien, si vous savez où est ce topic, merci