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 :

Envoyer les informations modifiées sur une BDD [PHP 5.6]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut Envoyer les informations modifiées sur une BDD
    Bonjour à Tous et merci pour votre Aide.


    Je récupère sur une page mon formulaire avec les données entrées dans ma BDD afin de pouvoir les modifier.

    la récupérations des données se fait parfaitement

    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
     
     
    <form action="edit_chien_submit.php" method="POST" class='form-horizontal form-bordered'>
     
    <?php
    //la ou je récupère les infos
    $query = "select * from time_table WHERE mem_id='$memid'";
     
    //echo $query;
     
    $result = mysqli_query($con,$query);
     
    $sno=1;
     
     
     
        if(mysqli_affected_rows($con)==1){
     
              while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
     
     
    //le détail de mes champs
    $details=$row['details'];
    $ncond=$row['ncond'];
    $dcond=$row['dcond'];
    $ccond=$row['ccond'];
    $acond=$row['acond'];
    $cpcond=$row['cpcond'];
    $vilcond=$row['vilcond'];
    $econd=$row['econd'];
    $date=$row['date'];
    $lof=$row['lof'];
    $ndc=$row['ndc'];
    $p=$row['p'];
    $sexe=$row['sexe'];
    $ddn=$row['ddn'];
    $top=$row['top'];
    $r=$row['r'];
    $pl=$row['pl'];
    $m=$row['m'];
    $ml=$row['ml'];
    $cun1=$row['cun1'];
    $cun2=$row['cun2'];
    $cun3=$row['cun3'];
    $cun4=$row['cun4'];
    $cunl=$row['cunl'];
    $cuntr=$row['cuntr'];
    $cneac1=$row['cneac1'];
    $cneac2=$row['cneac2'];
    $cneac3=$row['cneac3'];
    $cneac4=$row['cneac4'];
    $cneacl=$row['cneacl'];
    $cneactr=$row['cneactr'];
     
     
    }
     
    }
     
    ?>
     
     
     
    										<div class="marg">
    										<div class="row-fluid">
     
     
    											<div class="span4">
     
    												//mes champs
    												<div class="control-group">
    													<label for="textfield" class="control-label">Nom et Prénom </label>
    													<div class="controls"><span id="sprytextfield1">
    										 			 <input type="text" name="ncond" id="textfield3" class="input-xlarge" data-rule-required="true" data-rule-minlength="1" value="<?php echo $ncond;?>" maxlength="60">
    									   				</div>
    												</div>
    												<div class="control-group">
    													<label for="textfield" class="control-label">Date de Naissance </label>
    													<div class="controls"><span id="sprytextfield3"><span id="sprytextfield4">
    										  			<input type="text" name="dcond" id="textfield22" class="input-medium datepick" data-date-format="dd-mm-yyyy" value="<?php echo date_changed($ddn);?>" >
    									   				</div>
    								  				</div>
    ....

    Donc voilà je crée un autre fichier pour renvoyer les nouvelles infos corrigées mais j'ai une erreur


    script pour renvoyer sur ma BDD

    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
     
    <?php 
    require 'db_conn.php';
    page_protect();
    if(isset($_POST['memid']))
    {
     
    $mem_id=$_POST['memid'];
     
    $p=$_POST['p'];
    $pl=$_POST['pl'];
    $m=$_POST['m'];
    $ml=$_POST['ml'];
    $ndc=$_POST['ndc'];
    $lof=$_POST['lof'];
    $ddn=$_POST['ddn'];
    $ddn=date_back($ddn);
    $top=$_POST['top'];
    $r=$_POST['r'];
    $rdt=$_POST['rdt'];
    $ncond=$_POST['ncond'];
    $dcond=$_POST['dcond'];
    $dcond=date_back($dcond);
    $ccond=$_POST['ccond'];
    $acond=$_POST['acond'];
    $cpcond=$_POST['cpcond'];
    $vilcond=$_POST['vilcond'];
    $econd=$_POST['econd'];
    $sexe=$_POST['sexe'];
    $cun1=$_POST['cun1'];
    $cun2=$_POST['cun2'];
    $cun3=$_POST['cun3'];
    $cun4=$_POST['cun4'];
    $cunl=$_POST['cunl'];
    $cuntr=$_POST['cuntr'];
    $cneac1=$_POST['cneac1'];
    $cneac2=$_POST['cneac2'];
    $cneac3=$_POST['cneac3'];
    $cneac4=$_POST['cneac4'];
    $cneacl=$_POST['cneacl'];
    $cneactr=$_POST['cneactr'];
     
     
    mysqli_query($con,"INSERT INTO time_table (mem_id,details,p,pl,m,ml,ndc,lof,ddn,top,r,rdt,ncond,dcond,ccond,acond,cpcond,vilcond,econd,sexe,cun1,cun2,cun3,cun4,cunl,cuntr,cneac1,cneac2,cneac3,cneac4,cneacl,cneactr);
    VALUES ('$memid','$details','$p','$pl','$m','$ml','$ndc','$lof','$ddn','$top','$r','$rdt', '$ncond','$dcond','$ccond','$acond','$cpcond','$vilcond','$econd','$sexe','$cun1','$cun2','$cun3','$cun4','$cunl','$cuntr','$cneac1','$cneac2','$cneac3','$cneac4','$cneacl','$cneactr')");
    echo "<meta http-equiv='refresh' content='0; url=table_view.php'>";
    }
    else
    {
    echo "<head><script>alert(Une Erreur c'est produite, la fiche n'a pas été mise à jour.');</script></head></html>";
    echo "<meta http-equiv='refresh' content='0; url=table_view.php'>";
     
    }
    ?>

    Merci pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par Cylvain Voir le message
    ...mais j'ai une erreur ...
    1/ D'accord, mais laquelle ?

    2/ tu mets directement les valeurs reçues par $_POST dans ta requête !! NON !! C'est la porte grande ouverte aux injections SQL...

    => c'est à ça que servent les requêtes préparées.

    Sinon, le minimum est d'utiliser mysqli_real_escape_string().

    Encore mieux : oublier mysqli_ au profit de PDO.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Bonjour,
    Lorsque je clique sur mon bouton,
    j'ai mon message d'erreur qui s'affiche : "Une Erreur c'est produite, la fiche n'a pas été mise à jour."

    Cela va pourvoir peut être vous aider mais dans le formulaire je récupère déjà une id d'une autre table

    ma table sur laquelle les infos arrivent et ou doivent être modifiées s'appelle "time_table", pour arriver sur mon formulaire je clique sur un bouton qui récupère :

    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
     
    <div class="box-content nopadding">
    								<table class="table table-nomargin dataTable dataTable-tools  table-bordered">
    											<thead>
    										<tr>
    											<th>S.No</th>
    											<th>ID / Entrée</th>
    											<th>Lof</th>
    											<th>Nom</th>
    												<th>Race</th>
    												<th>Date de Naissance</th>
    												<th>FAPAC / C. Licence</th>
    												<th>Discipline(s)</th>
    																							<th></th>
    										</tr>
    									</thead>
    									<tbody>
    									<?php
     
     
    $query = "select * from time_table WHERE mem_id ='$mem_id' ORDER BY date DESC";
    //echo $query;
    $result = mysqli_query($con,$query);
    $sno=1;
     
        if(mysqli_affected_rows($con)!=0){
              while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
     
    echo "<td>" . $sno ."</td>";
    echo "<td>" . $row['mem_id'] ." / <strong>" . date_changed($row['date']) ."</strong></td>";
    echo "<td>" . $row['lof'] ."</td>";
    echo "<td>" . $row['ndc'] ."</td>";
    echo "<td>" . $row['p'] . "</td>";
    echo "<td>" . date_changed($row['ddn']) ."</td>";
    echo "<td>" . $row['m'] . " / " . $row['ml'] . "</td>";
    echo "<td><strong>Discipline(s) CUN </strong><br>" . $row['cun1'] . " / " . $row['cun2'] . " / " . $row['cun3'] . " / " . $row['cun4'] . " <br> <strong>Licence / Carnet de Travail</strong><br>" . $row['cunl'] . " / " . $row['cuntr'] . "<br><strong>Discipline(s) CNEAC</strong><br>" . $row['cneac1'] . " / " . $row['cneac2'] . " / " . $row['cneac3'] . " / " . $row['cneac4'] . "<br><strong>Licence / Carnet de Travail</strong><br>" . $row['cneacl'] . " / " . $row['cenactr'] . "</td>";
     
    $sno++;
     
    echo "<td><form action='new_chien.php' method='post'><input type='hidden' name='name' value='". $row['mem_id'] ."'/><input type='submit' value='Editer' class='btn btn-warning'/></form><form action='del_member_table.php' method='post' onSubmit='return ConfirmDelete();'><input type='hidden' name='name' value='".$row['id']."'/><input type='submit' value='Supprimer' class='btn btn-danger'/></form><form action='print_member_table.php' method='post'><input type='hidden' name='name' value='".$mem_id."'/><input type='hidden' name='id' value='".$row['id']."'/><input type='hidden' name='full_name' value='".$row['name']."'/><input type='hidden' name='details' value='".$row['details']."'/><input type='hidden' name='date' value='".$row['date']."'/><input type='submit' value='Imprimer' class='btn btn-info'/></form></td></tr>";
    $mem_id=0;
        }
    }
     
    ?>
    Merci

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    C'est un petit programme qui ne tourne qu'en interne

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Bon Alors, j'ai trouvé mon erreur, c'est juste un problème de nom, je récupérais un nom que je n'avais pas attribué

    Merci à Tous

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    graphiste
    Inscrit en
    Octobre 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : graphiste

    Informations forums :
    Inscription : Octobre 2015
    Messages : 56
    Points : 30
    Points
    30
    Par défaut
    Ah bon non cela ne fonctionne toujours pas, maintenant je n'ai plus mon message d'erreur mais les si je modifie les champs de mon formulaire, cela ne modifie pas les champs de la BDD!!!!



    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
     
    <?php 
     
    require 'db_conn.php';
     
    page_protect();
     
    if(isset($_POST['p_id']))
     
    {
     
    $p_id=$_POST['p_id'];
     
    $date=rtrim($_POST['date']);
    $date=date_back($dcond);
     
    $p=rtrim($_POST['p']);
    $pl=rtrim($_POST['pl']);
    $m=rtrim($_POST['m']);
    $ml=rtrim($_POST['ml']);
    $ndc=rtrim($_POST['ndc']);
    $lof=rtrim($_POST['lof']);
    $ddn=rtrim($_POST['ddn']);
    $ddn=date_back($ddn);
    $top=rtrim($_POST['top']);
    $r=rtrim($_POST['r']);
    $rdt=rtrim($_POST['rdt']);
    $ncond=rtrim($_POST['ncond']);
    $dcond=rtrim($_POST['dcond']);
    $dcond=date_back($dcond);
    $ccond=rtrim($_POST['ccond']);
    $acond=rtrim($_POST['acond']);
    $cpcond=rtrim($_POST['cpcond']);
    $vilcond=rtrim($_POST['vilcond']);
    $econd=rtrim($_POST['econd']);
    $sexe=rtrim($_POST['sexe']);
    $cun1=rtrim($_POST['cun1']);
    $cun2=rtrim($_POST['cun2']);
    $cun3=rtrim($_POST['cun3']);
    $cun4=rtrim($_POST['cun4']);
    $cunl=rtrim($_POST['cunl']);
    $cuntr=rtrim($_POST['cuntr']);
    $cneac1=rtrim($_POST['cneac1']);
    $cneac2=rtrim($_POST['cneac2']);
    $cneac3=rtrim($_POST['cneac3']);
    $cneac4=rtrim($_POST['cneac4']);
    $cneacl=rtrim($_POST['cneacl']);
    $cneactr=rtrim($_POST['cneactr']);
     
     
    mysqli_query($con,"UPDATE time_table SET mem_id='$mem_id',details='$details',date='$date',p='$p',pl='$pl',m='$m',ml='$ml',ndc='$ndc',lof='$lof',ddn='$ddn',top='$top',r='$r',rdt='$rdt', nconf='$ncond',dcond='$dcond',ccond='$ccond',acond='$acond',cpcond='$cpcond',vilcond='$vilcond',econd='$econd',sexe='$sexe',cun1='$cun1',cun2='$cun2',cun3='$cun3',cun4='$cun4',cunl='$cunl',countr='$cuntr',cneac1='$cneac1',cneac2='$cneac2',cneac3='$cneac3',cneac4='$cneac4',cneacl='$cneacl',cneactr='$cneactr' WHERE mem_id='$p_id'");
    echo "<meta http-equiv='refresh' content='0; url=table_view.php'>";
    }
    else
    {
    echo "<head><script>alert('Une ERREUR c'est produite, la fiche n'a pas été mise à jour!');</script></head></html>";
    echo "<meta http-equiv='refresh' content='0; url=table_view.php'>";
     
    }
    ?>

  7. #7
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    est ce que tu as essayé d'afficher le contenu de ta requête pour vérifier les infos transmise?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 21/07/2015, 11h32
  2. [C#] Envoyer des données sur une bdd
    Par tanche01 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/02/2011, 14h19
  3. Réponses: 0
    Dernier message: 26/02/2009, 13h04
  4. Réponses: 4
    Dernier message: 27/01/2009, 13h34
  5. Réponses: 1
    Dernier message: 08/12/2007, 11h35

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