Message d'alerte pour eviter d'enregistrer la meme donner

msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013 - 5 nov. 2011 à 09:31
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013 - 5 nov. 2011 à 22:03
salut . j'ai crée un code php qui marche très bien . mais je voudrai juste qu'elle m'affiche un message d'erreur pour éviter les doublons .
par exemple si toto existe déjà dans la base de donnée si par distraction l'utilisateur oubli du'il a déjà enregistré toto qu'il veux à nouveau réenregistrement toto il reçoit un message javascript qui lui signifie qu'il a déjà enregistrer toto.
merci de bien vouloir m'aider.
voici le code qui déjà marche très bien :
<?php
$date = date("d-m-Y");
$heure = date("H:i");
echo 'Nous sommes le '.$date.' et il est '.$heure;
?>

<?php
if (isset($_POST["valider"])) {
    $lesite=trim($_POST["lesite"]);
    $matricule=trim($_POST["matricule"]);
    $nom1=trim($_POST["nom1"]);
$lien1=trim($_POST["lien1"]);
$sexe1=trim($_POST["sexe1"]);
$age1=trim($_POST["age1"]);
$etat1=trim($_POST["etat1"]);
$niveau1=trim($_POST["niveau1"]);
$nationalite1=trim($_POST["nationalite1"]);
$ethnie1=trim($_POST["ethnie1"]);
$religion1=trim($_POST["religion1"]);
$activite1=trim($_POST["activite1"]);
$occupation1=trim($_POST["occupation1"]);
$activite2=trim($_POST["activite2"]);
$occupation2=trim($_POST["occupation2"]);
$bcg1=trim($_POST["bcg1"]);
$polio1=trim($_POST["polio1"]);
$fievre1=trim($_POST["fievre1"]);
$rougeole1=trim($_POST["rougeole1"]);
$deparasitage1=trim($_POST["deparasitage1"]);
$meningite1=trim($_POST["meningite1"]);
$meningite2=trim($_POST["meningite2"]);


//if (empty($victimematricule)) {
//$msg="Veuillez saisir  le numero matricule de la victime!!!!!!!!!";
//}
//else {

//On se connecte à la base de donnée  
           include("connection.php");
     
    // on regarde si l'url existe déjà 
    $sql = "SELECT nom1 FROM enfant WHERE nom1='$nom1'"; 
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());  
     
    // on compte le nombre de résultats 
    $res = mysql_num_rows($req); 

    if($res!=0)  // l'url existe déjà, on affiche un message d'erreur 
        { 
        echo 'Désolé, mais ce nom  existe déjà dans notre base.'; 
        } 
    else  // L'url n'existe pas, on insère les informations du formulaire dans la table 
        { 

            $sql = "INSERT INTO enfant(      id_enfant,lesite,matricule,nom1,lien1,sexe1,age1,etat1,niveau1,nationalite1,ethnie1,religion1,activite1,occupation1,activite2,occupation2,bcg1,polio1,fievre1,rougeole1,deparasitage1,meningite1,meningite2)																																																																																																																																																																																				VALUES('','".$lesite."','".$matricule."','".$nom1."','".$lien1."','".$sexe1."','".$age1."','".$etat1."','".$niveau1."','".$nationalite1."','".$ethnie1."','".$religion1."','".$activite1."','".$occupation1."','".$activite2."','".$occupation2."','".$bcg1."','".$polio1."','".$fievre1."','".$rougeole1."','".$deparasitage1."','".$meningite1."','".$meningite2."')";
// on insère les informations du formulaire dans la table  
mysql_query($sql) or die('Erreur SQL !'.$sql.'
'.mysql_error());
echo 'Les informations sur le premier enfant ont été ajoutées dans la base de données.';
}

}
?>




<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="ROBOTS" content="all">
<meta name="keywords" content="mot clé 1,mot cle 2,Mot clé 3, Mots clefs">
<meta name="title" content="titre de votre page">
<title>titre de votre page</title>
<style type="text/css">
<!--
.Style1 {font-size: 12px}
.Style2 {color: #FFFFFF;
font-weight: bold;
}
.Style3 {color: #FFFFFF}
.Style4 {
color: #0000FF;
font-weight: bold;
}
-->
</style>

</head>


<form id="form1" name="form1" method="post" action="">
  <table width="1177" border="0" align="center" bordercolor="#FFFFFF" bgcolor="#FF00FF">
----,

<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\" width=\"107\" height=\"18\" title=\"Accueil\">

</object>

</td>
,
,
,
,
,
,

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="107" height="18" title="RECHERCHE">

</object>

</td>
      <td width="1"> </td>
    </tr>
    <tr>
      <td width="1"> </td>
      <td colspan="2" rowspan="2">ENREGISTREMENT DES MENBRES DU MENAGE,

----

SITE,
,

----

MATRICULE DE LA VICTIME ,
<label>

</label>,

----

NOM ET PRENOM DES MEMBRES DU MENAGE ,
<label>

</label>,

----

<select name="lien1">
<option>LIEN</option>
<option>LIEN DE PARENTE</option>
<option>CM/PE.....1</option>
<option>Conjoint...2</option>
<option>Enfts......3</option>
<option>Parents....4</option>
<option>sans lien....5</option>
</select>,
<select name="sexe1">
<option>M...1</option>
<option>F...2</option>
<option>SEXE</option>
</select>,
<label>
<select name="age1">
<option>AGE</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
<option>32</option>
<option>33</option>
<option>34</option>
<option>35</option>
<option>36</option>
<option>37</option>
<option>38</option>
<option>39</option>
<option>40</option>
<option>41</option>
<option>42</option>
<option>43</option>
<option>44</option>
<option>45</option>
<option>46</option>
<option>47</option>
<option>48</option>
<option>49</option>
<option>50</option>
<option>51</option>
<option>52</option>
<option>53</option>
<option>54</option>
<option>55</option>
<option>56</option>
<option>57</option>
<option>58</option>
<option>59</option>
<option>60</option>
<option>61</option>
<option>62</option>
<option>63</option>
<option>64</option>
<option>65</option>
<option>66</option>
<option>67</option>
<option>68</option>
<option>69</option>
<option>70</option>
<option>71</option>
<option>72</option>
<option>73</option>
<option>74</option>
<option>75</option>
<option>76</option>
<option>77</option>
<option>78</option>
<option>79</option>
<option>80</option>
<option>81</option>
<option>82</option>
<option>83</option>
<option>84</option>
<option>85</option>
<option>86</option>
<option>87</option>
<option>88</option>
<option>89</option>
<option>90</option>
<option>91</option>
<option>92</option>
<option>93</option>
<option>94</option>
<option>95</option>
<option>96</option>
<option>97</option>
<option>98</option>
<option>99</option>
<option>100</option>
<option>1mois</option>
<option>2mois</option>
<option>3mois</option>
<option>4mois</option>
<option>5mois</option>
<option>6mois</option>
<option>7mois</option>
<option>8mois</option>
<option>9mois</option>
<option>10mois</option>
<option>11mois</option>
</select>
</label>,
<label>
<select name="etat1">
<option>Célibataire.........1</option>
<option>Marié................2</option>
<option>Union libre.........3</option>
<option>Divorcé...........4</option>
<option>Séparé..........5</option>
<option>veuf............6</option>
<option>sans objet.......8</option>
</select>
</label>,
<label>
<select name="niveau1">
<option>Sans niveau.....1</option>
<option>Primaire..........2</option>
<option>Secondaire......3</option>
<option>Supérieur.......6</option>
<option>Sans objet......8</option>
</select>
</label>,

----

,
,
,
AVANT LA CRISE,
APRES LA CRISE,

----

<label>
<select name="nationalite1">
<option>NATIONALITE</option>
<option>ivoirienne.......1</option>
<option>Béninoise.......2</option>
<option>Burkinabé......3</option>
<option>Ghaniénne........4</option>
<option>malienne.........5</option>
<option>nigérianne......6</option>
<option>Nigeirenne......7</option>
<option>Togolaise........8</option>
<option>Libérienne......9</option>
<option>Africaine........10</option>
<option>Française........11</option>
<option>Libanaise.......12</option>
<option>A. nation.........13</option>
</select>
</label>
<label></label>,
ETHNIE
(Si Ivoirien)
,
<label>
<select name="religion1">
<option>catholique......1</option>
<option>protestant........2</option>
<option>musulman......3</option>
<option>animiste......4</option>
<option>aucune.....5</option>
<option>sans objet......6</option>
</select>
</label>,
<label>
<select name="activite1">
<option>Agric.......1</option>
<option>S. privé...2</option>
<option>S.public....3</option>
<option>S.Info......4</option>
<option>Sans emploi....5</option>
<option>sans objet.....8</option>
</select>
</label>,
<label>

OCCUPATION PRINCIPALE

</label>,
SECTEUR D ACTIVITE,
OCCUPATION PRINCIPALE,

----

<select name="occupation1">
<option></option>
<option>Employeur........1</option>
<option>Employé..........2</option>
<option>Fonctionnaire...3</option>
<option>Agriculteur.......4</option>
<option>Commerçante...5</option>
<option>Ouvrier..........6</option>
<option>Elève/etudiant....7</option>
<option>Ménagère........8</option>
<option>Apprenti..........9</option>
<option>Sans objet........88</option>
</select>,
<select name="activite2">
<option></option>
<option>Agric.......1</option>
<option>S. privé...2</option>
<option>S.public....3</option>
<option>S.Info......4</option>
<option>Sans emploi....5</option>
<option>sans objet.....8</option>
</select>,
<select name="occupation2">
<option></option>
<option>Employeur........1</option>
<option>Employé..........2</option>
<option>Fonctionnaire...3</option>
<option>Agriculteur.......4</option>
<option>Commerçante...5</option>
<option>Ouvrier..........6</option>
<option>Elève/etudiant....7</option>
<option>Ménagère........8</option>
<option>Apprenti..........9</option>
<option>Sans objet........88</option>
</select>,

----

<select name="bcg1">
<option>pas BCG</option>
<option>BCG</option>
</select>,
<label>
<select name="polio1">
<option>pas DT COQ POLIO +HB</option>
<option>DT COQ POLIO +HB</option>
</select>
</label>,
<label>
<select name="fievre1">
<option>pas FIEVRE JAUNE</option>
<option> FIEVRE JAUNE</option>
</select>
</label>,
<label>
<select name="rougeole1">
<option>pas ROUGEOLE</option>
<option> ROUGEOLE</option>
</select>
</label>,
<label>
<select name="deparasitage1">
<option>DEPARASITAGE</option>
<option>OUI</option>
<option>NON</option>
</select>
</label>,
<label>
<select name="meningite1">
<option>CHOISIR</option>
<option>Méningite</option>
<option>typhoide</option>
</select>
</label>,

----

<select name="meningite2">
<option>CHOISIR</option>
<option>Méningite</option>
<option>typhoide</option>
</select>,

----

,
,

</td>
    </tr>
    <tr>
      <td height="392"> </td>
    </tr>
    <tr>
      <td height="73"> </td>
      <td>
</td>
      <td> </td>
    </tr>
  </table>
</form>

</html>

8 réponses

cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
5 nov. 2011 à 14:15
BONJOUR
EST LA SECURITE ?





0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
5 nov. 2011 à 14:17
j'ai inversé un > et < excuses ++
remplace par
/*IMPORTANT*/

include("connection.php");

/*faut securiser*/
foreach($_POST as $k => $v){
$v=mysql_real_escape_string(strip_tags($v));
$_POST[$k]=$v;
}


/*faut securiser*/
foreach($_GET as $k => $v){
$v=mysql_real_escape_string(strip_tags($v));
$_POST[$k]=$v;
}

Bonne programmation !
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
5 nov. 2011 à 15:55
salut merci pour ton aide . j'ai testé et vraiment c'est super .
je voudrai savoir si je peu ajouter :
/*IMPORTANT*/

include("connection.php");

/*faut securiser*/
foreach($_POST as $k => $v){
$v=mysql_real_escape_string(strip_tags($v));
$_POST[$k]=$v;
}


/*faut securiser*/
foreach($_GET as $k => $v){
$v=mysql_real_escape_string(strip_tags($v));
$_POST[$k]=$v;
}
dans tout mes fichiers y compris les fichier des requêtes.
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
5 nov. 2011 à 16:16
oui donc toujours aprés
include("connection.php");
car mysql_real_escape_string doit etre utilisé
connecter ...

tu peux même faire une fonction direct
dans connection.php ça t'évite de le faire à chaque fois

new avec trim direct
connection.php
<?php
function prepareEnregistrer(){

  foreach($_POST as $k => $v){ 
  $v=mysql_real_escape_string(strip_tags(trim($v))); 
  $_POST[$k]=$v; 
  } 
  
  foreach($_GET as $k => $v){ 
  $v=mysql_real_escape_string(strip_tags(trim($v))); 
  $_POST[$k]=$v; 
  } 

}

/*la ton fichier connection.php comme avant*/
/*mysql_connect ...*/
prepareEnregistrer();

?>



Bonne programmation !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
5 nov. 2011 à 16:22
ces deux pavés font la même chose
mais le 2 eme et sécurisé et gain de temps

if (isset($_POST["valider"])) {
$lesite=trim($_POST["lesite"]);
$matricule=trim($_POST["matricule"]);
$nom1=trim($_POST["nom1"]);
$lien1=trim($_POST["lien1"]);
$sexe1=trim($_POST["sexe1"]);
$age1=trim($_POST["age1"]);
$etat1=trim($_POST["etat1"]);
$niveau1=trim($_POST["niveau1"]);
$nationalite1=trim($_POST["nationalite1"]);
$ethnie1=trim($_POST["ethnie1"]);
$religion1=trim($_POST["religion1"]);
$activite1=trim($_POST["activite1"]);
$occupation1=trim($_POST["occupation1"]);
$activite2=trim($_POST["activite2"]);
$occupation2=trim($_POST["occupation2"]);
$bcg1=trim($_POST["bcg1"]);
$polio1=trim($_POST["polio1"]);
$fievre1=trim($_POST["fievre1"]);
$rougeole1=trim($_POST["rougeole1"]);
$deparasitage1=trim($_POST["deparasitage1"]);
$meningite1=trim($_POST["meningite1"]);
$meningite2=trim($_POST["meningite2"]);    


if (isset($_POST["valider"])) {
include('connection.php');
extract($_POST);


Bonne programmation !
0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
5 nov. 2011 à 17:16
merci pour ton aide . je vais profiter pendant que tu es encore la pour exposer un autre problème qui concerne les tableaux . j'ai crée un code qui marche bien mais je voudrai ajouter d'autre information .
je m'explique .
j'ai deux tables :
victimes(matricule,questionnaire,nom,region,tel)
enfant(id_enfant,nom1,lien1,sexe1,age1)

j'ai crée un code qui fait ressortir les information concernant la victime dans un tableau.
mais je n'arrive pas à faire ressortir les informations sur les enfants de la victime sur la même page dans un tableau.pour etre clair je veux faire ressortir les information concernant la victime et ses enfants sue la meme page .
NB : les 2 tables sont pas liées car j'ai pa reussi à les lier .mais j'arrive a retrouver les enfants par un code pour les identifier.
voici le code :


<?php
if(isset($_POST['questionnaire']) && !empty($_POST['questionnaire'])){
 include("connection.php");
$id= (int)$_POST['questionnaire'];
$id=mysql_real_escape_string($id);
$sql = "SELECT DISTINCT questionnaire,nom,region,village,tel FROM victime where questionnaire='".$id."'";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
}
?> 




<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style3 {color: #FFFFFF}
.Style6 {
color: #0000FF;
font-style: italic;
font-weight: bold;
}
.Style11 {color: #0000FF; font-weight: bold; }
.Style14 {color: #990000}
-->
</style>
</head>


<form id="form1" name="form1" method="post" action="">
  Accueil,
,

----

Numero du Questionnaire
,


</form>



   



 

<center>
<fieldset style="width: 650px;" ><legend>CHEF DE MENAGE</legend>
   |
,

----

NOM ET PRENOMS  |
REGION  |
VILLAGE  |
TEL  |

<?php
while ($liste_etu =mysql_fetch_assoc($req)) {
$j=$i%2;

?>
----

"/>,
"/>,
"/>,
"/>,

<?php
}
?>

</fieldset>
</center>

</html>

0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
5 nov. 2011 à 18:14
voici ce que je viens de tenter mais le tableau membre n'affiche rien .
voici mon code :






Document sans titre







Accueil,
,

----

Numero du Questionnaire
,













CHEF DE MENAGE
|
,

----

NOM ET PRENOMS |
REGION |
VILLAGE |
TEL |


----

"/>,
"/>,
"/>,
"/>,







MEMBRES
|
,

----

NOM ET PRENOMS |
LIEN |
SEXE |
AGE |


----

"/>,
"/>,
"/>,
"/>,







0
msi079 Messages postés 229 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 25 juillet 2013
5 nov. 2011 à 22:03
j'ai continué à chercher . je pense que je suis proche du but .
le tableau 2 affiche maintenant . mais il affiche tous les enfants de la base de donneés . hors il devrait afficher que les enfants de la victime dont le numero (questionnaire) a été entré .
voici le code de la deuxième partie que je viens de modifier :
 <?php
  //if(isset($_POST['matricule']) && !empty($_POST['matricule']) ){
     if(isset($_POST['questionnaire']) && !empty($_POST['questionnaire']) ){
               $id=(int)$_POST['questionnaire'];
               $id=mysql_real_escape_string($id);
               $id1=(int)$_POST['matricule'];
               $id1=mysql_real_escape_string($id);
               $sql = "SELECT DISTINCT nom1,lien1,sexe1,age1 FROM enfant where $id='".$id1."'";
               $req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
  		             while ($liste_etu=mysql_fetch_assoc($req)) {
             	$j=$i%2;

  ?>
  <tr bgcolor=#FFFFCC>
    <td bgcolor="#CCCCCC">"/></td>
    <td bgcolor="#CCCCCC">"/></td>
    <td bgcolor="#CCCCCC">"/></td>
    <td bgcolor="#CCCCCC">"/></td>
  </tr>
  <?php
    // }
    }
  }
  ?>
0