Expression reguilaire en php

Fermé
anisss000 Messages postés 21 Date d'inscription mercredi 8 juin 2011 Statut Membre Dernière intervention 27 octobre 2011 - 10 juin 2011 à 04:01
anisss000 Messages postés 21 Date d'inscription mercredi 8 juin 2011 Statut Membre Dernière intervention 27 octobre 2011 - 10 juin 2011 à 18:38
Bonjour,


je voudré completer mon code par des verification de mes chant de text par exemple l'email doi avoir un @ sinon on affiche un message de refus le numtel doit depassé 10 caractere merci de votre aide voila mon code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>TELEDIFFUSION D'ALGERIE </title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="author" content="fatma.hassan@gmail.com" />
<meta name="description" content="FTM" />


<link rel="stylesheet" href="touching.css" type="text/css" />
</head>
<body>

<div id="container">
<div id="banner">
<div id='bannertitle'>TELEDIFFUSION D'ALGERIE</div>
</div>

<div id="outer">
<div id="inner">
<div id="left">
<div class="verticalmenu">
<ul>
<li><a href="indexprincipale.php">acceuil</a></li>
<li><a href="employe.php">Ajouter</a></li>
<li><a href="rech_emp.php">Recherche</a></li>
<li><a href="liste_emp.php">Afficher</a></li>
<li><a href="sup_emp.php">Supprimer</a></li>
</ul>
</div>



</div>

<div id="content"><h2>Les coordonnés d'un employé :</h2>
<form action="test_ajout_emp.php" method="post">
<table>
<tr>
<td>code</td>
<td><input type="text" name="code" /><br>
</tr>
<tr>
<td>nom</td>
<td><input type="text" name="nom" /><br></td>
</tr>
<tr>
<td>prenom</td>
<td><input type="text" name="prenom" /><br></td>
</tr>
<tr>
<td>adresse</td>
<td><input type="text" name="adresse" /><br></td>
</tr>
<tr>
<td>Numtel</td>
<td><input type="text" name="numtel" /><br></td>
</tr>
<tr>
<td>email</td>
<td><input type="text" name="email" /><br></td>
</tr>
<tr>
<td>Code service</td>
<td><input type="text" name="service" /><br></td>
</tr>

</table>

<br>
<input type="submit" value="valider"/>
<input type="reset" value="Effacer"/>
</form>
</div><!-- end content -->
</div><!-- end inner -->
</div><!-- end outer -->
<div id="footer"><h1><a href="http://freethoughts.ftmblog.com">copyrights©FTM</a></h1></div>
</div><!-- end container -->
</body></html>


et la c'est la cible( test_ajout_emp) voila le code :
<?php
session_start();
$_SESSION['test_ajout_centre']=false;
// connexion a la base de donnes
try
{
$bdd= mysql_connect('127.0.0.1', 'root', '');
mysql_select_db ('base_de_donnees', $bdd);
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$sql='SELECT * FROM employe WHERE code_employe =\''.mysql_real_escape_string($_POST['code']).'\' ';
$requet= mysql_query($sql) or die('erreur');
// employé n'existe pas
if(($nbr=mysql_num_rows($requet)) == 0) // donner le nombre de tuple
{
$_SESSION['test_ajout_centre']=true;
// ajouter un employé
$sql = 'INSERT INTO employe(code_employe,nom_employe,prenom_employe,adresse_employe,num_tel_employe,email_employe,code_service) VALUES
('.$_POST['code'].',\''.mysql_real_escape_string($_POST['nom']).'\',\''.mysql_real_escape_string($_POST['prenom']).'\',
\''.mysql_real_escape_string($_POST['adresse']).'\',\''.mysql_real_escape_string($_POST['numtel']).'\',
\''.mysql_real_escape_string($_POST['email']).'\',\''.mysql_real_escape_string($_POST['service']).'\')';
$req= mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

if ( $req ) {header('location:acc_employe.php');}
else {header('location:index.php'); }
}
else // existe
{$_SESSION['test_ajout_centre']=false;
header('location:form.php');}
?>

1 réponse

Utilisateur anonyme
10 juin 2011 à 07:45
Bonjour,

Pour vérifier un email vous pouvez utiliser la fonction suivante :

// Vérification stricte d'une adresse mail
    function checkEmail($email) {
        // checks proper syntax
        if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/" , $email)) {
            
        	// gets domain name
            list($username,$domain)=split('@',$email);
            
            // checks for if MX records in the DNS
            if(!checkdnsrr($domain, 'MX')) {
            	return false;
            }
            return true;
        }
        return false;
    } // Vérification stricte d'une adresse mail


Vous avez l'expression régulière en haut du code, le reste sert à vérifier l'existence du domaine, mais pour ça il faut avoir une machine LINUX

Pour un numéro de téléphone cette expression régulière fait l'affaire :

'/^(01|02|03|04|05|08)[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}[ \.\-]?[0-9]{2}$/'

Cordialement
0
anisss000 Messages postés 21 Date d'inscription mercredi 8 juin 2011 Statut Membre Dernière intervention 27 octobre 2011
10 juin 2011 à 12:33
merci mais pour windows y a pas moyen ?
0
Utilisateur anonyme
10 juin 2011 à 12:38
Pour Windows ?
Que voulez-vous dire par là ?
0
anisss000 Messages postés 21 Date d'inscription mercredi 8 juin 2011 Statut Membre Dernière intervention 27 octobre 2011
10 juin 2011 à 12:50
pour verifier l'éxistance du domaine vous m'aviez dit qu'on devait avoir une machine LINUX
0
Ha oui pardon...
Je n'ai pas trouvé équivalent sous Windows, mais mes applications Web sont toutes sur des serveurs LINUX, donc je n'ai pas vraiment cherché non plus.
Ceci dit la fonction checkdnsrr() dépend souvent du réseau et des fois elle donne une fausse alerte, donc vous pouvez éventuellement la zapper.
0
anisss000 Messages postés 21 Date d'inscription mercredi 8 juin 2011 Statut Membre Dernière intervention 27 octobre 2011
10 juin 2011 à 13:57
merci !
0