Expression reguilaire en php

anisss000 Messages postés 22 Statut Membre -  
anisss000 Messages postés 22 Statut Membre -
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');}
?>
A voir également:

1 réponse

Utilisateur anonyme
 
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 22 Statut Membre
 
merci mais pour windows y a pas moyen ?
0
Utilisateur anonyme
 
Pour Windows ?
Que voulez-vous dire par là ?
0
anisss000 Messages postés 22 Statut Membre
 
pour verifier l'éxistance du domaine vous m'aviez dit qu'on devait avoir une machine LINUX
0
Utilisateur anonyme
 
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 22 Statut Membre
 
merci !
0