IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

erreur en exécution de code php


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Points : 127
    Points
    127
    Par défaut
    bonjour a tous , j'ai réalisé un formulaire qui permet a un utilisateur d'envoyé sa demande de congé ou d’absence .mais mon probléme lorsque je clique sur le bouton envoyé il affiche ce message d'erreur "Vous ne pouvez pas ajouter ou mettre à jour une ligne enfant: une contrainte de clé étrangère échoue (. `GRH` `Demandes`, CONSTRAINT `demande_id_employee` FOREIGN KEY (`id_demande`) Références de la connexion `(` id_login `) ON DELETE CASCADE)"

    --> le id_demande est un clé étrangère de la table login car j'ai besoin d’enregistré les demandes pour chaque utilisateur.

    . j'ai essaie plusieurs fois a corrigé ,mais rien a changé svp aider moi a corrigé ce probléme et merci beaucoup

    dsl j'oublié de mettre le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    <?php
    include('config.php');
    $erreur='';
     
    //Pour récupérer les éléments d'un formulaire avec la méthod "post", c'est avec $_POST.
    // on teste si le formulaire a bien été soumis(isset)
    	if(isset($_POST['submit']))  
    	{
    	if (!empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['departement']) && !empty($_POST['cause']) && !empty($_POST['datedebut'])
    	&& !empty($_POST['datefin']) && !empty($_POST['nbrejours'])&& !empty($_POST['type'])) // empty ++> pour tester si le champs vide ou pas 
    	{
     
                $nom= htmlspecialchars(trim($_POST['nom'])); //"trim pour mettre des espaces et "htmlspecialchars" pour la sécurisation sur le web
    			$prenom= htmlspecialchars(trim($_POST['prenom']));
    			$departement= htmlspecialchars(trim($_POST['departement']));
    	         $cause= htmlspecialchars(trim($_POST['cause']));
                   $datedebut= $_POST['datedebut'];
    			 $datefin= htmlspecialchars(trim($_POST['datefin']));
    			 $nbrejours= htmlspecialchars(trim($_POST['nbrejours']));
    			 $type= $_POST['type'];
     
    	// si tout a été bien rempli, on insère le message dans notre table SQL
    	$req=mysql_query("INSERT INTO demandes(nom,prenom,departement,cause,datedebut,datefin,nbrejours,type) VALUES('$nom','$prenom','$departement','$cause','$datedebut','$datefin','$nbrejours','$type')") or die (mysql_error());
    echo"<b><font color='red'size='3'>votre demande est envoyer</font></b>";
     
    	} else $erreur="<b><font color='red'size='3'> il faut saisir tous les champs</font></b>";
     
    	}
     
    ?>
     
    <html>
    <head>
    <title>Demandez</title>
    <link rel="shortcut icon" href="css/images/favicon.ico" />
    <link href="css/template_style.css" type="text/css" rel="stylesheet" />     
     
    </head> 
     
     
    <body> 
    <div id="templatemo_header_wrapper">
    	<div id="templatemo_header">
        	<div id="logo"><a href="index_emp.html"></a></div>
            <p id="intro_text">Suspendisse at justo in felis ultricies cursus. Quisque risus sed lacus pharetra sit amet pretium lacus aliquet. Sed commodo tellus dictum et lacinia sem.</p>
            <a class="intro_bg_by" href="index_emp.html" title="images"  target="_blank"><img src="images/templatemo_background.png" alt="images" /></a>    </div>
    </div>
    <div id="templatemo_main_wrapper">
    	<div id="templatemo_main">
    		<div id="content"> 
                <div id="home" class="section">
     
     
         	   <!-- close  et home -->
     <a href="index_emp.html" class="home_btn" alt="home">home</a>
    <a href="logout.php" class="close" alt="close"> close </a>
    <br/>
    <br/>
     
    			 <fieldset><legend align="center" ><font size="+1" color="#000000" face="Times New Roman, Times, serif">Demandez Une Autorisation d'absence Ou du Congé</font> </legend>
    			<br/>
    <br/>
    			 <center>
     
    <!-- creation de la table-->			 
     <table cellpadding="1">
     
    	 <!--appel de code php -->
    	 <p id="erreur"><?php if(isset($erreur)!='') 
    	 echo $erreur ;?></p>
     
    <form name="form_demande" action="" method="post">
     
    <div id="texts">
    <tr>
    <td>nom: </td><td><input type="text" name="nom"/></td>
    </tr>
    <tr>
    <td>Prenom:</td> <td><input type="text" name="prenom" /></td>
    </tr>
    <tr>
    <td>Departement: </td><td><input type="text" name="departement"/></td>
    </tr>
    <tr>
    <td>Cause:</td> <td><textarea rows="6" cols="20" name="cause"></textarea></td>
    </tr>
    <tr>
    <td>Date début:</td> <td> <input type="text" name="datedebut" maxlength="4" size="4" /><input type="text" name="datedebut" maxlength="2" size="2"/><input type="text" name="datedebut" maxlength="2" size="2" /> </td>
    </tr>
    <tr>
    <td>Date fin:</td> <td><input type="text" name="datefin" maxlength="4" size="4"/><input type="text" name="datefin" maxlength="2" size="2"/> <input type="text" name="datefin" maxlength="2" size="2"/>
    </td>
    </tr>
    <tr>
    <td>Nombre de jours:</td> <td><input type="text" name="nbrejours" /></td>
    </tr>
    <tr>
    <td>Type:</td> <td> <select name="type"><option></option>
    <option value=" congé"> Congé</option>
    <option value="absence">absence</option> 
    </td>
    </tr> 
     <tr> <td></td>
    <tr> <td> </td>
    </tr>
    <tr>
    <td> <center> <input type="submit" value="valider" name="submit" class="btn"/></center> </td><td> <center> <input type="reset" name="annuler" 
    value="annuler"/> </center> </td>
    </tr>
    </div>
    </form>
    </table>
    <br/>
    <br/>
    </fieldset>
     
     </center>           
    			 </fieldset>
     
     
                </div> 
            </div> 
        </div>
    </div>
     
     
    <div id="templatemo_footer_wrapper">
     
    </div>
     
    </body>
    </html>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Que contient cette table login ?

  3. #3
    Membre habitué
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Points : 127
    Points
    127
    Par défaut
    il contient l'id_login , login et password pour chaque employé

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    D'ou sort ce "id_demande" alors ?

  5. #5
    Membre habitué
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Points : 127
    Points
    127
    Par défaut
    je vous explique l’intérêt de "id_demande", j'ai demander a l'employé d'envoyé une demande de congé ou d'absence , donc cette la demande sera stockée dans la base de données puis l'administrateur doit accepte ou refuse ce dernière avec la section dans la liste déroulante. ensuite, pour chaque l'employé consulte leur demande(nom, prenom, cause ..., statut(accepter ou refuser)) cette étape dépend le id_demande pour ce dédifférencie d'un employé a un autre.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La structure de ta base de données a l'air d'avoir un problème.

    Les informations nom, prenom, departement devraient être dans ta table des personnes et pas dans les demandes.
    On devrait donc avoir "id_login" en clef etrangère dans la table "demandes".
    "id_demande" devrait être la clef primaire de ta table demandes et represente donc une demande unique.

  7. #7
    Membre habitué
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Points : 127
    Points
    127
    Par défaut
    j'ai modifier comme te le dire , j'ai créée une clé étrangère "login_demande" de la table login et une clé primaire "id_demande" mais il affiche le méme erreur <<Cannot add or update a child row: a foreign key constraint fails (`grh`.`demandes`, CONSTRAINT `fk_demande` FOREIGN KEY (`login_demande`) REFERENCES `login` (`id_login`))>>

    j'ai une idée pour cette probléme est ce que j'ajoute une clé étrangère pour la table employes dans la table login ??

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut plutôt retirer la contrainte de clef étrangère que tu avais déjà faite.

  9. #9
    Membre habitué
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Points : 127
    Points
    127
    Par défaut
    j'ai essaie plusieurs solution mais rien a changé monsieur , voila l'erreur qui s'affiche dans la bd phpmyadmin lorsque j'ajoute un clé étrangère
    ci jointe représente ma base de données

    je remercie de m'aider
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés
    • Type de fichier : sql grh.sql (7,8 Ko, 1443 affichages)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [EasyPHP] Exécution du code php sous EasyPHP 2.0b1
    Par mechatikhaled dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 25/04/2008, 17h30
  2. [Système] Exécution de code PHP par PHP
    Par SebastienM dans le forum Langage
    Réponses: 1
    Dernier message: 24/01/2008, 16h19
  3. [Configuration] exécuter un code php
    Par liverbird dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 14/06/2007, 10h46
  4. [PHP] Exécuter du code PHP à une heure précise
    Par Ice-tea dans le forum Langage
    Réponses: 2
    Dernier message: 09/01/2007, 22h46
  5. [Système] rediretion sans exécuter le code php
    Par sam01 dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2006, 01h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo