Interrogation sur expression reguliere
Résolu
jupiler
-
jupiler -
jupiler -
Bonjour,
A votre avis ici
if (preg_match("^[0-9]{15}$^", $ss))
signifie bien que la variable $ss doit avoir 15 caractères mini et maxi compris entre 0 et 9 ?
Merci
A votre avis ici
if (preg_match("^[0-9]{15}$^", $ss))
signifie bien que la variable $ss doit avoir 15 caractères mini et maxi compris entre 0 et 9 ?
Merci
A voir également:
- Interrogation sur expression reguliere
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Point d'interrogation dans un carré ✓ - Forum Samsung
- Signification 2 points d'interrogation sms - Forum Samsung
- Point d'interrogation à l'envers ✓ - Forum Matériel & Système
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
13 réponses
Bonjour,
Non, l'expression est incorrecte, je viens de la tester, et cela dit si la chaine contient 15 chiffres à la suites. si on en met 16 ça dit vrai et si on met 15 chiffres et une lettre (ou plus) au début ou à la fin ça dit vrai aussi.
en revanche, j'ai testé avec ça: if (preg_match("#^[0-9]{15}$#", $ss)) et ça n'a pas bugué.
Non, l'expression est incorrecte, je viens de la tester, et cela dit si la chaine contient 15 chiffres à la suites. si on en met 16 ça dit vrai et si on met 15 chiffres et une lettre (ou plus) au début ou à la fin ça dit vrai aussi.
en revanche, j'ai testé avec ça: if (preg_match("#^[0-9]{15}$#", $ss)) et ça n'a pas bugué.
quand j enlv le chapeau a ma syntaxe initial voila l erreur
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in W:\patient.php on line 32
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in W:\patient.php on line 32
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j comprends pas voila ce que j ai mis ca devrait fonctionenr mais il me le prend pas il ajoute encore
if (preg_match("#^[0-9]{15}$#", $ss))
if (preg_match("#^[0-9]{15}$#", $ss))
Etonnant!
Avec ma page de test, ça marche pourtant bien:
Avec ma page de test, ça marche pourtant bien:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Page de tests php</title>
<?php
function e($string) {
echo '<p>'. $string .' est de la bonne forme?: '. preg_match("#^[0-9]{15}$#", $string);
if (preg_match("#^[0-9]{15}$#", $string)) {
echo '-oui</p>';
}else{
echo '-non</p>';
}
}
?>
<script language="javascript">
</script>
</head>
<body>
<?php
e("012345678901234");
e("123456789012345");
e("00000000000000");
e("000000000000000");
e("7777777777777777");
e("a454654621654567");
e("a454654a621654567");
e("12345678901234565465213015462465460546046");
?>
</body>
</html>
ton stst fonctionne egalement chez moi mais pas la peut etre est ce du a l imbrication de mes if voici le code
if (isset($_POST['ok']))
{
if (preg_match("#^([0-9]){2}/([0-9]){2}/([1-2])([0-9]){3}$#", $naissance))
{
if (preg_match("#^[0-9]{15}$#", $ss))
{
$sql2= "UPDATE login SET nom='".$_POST['nom']."', prenom='".$_POST['prenom']."', naissance='".$_POST['naissance']."', ss='".$_POST['ss']."' WHERE ss='".$ss."'";
$req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
if(isset($req2))
{
echo 'Patient modifié';
$sql = "SELECT * FROM login where ss='".$ss."'";
$req = mysql_query($sql) or die( mysql_error() ) ;
$total = mysql_num_rows($req);
{
echo '<center><table class="table2">'."\n";
echo '<tr >';
echo '<td class="td-title">Nom</td>';
echo '<td class="td-title">Prénom</td>';
echo '<td class="td-title">Date de naissance</td>';
echo '<td class="td-title">Numéro de sécurité sociale</td>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($req))
{
echo '<tr>';
echo '<td class="td-p">'.$row["nom"].'</td>';
echo '<td class="td-p">'.$row["prenom"].'</td>';
echo '<td class="td-p">'.$row["naissance"].'</td>';
echo '<td class="td-p">'.$row["ss"].'</td>';
echo '</tr>'."\n";
}
echo '</table></center>'."\n";
}
}
}
else
{
echo "<script language=\"JavaScript\">\n";
echo "alert('Numéro de sécurité sociale invalide');";
echo 'window.history.back();';
echo "</script>";
}
}
else
{
echo "<script language=\"JavaScript\">\n";
echo "alert('Format date non valide');";
echo 'window.history.back();';
echo "</script>";
}
}
if (isset($_POST['ok']))
{
if (preg_match("#^([0-9]){2}/([0-9]){2}/([1-2])([0-9]){3}$#", $naissance))
{
if (preg_match("#^[0-9]{15}$#", $ss))
{
$sql2= "UPDATE login SET nom='".$_POST['nom']."', prenom='".$_POST['prenom']."', naissance='".$_POST['naissance']."', ss='".$_POST['ss']."' WHERE ss='".$ss."'";
$req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
if(isset($req2))
{
echo 'Patient modifié';
$sql = "SELECT * FROM login where ss='".$ss."'";
$req = mysql_query($sql) or die( mysql_error() ) ;
$total = mysql_num_rows($req);
{
echo '<center><table class="table2">'."\n";
echo '<tr >';
echo '<td class="td-title">Nom</td>';
echo '<td class="td-title">Prénom</td>';
echo '<td class="td-title">Date de naissance</td>';
echo '<td class="td-title">Numéro de sécurité sociale</td>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($req))
{
echo '<tr>';
echo '<td class="td-p">'.$row["nom"].'</td>';
echo '<td class="td-p">'.$row["prenom"].'</td>';
echo '<td class="td-p">'.$row["naissance"].'</td>';
echo '<td class="td-p">'.$row["ss"].'</td>';
echo '</tr>'."\n";
}
echo '</table></center>'."\n";
}
}
}
else
{
echo "<script language=\"JavaScript\">\n";
echo "alert('Numéro de sécurité sociale invalide');";
echo 'window.history.back();';
echo "</script>";
}
}
else
{
echo "<script language=\"JavaScript\">\n";
echo "alert('Format date non valide');";
echo 'window.history.back();';
echo "</script>";
}
}
A première vue il y n'y a pas d'erreur...
Essaye de faire plein d'"echo" de contrôle voir où passe le programme, le contenu des variables, ...
Essaye de faire plein d'"echo" de contrôle voir où passe le programme, le contenu des variables, ...
je viens d tester en gros tout fonctionn auf le if preg match du $ss il effectue l update comme si il n y avait pas de conditions ....