rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[PHP] Probleme validation adresse email

edi, le vendredi 16 novembre 2007 à 17:36:14
Bonjour,
Voilà,
J'ai un pied de page dans ma page php où l'utilisateur peut saisir son adresse email. Ce pied de page appraît sur toutes les pages à l'identique.
Je ne parviens pas à mettre les controles nécessaires de validation de cette adresse pas plus que de renvoyer la page "merci.php" comme validation de cette adresse.
Voici mon code. Si qqun peut m'aider, ce serait super.

En tête du fichier "pied de page.php":

<? php
function test_email($email)
{
if (isset($_POST['ok'])) {
if (empty($_POST['email'])) {
$message = "Indiquez votre adresse email";
} else {
if( eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email) )
{ // L'adresse email est valide
header('Location: ../merci.php');}
else { // L'adresse email n'est pas valide
$message = "Adresse non valide";}}}
?>

Dans mon <body>

<table class="largeur_table" >
<tr height="5">
<td width="30"> </td>
<td width="530"> </td>
<td width="5"> </td>
<td width="140"><?php if (isset($message)) echo $message;?></td>
<td width="30"> </td>
</tr>
</table>

<table class="largeur_table">
<tr class="pied_page" >
<td width="30"> </td>
<td width="530" id="position_pp" >Copyright © 2006-2008. Tous droits réservés</td>
<td width="5"> </td>
<td width="140" id="log">
<div ><form method="post" action="">
<input name="email" onclick="this.value=''" value="Inscription Newsletter" type="text" class="login-field" />
<input name="ok" type="submit" value="OK" class="ok-field"/></form></div></td>
<td width="30"> </td>
</tr>
</table>

Merci encore.
ed
Configuration: Windows XP
Firefox 2.0.0.9
Répondre à edi  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Alain42, le vendredi 16 novembre 2007 à 18:20:25
Bonsoir,

qqs remarques:

- ton tag <? php n'est pas bon il y a un espace entre >, et php
- dans <form... action=''> tu n'appelles pas de fichier pour traiter ton formulaire
- pourquoi as tu mis function test_mail, tu peux mettre ça directement dans ton script " traitement.php"



<?php
if (isset($_POST['ok'])) {
	if (empty($_POST['email'])) {
		$message = "Indiquez votre adresse email";
	} else {
		if( eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email) ){ // L'adresse email est valide
			header('Location: ../merci.php');
		}else { // L'adresse email n'est pas valide
			$message = "Adresse non valide";
		}
	}
}
?> 


et si tu mets <form method=post" action=traitement.php">

et attention le header doit être envoyé avant tout caractère HTML, même pas une ligne vide au début du fichier
Répondre à Alain42

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
edi, le vendredi 16 novembre 2007 à 19:14:02
Enooooorme Merci Alain,

Les contrôles fonctionnent.
Effectivement, les espaces en trop, le <?php... et la function qui n'avait pas lieu d'etre.
Tout ceci est super.
Je mets <form action=""> car je souhaite que, s'il y a erreur, le message s'affiche avant que la page soit envoyée.

Si l'adresse email est correct, en revanche, pb avec mon header... Il me met un message de warning
Warning: Cannot modify header information - headers already sent by (output started at /aaa/bbb/www/blablabla/communication.php:11) in /aaa/bbb/www/blablabla/include/pied-de_page.php on line 7

Effectivement dans mon fichier communication.php, en ligne 153, j'ai fait un include de mon pied de page...

Je vais chercher une solution [peut être est-ce mon chemin d'accès] mais si déjà, c'est limpide pour toi, ou qqun, surtout faites moi signe.
Merci encore pour avoir débloqué ma situation.
ed.
Répondre à edi

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
edi, le vendredi 16 novembre 2007 à 20:31:18
Je complète au fur et a mesure que je trouve des solutions.

1 - pour le warning, je n'ai pas trouvé mieux que de mettre du javascript à la place du header.

echo '<script language="Javascript">
<!--
document.location.replace("merci.php");
// -->
</script>';
//header('Location:merci.php');

2 - qd je parviens à passer sur la page "merci.php", l'adresse email n'a pas suivi.


Help !
Merci d'avance à ceux qui se pencheront avec indulgence sur mon cas.
ed
Répondre à edi

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
aztazt, le vendredi 16 novembre 2007 à 20:40:30
Bonjour,
Non, tu étais sur la bonne voie !
Remets ton header !
Pour que nous corrigions ton pb, envoie-nous le contenu exact (à la ligne vide près, oui oui, c'est important pour le header) de tes fichiers communication.php et pied-de_page.php

Ha oui, et aussi, aujourd'hui, on n'utilise plus directement la variable transmise par le formulaire avec $var mais on utilise $_POST['var'].
Répondre à aztazt

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
edi, le vendredi 16 novembre 2007 à 23:14:50
Bonsoir,
Tout d'abord, encore merci de votre aide.
J'ai bien compris que le pb du header c'était les caractères blancs dans le fichier communication.
Mais j'ai au moins une vingtaine de pages avec le même pied de page en include dans le bas de mes pages html. Et donc, trop de boulot de poster tout mon site ici.
Alors, comme je n'ai pas trouvé les espaces blancs qui posent probleme, j'ai contourné le pb autrement.

Plus de header mais le message merci avec envoi confirmation à l'expediteur et au destinataire dans le fichier pied de page. Ce qui donne maintenant:

<?php
if (isset($_POST['ok'])) {
if (empty($_POST['email'])) {
$message = "Indiquez votre adresse email";
} else {
if( eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email) ){ // L'adresse email est valide
Mail("$notremail","$sujet","$m2","from: $notremail");
Mail($email, $sujet, $txt, $headers);
$message = "Merci ! Vous êtes inscrit.";
} else { // L'adresse email n'est pas valide
$message = "Adresse non valide";
}
}
}
?>

Voilà. En espérant que cela puisse aider certains.
ed
Répondre à edi

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Alain42, le samedi 17 novembre 2007 à 09:58:56
Bonjour,

Si j'ai bien compris, ce code c'est celui de ton pied de page, cela veut dire que tu l'inclue dans toutes tes pages à la fin de celles ci.

Donc si dans ce pied de page tu mets un header(), forcément il y tout le reste de la page qui est envoyé au navigateur avec avant (beaucoup) de HTML, et ton header() ne marchera pas.

Il faut trouver une autre solution que le header(), c'est ce que tu as fait.

@lain
Répondre à Alain42

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
edi, le samedi 17 novembre 2007 à 21:10:44
Effectivement @lain,

Merci pour cette précision, cela me conforte dans la nouvelle voie que j'ai trouvé. J'ai eu du mal à renoncer au header !!

En même temps, je trouve cela facile en cas de modification d'avoir un pied de page que je peux changer une seule fois et qui s'applique à toutes mes pages. Pas question de renoncer alors à mon include... lol

ed
Répondre à edi

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 valerie, le dimanche 18 mai 2008 à 10:59:47
depuis que mon mai yahoo est deconnesté je n'arrive plus à la validé voila je demande de l'aide cce mail est :valerie_ncho@yahoo.fr
Répondre à valerie
[Webmaster] Protéger les adresses email contre les botsProtéger les adresses email contre les bots Vous êtes webmaster et pour une raison x, vous stockez l'adresse email de plusieurs membres de votre site . Ces adresses sont consultables dans leur profil (ex: forum, blog etc....). Or, aujourd'hui,... www.commentcamarche.net/faq/sujet-3621-webmaster-proteger-les-adresses-email-contre-les-bots
Comment trouver une adresse émail? (Résolu)Bonjour tout le monde, Comment trouver l'adresse émail complète d'une personne à partir uniquement d'une partie de cette adresse.(je ne connais que la première motié et j''ai perdu l'autre moi y compris le nom du... www.commentcamarche.net/forum/affich-2205282-comment-trouver-une-adresse-email
[MSN] supprimer mon adresse email sur msn (Résolu)bja a tous je voudrais d el'aide svp comment faire pour supprimer mon adresse email qui est sur msn jai pu effacet sur msn explorer mon compte meais mon adresse email existe toujours pourquoi aider moi svp un grand merci !!!! www.commentcamarche.net/forum/affich-773713-msn-supprimer-mon-adresse-email-sur-msn
[PHP] Vérifier une adresse électronique (format du mail)Il existe plusieurs manières de déterminer si une variable contient une adresse email valide. Ces techniques ne vérifient pas si l'adresse email existe bien mais elles déterminent si la chaine contenue dans une variable respecte bien le format d'une... www.commentcamarche.net/faq/sujet-855-php-verifier-une-adresse-electronique-format-du-mail
Obtenir une adresse jetablePlusieurs sites vous permettent de créer une adresse jetable (ou adresse email anti-spam), pour l'utiliser sur un site auquel vous ne faites pas confiance mais qui requiert une adresse e-mail. Qu'est-ce qu'une adresse jetable? Il s'agit d'une... www.commentcamarche.net/faq/sujet-7751-obtenir-une-adresse-jetable
Lutter contre le spamLutter contre le spam Objectif des spammeurs trouver des adresses emails valides spammer si possible anonymement ou peut-être bientôt, légalement Eviter de communiquer son adresse Que proposent les FAI actuellement ? Installer un soft... www.commentcamarche.net/faq/sujet-244-lutter-contre-le-spam
Créer une liste d'adresses email pour envoyer ma n (Résolu)j'ai créé mon site. Et je dois créer des listes d'adresses email pour informer régulièrement mes visiteurs. J'ai Outlook Express et Imac.. rien n'est dit dans l'aide de outlook ni dnas celle d'explorer. Comment ça marche ? www.commentcamarche.net/forum/affich-47-creer-une-liste-d-adresses-email-pour-envoyer-ma-n
Création d'une adresse email (Résolu)Bonjour, Après de longues heures, j'ai réussi à configurer ma messagerie dans Outloock express 6 !! Pour vérification du fonctionnement, je me suis adréssée un message : l'opération s'est bien déroulée. J'ai donc une adresse email... www.commentcamarche.net/forum/affich-2105577-creation-d-une-adresse-email
Création d'adresse Email chez Free (Résolu)Bonjour à tous, Cela fait plusieurs années que je possède une connexion ADSL chez Free, Pour la 1ère fois j ai tenté de me créer un 2ème compte Email et impossible. La console Free ne me propose pas de créer une nouvelle adresse Email. Je n'ai... www.commentcamarche.net/forum/affich-3044620-creation-d-adresse-email-chez-free
Avanquest ABBYY PDF Transformer 2.0 ProAvanquest ABBYY PDF Transformer 2.0 Pro,,''ABBYY PDF Transformer 2.0 Pro'' Solution pour créer et convertir des PDF vers et à partir de MS Word et d’autres formats, reconnaissance des liens hypertextes, URL et adresses emails, CD-ROM e www.commentcamarche.net/guide-achat/avanquest-abbyy-pdf-transformer-2-0-pro-469198769-fiche-technique
Toutes les réponses pour « [PHP] Probleme validation adresse email »