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

PHP & Base de données Discussion :

mssql/php update et variables non transmises


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 14
    Points
    14
    Par défaut mssql/php update et variables non transmises
    j'ai realisé une base admin, il n'y a pas d'erreur qui s'affiche mais quand je veux modifier ou créer une nouvelle prestation rien ne se passe.
    j'ai deux pages sous mssql/php
    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
     
    <?php
    $connexion = mssql_connect("","","");
    		if ($connexion)
    		{
    			mssql_select_db("",$connexion);
    if (isset($_GET['modifierprestation'])) // Si on demande de modifier une news
     
    {
        // On protège la variable "modifier_news" pour éviter une faille SQL
     
     
    $_GET['modifierprestation'] =    htmlspecialchars(str_replace("'","''",$_GET['modifierprestation']));
     
     
    	$requete="SELECT n.noprestation, nomprestation, libtype, nommodule, n.numintervenant, numprojet FROM prestation pr, intervenant i, necessiter n WHERE  n.numintervenant=i.numintervenant and n.noprestation=pr.noprestation and n.noprestation='" . $_GET['modifierprestation'] . "'";
        $resultat=mssql_query($requete,$connexion);
    	    $ligne=mssql_fetch_array($resultat); 
     
     
        // On place le titre et le contenu dans des variables simples
     
     
        $nomprestation = stripslashes($ligne['nomprestation']);
    	$libtype = stripslashes($ligne['libtype']);
    	$nommodule = stripslashes($ligne['nommodule']);
    	$numintervenant=stripslashes($ligne['numintervenant']);
    	$numprojet = stripslashes($ligne['numprojet']);
     
        $noprestation = $ligne['noprestation']; // Cette variable va servir pour se souvenir que c'est une modification
    }
    else // C'est qu'on rédige une nouvelle news
    {
     
     
        $nomprestation = '';
    	$libtype = '';
    	$nommodule = '';
    	$numintervenant = '';
    	$numprojet = '';
     
        $noprestation = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
    }
    }
    ?>
    <form action=".php" method="post">
     
    <p align="center">nomprestation : <p align="center"><input type="text" size="30" name="nompre" value="<?php echo $nomprestation; ?>" /></p></p>
    <p align="center">libtype : <p align="center"><input type="text" size="30" name="lib" value="<?php echo $libtype; ?>" /></p></p>
    <p align="center">nommodule : <p align="center"><input type="text" size="30" name="nommod" value="<?php echo $nommodule; ?>" /></p></p>
    <p align="center">numintervenant : <p align="center"><input type="text" size="30" name="nommod" value="<?php echo $numintervenant; ?>" /></p></p>
    <p align="center">numprojet : <p align="center"><input type="text" size="30" name="numpro" value="<?php echo $numprojet; ?>" /></p></p>
     
    <p align="center">
        <input type="hidden" name="noprestation" value="<?php echo $noprestation; ?>" />
        <input type="submit" value="Envoyer" /></p>
    </p>
    </form>
     
     
     
    </div>

    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
     
    <h2><a href=".php">Ajouter une prestation</a></h2>
    <?php
     
     
    $connexion = mssql_connect("","","");
    		if ($connexion)
    		{
    			mssql_select_db("",$connexion);
     
    //-----------------------------------------------------
    // Vérification 1 : est-ce qu'on veut poster une news ?
    //-----------------------------------------------------
    if (isset($_POST['nomprestation']) AND isset($_POST['libtype']) AND isset($_POST['nommodule']) AND isset($_POST['numintervenant']) AND isset($_POST['numprojet']))
    {
     
        $nomprestation = addslashes($_POST['nomprestation']);
    	$libtype = addslashes($_POST['libtype']);
    	$nommodule = addslashes($_POST['nommodule']);
    	$numintervenant = addslashes($_POST['numintervenant']);
    	$numprojet = addslashes($_POST['numprojet']);
        // On vérifie si c'est une modification de news ou pas
        if ($_POST['noprestation'] == 0)
        {
            // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
           $requete="INSERT INTO prestation pr, intervenant i, necessiter n (nomprestation, libtype, nommodule, numintervenant, numprojet) VALUES ('','" . $nomprestation . "', '" . $libtype . "', '" . $nommodule . "', '" . $numintertvenant . "', '" . $numprojet . "') WHERE  n.numintervenant=i.numintervenant and n.noprestation=pr.noprestation";
         mssql_query($requete,$connexion);
     
     
    	}
        else
        {
     
            $_POST['numprestation'] = addslashes($_POST['numprestation']);
            // C'est une modification, on met juste à jour le titre et le contenu
            $req="UPDATE prestation pr, intervenant i, necessiter n SET nomprestation='" . $nomprestation . "', libtype='" . $libtype . "', nommodule='" . $nommodule . "', numintervenant='" . $numintervenant . "', numprojet='" . $numprojet . "' WHERE noprestation='" . $_POST['noprestation'] . "' WHERE  n.numintervenant=i.numintervenant and n.noprestation=pr.noprestation";
        mssql_query($req,$connexion);
    	}
    }
    }
    ?>
    <table><tr>
    <th>Modifier</th>
     
    <th>nomprestation</th>
    <th>type</th>
    <th>module</th>
    <th>intervenant</th>
    <th>numprojet</th>
     
    </tr>
    <?php
     
    $requete ="SELECT distinct pre.noprestation, nomprestation, libtype, nommodule, n.numintervenant, pre.numprojet
    FROM prestation pre, intervenant i, necessiter n, projet p
    where n.noprestation=pre.noprestation
    and i.numintervenant= n.numintervenant and p.numprojet=pre.numprojet and login='".$login."' AND motpasse='".$password."'";
    $resultat = mssql_query($requete,$connexion);
     
     
     
     
     
    while ($ligne= mssql_fetch_array($resultat)) 
    {
    ?>
    <tr>
    <td><?php echo '<a href="redigerprestation.php?modifierprestation=' . $ligne['noprestation'] . '">'; ?>Modifier</a></td>
     
     
    <td><?php echo stripslashes($ligne['nomprestation']); ?></td>
    <td><?php echo stripslashes($ligne['libtype']); ?></td>
    <td><?php echo stripslashes($ligne['nommodule']); ?></td>
    <td><?php echo stripslashes($ligne['numintervenant']); ?></td>
    <td><?php echo stripslashes($ligne['numprojet']); ?></td>
    </tr>
    <?php
    } 
    ?>
    </table>

  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
    Pourquoi il y a 3 tables dans ton INSERT ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 14
    Points
    14
    Par défaut
    tout simplement parce que je dois pouvoir modifier et ajouter des champs dans ces trois tables. numintervenant et noprestation sont relier par la table necessiter. Ce serait simpa de m'aider, je suis en entreprise et je suis un peu bloquer. Merci à vous

  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
    Je ne crois pas qu'il soit possible de faire des insertion dans plusieurs tables simultaement en mysql.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Avatar de onet
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2002
    Messages : 365
    Points : 344
    Points
    344
    Par défaut
    De plus, le "il n'y a pas d'erreur" alors que ca ne fontionne pas, je n'y crois pas. Essaye de faire un echo de ta requete sql, et injecte la directement dans ton moteur de recherche, tu aura surement une information (un équivalent à phpmyadmin mais pour mssql?)

    Onet
    ---
    Retrouvez tout mes tutos et mes articles: http://www.olivierlange.com

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 14
    Points
    14
    Par défaut
    je suis en bts informatique et on a appris avec sql server 2005, un interface qui me parait plus professionnelle que le mysql de wamp.

    j'ai fait un echo de ma requete et cela ne marche pas, c bisare.
    Il n'y a pas d'erreur qui s'affiche mais quand je clique sur modifier ou envoyer
    les changements ne se font pas, il ne se passe rien.

  7. #7
    Membre averti
    Avatar de onet
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2002
    Messages : 365
    Points : 344
    Points
    344
    Par défaut
    Alors je ne peux pas t'aider plus. Il ne se passe jamais "rien" (ok, peut etre avec les produits M$, mais évitons de partir dans le troll :p).

    Si ta requete est erronée, tu dois avoir une erreur. Maintenant si ton programme ne te la ressort pas, essaye de regarder les logs?

    je suis en bts informatique et on a appris avec sql server 2005, un interface qui me parait plus professionnelle que le mysql de wamp.
    Euh... ouais . C'est bien M$ ca, ca parait toujours super beau et professionel

    Petite piste que je ressortirais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete="SELECT n.noprestation, nomprestation, libtype, nommodule, n.numintervenant, numprojet FROM prestation pr, intervenant i, necessiter n WHERE  n.numintervenant=i.numintervenant and n.noprestation=pr.noprestation and n.noprestation='" . $_GET['modifierprestation'] . "'";
    C'est de rajouter le nom de tes tables devant tes champs dans ton select (tu l'a fait pour la première, mais pas pour les autres).

    De plus, évite d'utiliser ce types de jointure, c'est extrèmement lent, mauvais et moche. Utilise les "join". Ce qui devrait te faire qqch du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select 
        n.noprestation, nomprestation, libtype, nommodule, n.numintervenant, numprojet
    from
        prestation pr
        left join necessiter n on n.noprestation=pr.noprestation
        left join intervenant i on n.numintervenant=i.numintervenant
        where 
            n.noprestation='" . intval($_GET['modifierprestation']) ."'"
    (Je me suis permis de protéger ta variable get que je suppose être numérique des injections SQL...)

    Onet
    ---
    Retrouvez tout mes tutos et mes articles: http://www.olivierlange.com

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 14
    Points
    14
    Par défaut
    je sais que cela devrait marcher mais rien n'a faire j'ai pas d'erreur qui s'affiche mais cela ne marche pas que je crée ou que je modifie une prestation.

  9. #9
    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
    j'ai fait un echo de ma requete et cela ne marche pas, c bisare.
    il faut que tu sortes du "ca ne marche pas" sinon on ne pourra jamais t'aider correctement.
    tu veux dire ici que la requete ne s'affiche pas ? ou bien qu'elle s'affiche mais tu ne vois pas les changements dans la base ?
    As-tu ré-ecrit ta requete d'insertion en sql correct ?
    as-tu refais tes jointures comme onet te l'a montré ?

    un interface qui me parait plus professionnelle que le mysql de wamp
    mysql n'a rien a voir avec wamp ; c'est wamp qui utilise mysql et mysql n'a pas d'interface graphique.
    après il reste à définir trois choses : qu'est ce qu'une interface professionelle ? comment défini t'on qu'un produit est professionnel ou non ? et apres avoir reponud à cela : est ce qu'une base de donnée professionelle a besoin d'une interface graphique ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 14
    Points
    14
    Par défaut
    en fait je me suis apercu que je n'avai pas besoin de plusieurs table donc je n'ai pas fait de jointure finalement. Ensuite j'ai voulu afficher mes requêtes comme vous me l'avez demandé et la requete d'insertion et de modification ne s'affiche pas. Il faut donc que je creuse dans cela à mon avis.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 14
    Points
    14
    Par défaut Mise à jour et insertion avec une clé étrangère
    J'ai posté il y a quelques jour et je n'arrive toujours pas à faire fonctionner mon script. Mais j'ai trouvé les problème, dans ma base de données, la table prestation à une propriété numprojet pointant sur la table projet.
    J'ai donc des problèmes pour faire mon insert et mon update.
    J'ai aussi un problème bisare, mes variables dans mes (isset($_post) ne sont
    pas transmises.

    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
     
    <h2><a href="redigerprestation.php">Ajouter une prestation</a></h2>
    <?php
    $login=$_SESSION['login'];
       $password=$_SESSION['motpasse'];
     
    $connexion = mssql_connect("","","");
    		if ($connexion)
    		{
    			mssql_select_db("",$connexion);
     
     if(isset($_get['noprestation']) and isset($_get['nomprestation']) AND isset($_get['libtype']) AND isset($_get['nommodule']) AND isset($_get['numprojet']))
    {
     
        $nomprestation = addslashes($_POST['nomprestation']);
    	$libtype = addslashes($_POST['libtype']);
    	$nommodule = addslashes($_POST['nommodule']);
        $numprojet = addslashes($_POST['numprojet']);
        // On vérifie si c'est une modification de news ou pas
        if ($_POST['noprestation'] == 0)
        {
            // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
     
     
    	   $requete="INSERT INTO prestation(nomprestation, libtype, nommodule, numprojet) values ('" . $nomprestation . "', '" . $libtype . "', '" . $nommodule . "', '" . $numprojet . "')";
         $resultat= mssql_query($requete,$connexion);
     
     
    	}
        else
        {
     
            $_POST['noprestation'] = addslashes($_POST['noprestation']);
            // C'est une modification, on met juste à jour le titre et le contenu
            $req="UPDATE prestation SET nomprestation='" . $nomprestation . "', libtype='" . $libtype . "', nommodule='" . $nommodule . "', numprojet='" . $numprojet . "' WHERE noprestation='". intval($_POST['noprestation']) . "')";
     
    	 $resultat=mssql_query($req,$connexion);
     
    	{
    	echo $req;
    	}
     
    	}
    }
    }
     
     
    ?>
    <table><tr>
    <th>Modifier</th>
     
    <th>nomprestation</th>
    <th>type</th>
    <th>module</th>
    <th>numprojet</th>
     
    </tr>
    <?php
     
    $requete ="SELECT distinct pre.noprestation, nomprestation, libtype, nommodule, pre.numprojet
    FROM prestation pre, projet p, intervenant i, necessiter n
    where p.numprojet=pre.numprojet and n.noprestation=pre.noprestation and i.numintervenant=n.numintervenant and login='".$login."' AND motpasse='".$password."'";
    $resultat = mssql_query($requete,$connexion);
     
     
     
     
     
    while ($ligne= mssql_fetch_array($resultat)) 
    {
    ?>
    <tr>
    <td><?php echo '<a href="redigerprestation.php?modifierprestation=' . $ligne['noprestation'] . '">'; ?>Modifier</a></td>
     
     
    <td><?php echo stripslashes($ligne['nomprestation']); ?></td>
    <td><?php echo stripslashes($ligne['libtype']); ?></td>
    <td><?php echo stripslashes($ligne['nommodule']); ?></td>
    <td><?php echo stripslashes($ligne['numprojet']); ?></td>
    </tr>
    <?php
    } 
    ?>
    </table>
    et voici ma table prestation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    create table prestation
    (noprestation int not null identity (1,1)
    ,nomprestation varchar (30) not null
    ,libtype varchar (15) not null
    ,nommodule varchar (20) not null
    ,numprojet int not null
    ,CONSTRAINT PK_prestation PRIMARY KEY (noprestation)
    ,CONSTRAINT FK_prestation_projet FOREIGN KEY (numprojet) REFERENCES projet (numprojet)) 
     
    go

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 14
    Points
    14
    Par défaut
    mes variables en haut sont $_get car j'ai voulu essayer mais normalement
    c'est (isset($_POST

  13. #13
    Membre à l'essai
    Profil pro
    Enseignant
    Inscrit en
    Décembre 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    tu as bien fais un session_start(); en tête de ta page ?

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 14
    Points
    14
    Par défaut
    no ce n'est pas la premiere page de la session mas j'ai mi cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php include ("protection.php"); ?>

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 14
    Points
    14
    Par défaut mssql/php update et variables non transmises
    ca fait plusieurs messages que j'envoi sans bocoup de réponse et cela devient urgent que je règle mon problème. J'ai réalisé un script de modification et de creation de prestation basé sur le système du script des news. Mais celui ne fonctionne pas et je ne comprends pas pourquoi. Je travaille en mssql/php

    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
     
    <h2><a href="redigerprestation.php">Ajouter une prestation</a></h2>
    <?php
    $login=$_SESSION['login'];
       $password=$_SESSION['motpasse'];
     
    $connexion = mssql_connect("","","");
    		if ($connexion)
    		{
    			mssql_select_db("",$connexion);
     
    //-----------------------------------------------------
    // Vérification 1 : est-ce qu'on veut poster une news ?
    //-----------------------------------------------------
     
     if(isset($_POST['noprestation']) and isset($_POST['nomprestation']) AND isset($_POST['libtype']) AND isset($_POST['nommodule']) AND isset($_POST['numprojet']))
    {
     
        $nomprestation = addslashes($_POST['nomprestation']);
    	$libtype = addslashes($_POST['libtype']);
    	$nommodule = addslashes($_POST['nommodule']);
        $numprojet = addslashes($_POST['numprojet']);
        // On vérifie si c'est une modification de news ou pas
        if ($_POST['noprestation'] == 0)
        {
            // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
     
     
    	   $requete="INSERT INTO prestation(nomprestation, libtype, nommodule, numprojet) values ('" . $nomprestation . "', '" . $libtype . "', '" . $nommodule . "', '" . $numprojet . "')";
         $resultat= mssql_query($requete,$connexion);
     
     
    	}
        else
        {
     
            $_POST['noprestation'] = addslashes($_POST['noprestation']);
            // C'est une modification, on met juste à jour le titre et le contenu
            $req="UPDATE prestation SET nomprestation='" . $nomprestation . "', libtype='" . $libtype . "', nommodule='" . $nommodule . "', numprojet='" . $numprojet . "' WHERE  noprestation='". intval($_POST['noprestation']) . "'";
     
    	 $resultat=mssql_query($req,$connexion);
     
     
     
    	}
    }
    }
     
     
    ?>
    <table><tr>
    <th>Modifier</th>
     
    <th>nomprestation</th>
    <th>type</th>
    <th>module</th>
    <th>numprojet</th>
     
    </tr>
    <?php
     
    $requete ="SELECT distinct pre.noprestation, nomprestation, libtype, nommodule, pre.numprojet
    FROM prestation pre, projet p, intervenant i, necessiter n
    where p.numprojet=pre.numprojet and n.noprestation=pre.noprestation and i.numintervenant=n.numintervenant and login='".$login."' AND motpasse='".$password."'";
    $resultat = mssql_query($requete,$connexion);
     
     
     
     
     
    while ($ligne= mssql_fetch_array($resultat)) 
    {
    ?>
    <tr>
    <td><?php echo '<a href="redigerprestation.php?modifierprestation=' . $ligne['noprestation'] . '">'; ?>Modifier</a></td>
     
     
    <td><?php echo stripslashes($ligne['nomprestation']); ?></td>
    <td><?php echo stripslashes($ligne['libtype']); ?></td>
    <td><?php echo stripslashes($ligne['nommodule']); ?></td>
    <td><?php echo stripslashes($ligne['numprojet']); ?></td>
    </tr>
    <?php
    } 
    ?>
    </table>
    mes variables de verification if(isset($_POST[''])) ne sont pas transmises.



    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
     
    <h3><a href="listeprestation.php">Retour à la liste des prestations</a></h3>
     
     
    <?php
    $connexion = mssql_connect("","","");
    		if ($connexion)
    		{
    			mssql_select_db("e_gest",$connexion);
    if (isset($_GET['modifierprestation'])) // Si on demande de modifier une news
     
    {
        // On protège la variable "modifier_news" pour éviter une faille SQL
     
     
    $_GET['modifierprestation'] =    htmlspecialchars(str_replace("'","''",$_GET['modifierprestation']));
     
     
    	$requete="SELECT noprestation, nomprestation, libtype, nommodule, numprojet FROM prestation WHERE noprestation='" . intval($_GET['modifierprestation']) . "'";
        $resultat=mssql_query($requete,$connexion);
    	    $ligne=mssql_fetch_array($resultat); 
     
     
        // On place le titre et le contenu dans des variables simples
     
     
        $nomprestation = stripslashes($ligne['nomprestation']);
    	$libtype = stripslashes($ligne['libtype']);
    	$nommodule = stripslashes($ligne['nommodule']);
    	$numprojet = stripslashes($ligne['numprojet']);
     
        $noprestation = $ligne['noprestation']; // Cette variable va servir pour se souvenir que c'est une modification
    }
    else // C'est qu'on rédige une nouvelle news
    {
     
     
        $nomprestation = '';
    	$libtype = '';
    	$nommodule = '';
    	$numprojet = '';
     
        $noprestation = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
    }
    }
    ?>
    <form action="listeprestation.php" method="post">
     
    <p align="center">nomprestation : <p align="center"><input type="text" size="30" name="nompre" value="<?php echo $nomprestation; ?>" /></p></p>
    <p align="center">libtype : <p align="center"><input type="text" size="30" name="lib" value="<?php echo $libtype; ?>" /></p></p>
    <p align="center">nommodule : <p align="center"><input type="text" size="30" name="nommod" value="<?php echo $nommodule; ?>" /></p></p>
    <p align="center">numprojet : <p align="center"><input type="text" size="30" name="numpro" value="<?php echo $numprojet; ?>" /></p></p>
     
    <p align="center">
        <input type="hidden" name="noprestation" value="<?php echo $noprestation; ?>" />
        <input type="submit" value="Envoyer" /></p>
    </p>
    </form>
    Je sais qu'il y a un problème dans mon update à cause de projet et prestation.
    voici ma table prestation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    create table prestation
    (noprestation int not null identity (1,1)
    ,nomprestation varchar (30) not null
    ,nomlieu varchar (20) not null
    ,libtype varchar (15) not null
    ,nommodule varchar (20) not null
    ,datedebut char (10) 
    ,datefin  char (10) 
    ,numprojet int not null
    ,CONSTRAINT PK_prestation PRIMARY KEY (noprestation)
    ,CONSTRAINT FK_prestation_projet FOREIGN KEY (numprojet) REFERENCES projet (numprojet))
     
    go
    J'espère que vous pourrez m'aider car j'ai tout essayé. Merci.

Discussions similaires

  1. Variable non transmise (post) sur serveur distant
    Par mikl86 dans le forum Langage
    Réponses: 2
    Dernier message: 20/03/2011, 12h27
  2. [Flex3] Variables non transmises depuis l'event scroll
    Par alain31tl dans le forum Flex
    Réponses: 14
    Dernier message: 10/10/2010, 21h13
  3. [POO] Une valeur de variable non transmise.
    Par claritos1 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 23/05/2008, 11h45
  4. [Cookies] variable de session ou cookie non transmise
    Par dubitoph dans le forum Langage
    Réponses: 1
    Dernier message: 01/12/2006, 21h37
  5. Réponses: 5
    Dernier message: 20/10/2006, 12h44

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