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 :

Script de formulaire


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Points : 30
    Points
    30
    Par défaut Script de formulaire
    Bonjour
    J’ai un petit problème avec un script de formulaire.
    Ce script me permet de faire une liste depuis une table et de modifier la valeur de certains champs.
    Quand je cliquesur (mod) d’une valeur, un petit formulaire s’ouvre et je change la valeur.
    Le script marche bien sauf quand la valeur est zéro.
    Quand la valeur est zéro, le formulaire de changement n’apparaît pas.
    Le script :
    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
    <? $URL = $PHP_SELF;
    $table="Joueurs";
     
    if($numero) { // Ajout de la fiche
     
       $query = "INSERT INTO $table(Nom,Numero)";
       $query .= " VALUES('$nom','$numero')"; 
       $result = mysql_query($query);
       $message = "Fiche <b>".$nom." - ";
       $message .= $numero."</B> ajoutée !";
    }
    elseif($del) { // Suppression du Numero
       $query = "DELETE FROM $table"
          ." WHERE Numero = '$del'";
       $result = mysql_query($query);
       $message = "Numero <b>".$del;
       $message .= "</b> supprimé !";
    }
    elseif($mod2) { // Modif du Numero
       $query = "UPDATE $table SET Numero='$mod2'";
       $query .= " WHERE Numero='$mod1' ";
       $result = mysql_query($query);
       $message = "Numero <b>".$mod1."</b>";
       $message .= "<br>modifié en <b>".$mod2."</b> !";
    }
    ?>
    <HTML><HEAD><TITLE>Exemple</TITLE>
       <style type="text/css" media="screen">
    @import url( css.css );
    </style>
    </HEAD>
    <BODY>
    <table width=100% height=100%><tr><td><center>
       <? echo $message; ?>
     <? if($mod) { // saisie du nouveau
       ?> <form method="post" action="<? echo $URL; ?>">
             Modifier <b><? echo $mod; ?></b> en :<br>
             <input type="text" name="mod2"
                value="<? echo $mod; ?>">
             <input type="hidden" name="mod1"
                value="<? echo $mod; ?>">
             <input type="Submit" value="Modifier">
          </form>
       <? 
       } 
       ?>
     
          <form method="post" action="<? echo $URL; ?>"
                onSubmit="return test(this.Nom,this.Numero)">
             <table><tr>
                <td>Nom</td>
                <td><input type="text" name="Nom"></td>
                <td>Numero</td>
                <td><input type="text" name="Numero"></td>
             </tr><tr>
                <th colspan=4>
                   <input type="Submit" value="Ajouter">
                </th>
             </tr></table>
          </form>
     
       <? // sélection des fiches
       $query = "SELECT `id` ,`Numero` ,`Nom` , `Prenom` FROM Joueurs 
    WHERE 1 AND `Niveau` 
    LIKE 'Juniors'AND `Actif` 
    LIKE 'oui'
    ORDER BY  `Joueurs`.`Nom` ASC "; 
     
       $result = mysql_query($query); $i=1; ?>
     
          ---- vérification du contenu des
          <? echo mysql_numrows($result); ?>
          fiches de la base ----
          <BR><BR><table border=0>
          <? while ($val = mysql_fetch_array($result)) { ?>
             <tr>
                <td>Fiche <? echo $val["id"]; ?></td>
                <td> 
                   <? echo $val["Nom"]." &nbsp; ".$val["Prenom"]; ?>
                </td>
    			<td>
    			<? echo $val["Numero"]; ?>
    			</td>
                <td> 
                <td nowrap>
                <A href="<?echo $URL."?mod=".$val["Numero"]; ?>">
                mod</A>
                </td>
             </tr>
          <? $i++; } ?></table>
     
    </td></tr></table>
    </BODY></HTML>
     
    <? mysql_close(); ?>
    Quelqu’un aurait-il la solution ?
    Merci d’avance

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tout simplement parce que ton if($mod) teste s'il existe et pour lui si $mod est égal à 0 il n'existe pas.

    D'ailleurs je te conseillerai de travailler avec les $_POST, et $_GET et puis de faire tes tests avec le isset et là ca fonctionne mieux

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Points : 30
    Points
    30
    Par défaut
    Merci d'avoir répondu et d'avoir déplacer dans le bon forum, c'est sympa.
    Avec tous ces forums on s'y perd un peu.

    Malheureusement je ne suis pas un spécialiste.
    Qu'est-ce que je dois remplacer par $_POST, et $_GET ?

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    En fait tu dois remplacer toutes tes valeurs issues de formulaire et ayant la method post par $_POST. Pour les get (passage dans l'url) $_GET.

    Après c'est une question de test avec isset

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Points : 30
    Points
    30
    Par défaut
    Ok, j'ai fait les modifications dans le script. Il fonctionne toujours la même chose.
    Quand il a un numéro, j'ai mon formulaire quand j'ai 0 rien n'apparait?

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Mets le code modifié

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Points : 30
    Points
    30
    Par défaut
    voilà
    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
    <? include("connexion.php"); ?>
     
    <? $_GET = $PHP_SELF;
    $table="Joueurs";
     
    if($numero) { // Ajout de la fiche
     
       $query = "INSERT INTO $table(Nom,Numero)";
       $query .= " VALUES('$nom','$numero')"; 
       $result = mysql_query($query);
       $message = "Fiche <b>".$nom." - ";
       $message .= $numero."</B> ajoutée !";
     
    }
     
    elseif($mod2) { // Modif du Numero
       $query = "UPDATE $table SET Numero='$mod2'";
       $query .= " WHERE Numero='$mod1' ";
       $result = mysql_query($query);
       $message = "Numero <b>".$mod1."</b>";
       $message .= "<br>modifié en <b>".$mod2."</b> !";
    }
    ?>
    <HTML><HEAD><TITLE>Exemple</TITLE>
       <style type="text/css" media="screen">
    @import url( css.css );
    </style>
    </HEAD>
    <BODY>
    <table width=100% height=100%><tr><td><center>
       <? echo $message; ?>
     <? if($mod) { // saisie du nouveau
       ?> <form method="$_POST" action="<? echo $_GET; ?>">
             Modifier <b><? echo $mod; ?></b> en :<br>
             <input type="text" name="mod2"
                value="<? echo $mod; ?>">
             <input type="hidden" name="mod1"
                value="<? echo $mod; ?>">
             <input type="Submit" value="Modifier">
          </form>
       <? 
       } 
       ?>
     
     
     
       <? // sélection des fiches
       $query = "SELECT `id` ,`Numero` ,`Nom` , `Prenom` FROM Joueurs 
    WHERE 1 AND `Niveau` 
    LIKE 'Juniors'AND `Actif` 
    LIKE 'oui'
    ORDER BY  `Joueurs`.`Nom` ASC "; 
     
       $result = mysql_query($query); $i=1; ?>
    <BR><BR>
          ---- vérification du contenu des
          <? echo mysql_numrows($result); ?>
          fiches de la base ----
          <BR><BR><table border=0>
          <? while ($val = mysql_fetch_array($result)) { ?>
             <tr>
                <td>Fiche <? echo $val["id"]; ?></td>
                <td> 
                   <? echo $val["Nom"]." &nbsp; ".$val["Prenom"]; ?>
                </td>
    			<td>
    			<? echo $val["Numero"]; ?>
    			</td>
                <td> 
                <td nowrap>
                <A href="<?echo $_GET."?mod=".$val["Numero"]; ?>">mod</A>
                </td>
             </tr>
          <? $i++; } ?></table>
     
    </td></tr></table>
    </BODY></HTML>
     
    <? mysql_close(); ?>

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu n'as pas fait ce que j'ai dit

    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
     
    <? $url = $_SERVER['PHP_SELF'];
    $table="Joueurs";
     
    if(isset($_POST['numero']) && !empty($_POST['numero'])) { // Ajout de la fiche
     
       $query = "INSERT INTO $table(Nom,Numero) VALUES('".$_POST['nom']."','".$_POST['numero']."')"; 
       $result = mysql_query($query);
       $message = "Fiche <b>".$_POST['nom']." - ";
       $message .= $_POST['numero']."</B> ajoutée !";
    }
    elseif($del) { // Suppression du Numero
       $query = "DELETE FROM $table"
          ." WHERE Numero = '$del'";
       $result = mysql_query($query);
       $message = "Numero <b>".$del;
       $message .= "</b> supprimé !";
    }
    elseif(isset($_POST['mod2']) && isset($_POST['mod1'])) { // Modif du Numero
       $query = "UPDATE $table SET Numero='".$_POST['mod2']."'";
       $query .= " WHERE Numero='".$_POST['mod1']."' ";
       $result = mysql_query($query);
       $message = "Numero <b>".$_POST['mod1']."</b>";
       $message .= "<br>modifié en <b>".$_POST['mod2']."</b> !";
    }
    ?>
    <HTML>
    <HEAD>
    <TITLE>Exemple</TITLE>
    <style type="text/css" media="screen">
    @import url( css.css );
    </style>
    </HEAD>
    <BODY>
    <table width=100% height=100%>
      <tr>
        <td><center>
          <? echo $message; ?>
          <? if(isset($_GET['mod']) && !empty($_GET['mod'])) { // saisie du nouveau
       ?>
          <form method="post" action="<? echo $url; ?>">
            Modifier <b><? echo $_GET['mod']; ?></b> en :<br>
            <input type="text" name="mod2"
                value="<? echo $_GET['mod']; ?>">
            <input type="hidden" name="mod1"
                value="<? echo $_GET['mod']; ?>">
            <input type="Submit" value="Modifier">
          </form>
          <? 
       } 
       ?>
          <form method="post" action="<? echo $url; ?>"
                onSubmit="return test(this.Nom,this.Numero)">
            <table>
              <tr>
                <td>Nom</td>
                <td><input type="text" name="Nom"></td>
                <td>Numero</td>
                <td><input type="text" name="Numero"></td>
              </tr>
              <tr>
                <th colspan=4> <input type="Submit" value="Ajouter">
                </th>
              </tr>
            </table>
          </form>
          <? // sélection des fiches
       $query = "SELECT `id` ,`Numero` ,`Nom` , `Prenom` FROM Joueurs 
    WHERE 1 AND `Niveau` 
    LIKE 'Juniors'AND `Actif` 
    LIKE 'oui'
    ORDER BY  `Joueurs`.`Nom` ASC "; 
     
       $result = mysql_query($query); $i=1; ?>
          ---- vérification du contenu des <? echo mysql_numrows($result); ?> fiches de la base ---- <BR>
          <BR>
          <table border=0>
            <? while ($val = mysql_fetch_array($result)) { ?>
            <tr>
              <td>Fiche <? echo $val["id"]; ?></td>
              <td><? echo $val["Nom"]." &nbsp; ".$val["Prenom"]; ?> </td>
              <td><? echo $val["Numero"]; ?> </td>
              <td>
              <td nowrap><A href="<?echo $url."?mod=".$val["Numero"]; ?>"> mod</A> </td>
            </tr>
            <? $i++; } ?>
          </table></td>
      </tr>
    </table>
    </BODY>
    </HTML>
    <? mysql_close(); ?>
    PS : tu dois faire la meme chose pour le del.
    Autre chose pour la gestion des erreurs penses à mettre die(mysql_error())

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Points : 30
    Points
    30
    Par défaut
    Vraiment merci de consacrer du temps pour un vieux schnock comme moi.
    J' ai mis le script que tu as gentiment modifié. Malheureusement, il n'y a aucun changement, c'est pareil.

Discussions similaires

  1. script calendrier formulaire
    Par gforce dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 16/02/2007, 14h53
  2. Recherche script de formulaire : lliste deroulante de villes
    Par meduim dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 02/10/2006, 03h59
  3. Script pour formulaire
    Par sagitarium dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/04/2006, 13h14
  4. [pgaccess] Script pour formulaire
    Par garou51 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 13/06/2003, 09h30

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