CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Php, base de données et formulaire.

OhBonnieDay
OhBonnieDay
Niveau 10
15 décembre 2010 à 22:33:42

Bonjour,
J'ai un problème, j'affiche un formulaire avec des valeurs qu'il y a dans ma base de données et je souhaite faire une page qui affiche ces valeurs dans un formulaire avec un bouton "Modifier", et donc, pouvoir changer ces valeurs et les modifier dans ma base de données.
Cependant, j'ai quelques erreurs :
Notice: Undefined index: Nom
Et ça, pour tous les champs du formulaire.

<form method="post">
<fieldset>
<legend>Synthese Client</legend>
<p><label for="id">id du client :</label><input type="text" name="id"/></p>
<p><label> </label><input type="submit" value="Synthese Client" name="submit" class="submit"/></p>
</fieldset>
<?php
if(isset($_POST['submit'])){
echo "<fieldset><legend>Client</legend>";
$id = $_POST['id'];
$result=mysql_query("SELECT * FROM client");
$viewtable=array();
$i=0;
while($row = mysql_fetch_row($result)){

$tab=array($row[0],$row[1],$row[2],$row[3],$r
ow[4],$row[5],$row[6],$row[7],$row[8],$row[9],$row
[10],$row[11]);
$viewtable[$i]=$tab;
$i++;
}

foreach($viewtable as $row){
if($row[0] == $id){
?>
<form method="post">
<p<<label for="Nom">Nom :</label><input type="text" name="Nom" value="<?php echo $row[1] ?>"/></p>
<p><label for="Prenom">Prenom :</label><input type="text" name="Prenom" value="<?php echo $row[2] ?>"/></p>
<p><label for="Sexe">Sexe :</label><input type="text" name="Sexe" value="<?php echo $row[3] ?>"/></p>
<p><label for="DateNaissance">Date de naissance :</label><input type="text" name="DateNaissance" value="<?php echo $row[4] ?>"/></p>
<p><label for="NumTel">Numéro de téléphone :</label><input type="text" name="NumTel" value="<?php echo $row[5] ?>"/></p>
<p><label for="SituationFamiliale">Situation Familiale :</label><input type="text" name="SituationFamiliale" value="<?php echo $row[6] ?>"/></p>
<p><label for="Profession">Profession :</label><input type="text" name="Profession" value="<?php echo $row[7] ?>"/></p>
<p><label for="Mail">Mail :</label><input type="text" name="Mail" value="<?php echo $row[8] ?>"/></p>
<p><label for="Adresse">Adresse :</label><input type="text" name="Adresse" value="<?php echo $row[9] ?>"/></p>
<p><label for="CodePostal">Code Postal :</label><input type="text" name="CodePostal" value="<?php echo $row[10] ?>"/></p>
<p><label for="Ville">Ville :</label><input type="text" name="Ville" value="<?php echo $row[11] ?>"/></p>
<p><input type="submit" value="Modifier" name="submit2" class="submit"/></p>
</form>
<?php
$Nom = $_POST['Nom'];
$Prenom = $_POST['Prenom'];
$Sexe = $_POST['Sexe'];
$DateNaissance = $_POST['DateNaissance'];
$NumTel = $_POST['NumTel'];
$SituationFamiliale = $_POST['SituationFamiliale'];
$Profession = $_POST['Profession'];
$Mail = $_POST['Mail'];
$Adresse = $_POST['Adresse'];
$CodePostal = $_POST['CodePostal'];
$Ville = $_POST['Ville'];

if(isset($_POST['submit2'])){
$query=("UPDATE client SET Nom='$Nom', Prenom='$Prenom', Sexe='$Sexe', DateNaissance='$DateNaissance', NumTel='$NumTel', SituationFamiliale='$SituationFamiliale', Profession='$Profession', Mail='$Mail', Adresse='$Adresse', CodePostal='$CodePostal', Ville='$Ville' WHERE id ='$id");
header("Location:ModifierClient.php");
$con =
mysql_connect(mysql_host(),mysql_user(),mysql_pass
word()) or die ("Erreur de connexion au serveur");
mysql_select_db(mysql_base(),$con) or die ("Erreur de sélection de la base de données");
mysql_query($query) or die ("Erreur dans la requête : ".$query);
//mysql_close();
echo "Modification effectuée";
}
}
}
}
?>

Merci de bien m'indiquer les erreurs.

robeal
robeal
Niveau 42
15 décembre 2010 à 22:41:42

lu,

le problème c'est que quand tu mets $Nom = $_POST['Nom']; et tout les autres ben tu affectes une variable aux variable $_POST alors qu'elles existent pas encore , donc il faut décaler ton if(isset($_POST['submit2'])) afin qu'elles ne soit affecter que quand tu clique sur le bouton modifier

robeal
robeal
Niveau 42
15 décembre 2010 à 22:42:43

...donc tu déplaces le if(isset($_POST['submit2'])) juste au dessus de $Nom = $_POST['Nom']; .

OhBonnieDay
OhBonnieDay
Niveau 10
15 décembre 2010 à 23:10:58

D'accord, merci, j'essayerai ça demain =)

OhBonnieDay
OhBonnieDay
Niveau 10
16 décembre 2010 à 11:27:06

Donc, je n'ai plus de message d'erreur mais la mise à jour ne se fait pas :s

deepblue
deepblue
Niveau 16
16 décembre 2010 à 14:14:42

Bon, on va déjà rendre plus clair ton code =)

Remplaces :

$tab=array($row[0],$row[1],$row[2],$row[3],$r

ow[4],$row[5],$row[6],$row[7],$row[8],$row[9],$row

[10],$row[11]);
$viewtable[$i]=$tab;
$i++;

Par $viewtable[] = $row;

Ensuite tu vas commenter la ligne :
header("Location:ModifierClient.php");

-> // header("Location:ModifierClient.php");

OhBonnieDay
OhBonnieDay
Niveau 10
16 décembre 2010 à 14:19:47

C'est fait ! Et pour mon problème ? =(

deepblue
deepblue
Niveau 16
16 décembre 2010 à 15:34:28

toujours pas d'enregistrement ? fais un echo $query et donne moi le resultat.

OhBonnieDay
OhBonnieDay
Niveau 10
16 décembre 2010 à 15:44:11

Ca n'affiche rien :s

deepblue
deepblue
Niveau 16
16 décembre 2010 à 18:09:52

Tu peux copier ton code indenter sur wall.deblan.fr stp ?

OhBonnieDay
OhBonnieDay
Niveau 10
16 décembre 2010 à 18:23:14

http://wall.deblan.fr/x1cf6/html/1/

Ca a mal indenté des fois par contre..

LeLion-67
LeLion-67
Niveau 10
16 décembre 2010 à 19:10:55

tu n'as pas peur de te faire trouer toi :peur:

OhBonnieDay
OhBonnieDay
Niveau 10
16 décembre 2010 à 19:44:43

Problème réglé.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment