Interrogation sur expression reguliere
Résolu/Fermé
A voir également:
- Interrogation sur expression reguliere
- Point d'interrogation à l'envers ✓ - Forum Word
- Emoji 2 points d'interrogation ✓ - Forum Téléphones & tablettes Android
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
- Expression de recherche - Guide
- Emoji point d'interrogation ✓ - Forum Samsung
13 réponses
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
18 août 2009 à 12:15
18 août 2009 à 12:15
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é.
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
18 août 2009 à 14:01
18 août 2009 à 14:01
Es-tu bien sûr d'avoir enlevé le dernier "^"?
dans mes tests avec 16 chiffres ça ne marche pas...
dans mes tests avec 16 chiffres ça ne marche pas...
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
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
18 août 2009 à 14:18
18 août 2009 à 14:18
N'oublie pas les "#" en début et fin de chaine alors ^^
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))
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
18 août 2009 à 14:31
18 août 2009 à 14:31
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>";
}
}
M@dien
Messages postés
437
Date d'inscription
mercredi 29 juillet 2009
Statut
Membre
Dernière intervention
23 septembre 2010
74
18 août 2009 à 15:03
18 août 2009 à 15:03
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 ....
pour info Pour tester j ai mis ca
if (preg_match("#^[1]{1}$#", $ss))
et la il me prend bien en compte mon expression reguliere ...
if (preg_match("#^[1]{1}$#", $ss))
et la il me prend bien en compte mon expression reguliere ...