Formulaire
pontarose
-
ilan27 Messages postés 395 Statut Membre -
ilan27 Messages postés 395 Statut Membre -
Bonjour,
j'ai un formulaire a trois pages:
page 1 je remplis mon formulaire
page 2
(je récupère les valeurs entré via post)
je réaffiche le formulaire avec les valeurs que j'ai entrés
cette page permet en fait de revoir les données que j'ai entrés et de pouvoir les modifier
page 3
les données de la page 2 sont entré dans la base de donnée.
Le problème est que si j'effectue des modifications sur les données entrés dans la page2 celle-ci ne sont pas prise en compte; en effet ce seront les données de la page 1 qui seront entrés dans la base de donnée.
Comment faire alors pour que si j'effectue des modifications (dans la page 2) que ce soit cell-ci qui soit prise dans la base de donnée
j'ai un formulaire a trois pages:
page 1 je remplis mon formulaire
page 2
(je récupère les valeurs entré via post)
je réaffiche le formulaire avec les valeurs que j'ai entrés
cette page permet en fait de revoir les données que j'ai entrés et de pouvoir les modifier
page 3
les données de la page 2 sont entré dans la base de donnée.
Le problème est que si j'effectue des modifications sur les données entrés dans la page2 celle-ci ne sont pas prise en compte; en effet ce seront les données de la page 1 qui seront entrés dans la base de donnée.
Comment faire alors pour que si j'effectue des modifications (dans la page 2) que ce soit cell-ci qui soit prise dans la base de donnée
A voir également:
- Formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
- Récupérer compte hotmail sans formulaire - Forum Hotmail / Outlook.com
45 réponses
Je sais!!!!!!!!!!!!!!!!!!!!
J'ai tout compris maintenant, c'est bien plus clair! :)
Je pense que c'est parce que tu as mis des value="..." dans les balises de ton formulaire html, du coup, ce qui sera rerentré n'aura aucun effet, car tu y auras déjà donné une valeur!
Tu doit enlever les value, mais je pense que c'est parce que tu voulais afficher les données entrées en page1?? Essaye sans, modifie les données en page 2 et vois si ca fonctionne. Si oui, alors il faudra trouver un moyen pour afficher les données de la page1.
J'ai tout compris maintenant, c'est bien plus clair! :)
Je pense que c'est parce que tu as mis des value="..." dans les balises de ton formulaire html, du coup, ce qui sera rerentré n'aura aucun effet, car tu y auras déjà donné une valeur!
Tu doit enlever les value, mais je pense que c'est parce que tu voulais afficher les données entrées en page1?? Essaye sans, modifie les données en page 2 et vois si ca fonctionne. Si oui, alors il faudra trouver un moyen pour afficher les données de la page1.
Ou sinon, essaye comme ceci, parce qu'il y a des erreurs de syntaxe:
(page2)
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<form name="form" method="post" action="page3.php">
<?php
//Et pourquoi tu mets $i si cette variable n'est pas initialisée? (dessous)
print( "<input type=\'hidden\" name=\"proteine_name".$i."\" value=\"".$_POST['proteine_name'.$i]."\"/>");
print ("<input type=\'hidden\" name=\"nb_sunite".$i."\" value=\"".$_POST['nb_sunite'.$i]."\"/>");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
print ("<input type=\"hidden\" name=\"sunite_name".$i."\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias".$i."\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//test pour verifier que les champs sont bien remplis et on reaffiche le formulaire avec les données antré par l'utilisateur
if()
{
print("sunite:");
echo "<input type='text' name='sunite_name".$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias".$i."' value='".$sunite_alias."'><br>";
}
}
print('<input type="submit"value="save" Onclick="javascript : location=http://localhost/XXX/page3.php">');
?>
(page2)
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<form name="form" method="post" action="page3.php">
<?php
//Et pourquoi tu mets $i si cette variable n'est pas initialisée? (dessous)
print( "<input type=\'hidden\" name=\"proteine_name".$i."\" value=\"".$_POST['proteine_name'.$i]."\"/>");
print ("<input type=\'hidden\" name=\"nb_sunite".$i."\" value=\"".$_POST['nb_sunite'.$i]."\"/>");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
print ("<input type=\"hidden\" name=\"sunite_name".$i."\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias".$i."\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//test pour verifier que les champs sont bien remplis et on reaffiche le formulaire avec les données antré par l'utilisateur
if()
{
print("sunite:");
echo "<input type='text' name='sunite_name".$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias".$i."' value='".$sunite_alias."'><br>";
}
}
print('<input type="submit"value="save" Onclick="javascript : location=http://localhost/XXX/page3.php">');
?>
salut,
je pense que tu as compris ce que je veux faire; excuse moi je me suis sans doute mal exprimé.
Je met les value parce que je veux afficher les données entrées en page1.
(page2)
Je suis tout a fait d'accord la variable n'est pas initialisé
j'ai donc désormais:
<form name="form" method="post" action="page3.php">
<?php
print( "<input type=\'hidden\" name=\"proteine_name"\" value=\"".$_POST['proteine_name']."\"/>");
print ("<input type=\'hidden\" name=\"nb_sunite"\" value=\"".$_POST['nb_sunite']."\"/>");
?>
Par contre je viens de noter une erreur je dois écrire name=\"sunite_name$i\"......et non name=\"sunite_name".$i."\
Voici le script après modification mais cela ne change toujours rien!!!!!!!!!!!!
(page2)
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<form name="form" method="post" action="page3.php">
<?php
print( "<input type=\'hidden\" name=\"proteine_name"\" value=\"".$_POST['proteine_name']."\"/>");
print ("<input type=\'hidden\" name=\"nb_sunite"\" value=\"".$_POST['nb_sunite']."\"/>");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
print ("<input type=\"hidden\" name=\"sunite_name$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//test pour verifier que les champs sont bien remplis et on reaffiche le formulaire avec les données antré par l'utilisateur
if()
{
print("sunite:");
echo "<input type='text' name='sunite_name$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias$i." value='".$sunite_alias."'><br>";
}
}
print('<input type="submit"value="save" Onclick="javascript : location=http://localhost/XXX/page3.php">');
?>
je pense que tu as compris ce que je veux faire; excuse moi je me suis sans doute mal exprimé.
Je met les value parce que je veux afficher les données entrées en page1.
(page2)
Je suis tout a fait d'accord la variable n'est pas initialisé
j'ai donc désormais:
<form name="form" method="post" action="page3.php">
<?php
print( "<input type=\'hidden\" name=\"proteine_name"\" value=\"".$_POST['proteine_name']."\"/>");
print ("<input type=\'hidden\" name=\"nb_sunite"\" value=\"".$_POST['nb_sunite']."\"/>");
?>
Par contre je viens de noter une erreur je dois écrire name=\"sunite_name$i\"......et non name=\"sunite_name".$i."\
Voici le script après modification mais cela ne change toujours rien!!!!!!!!!!!!
(page2)
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<form name="form" method="post" action="page3.php">
<?php
print( "<input type=\'hidden\" name=\"proteine_name"\" value=\"".$_POST['proteine_name']."\"/>");
print ("<input type=\'hidden\" name=\"nb_sunite"\" value=\"".$_POST['nb_sunite']."\"/>");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
print ("<input type=\"hidden\" name=\"sunite_name$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//test pour verifier que les champs sont bien remplis et on reaffiche le formulaire avec les données antré par l'utilisateur
if()
{
print("sunite:");
echo "<input type='text' name='sunite_name$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias$i." value='".$sunite_alias."'><br>";
}
}
print('<input type="submit"value="save" Onclick="javascript : location=http://localhost/XXX/page3.php">');
?>
Lol, c'est moi qui ai change le $sunite_name".$i.", parce que tu dois fermer les guillemets puis les rouvrir, pour insérer un variable php dans le html de la fonction print. (Et n'est-ce pas echo la fonction en php?). En fait je fais ceci à chaque fois mais tu ne le prends pas en compte, c'est pour ça que je te demandes à chaque fois le code! ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voilà comment je récupère les données en page 3
Je pense que le problème vient du fait que j'ais mis des value="..." mais comment faire car je veux afficher les données entrées en page1???????????
page3
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//verif que les champs sont bien remplis
if()
{
// integration dans la base de donnée
}
?>
Je pense que le problème vient du fait que j'ais mis des value="..." mais comment faire car je veux afficher les données entrées en page1???????????
page3
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//verif que les champs sont bien remplis
if()
{
// integration dans la base de donnée
}
?>
Essaye de les enlever. Vois si en modifiant la page2 ça prend bien en compte tes modif de la page2. On pourra voir si c'est à ce niveau là
en fait quand je met value="" , cela ne change rien. En effet, si je tape quelque chose dans ma page 2 cela n'est pas pris en compte. Seul ce que j'ai tapé en page 1 est pris en compte.
Je pense que cela vient du hidden que je met en page 2, car a travers ce hidden je récupère , en champ caché, les données entrées en page 1.
Quand je met value="" ou value='".$sunite_name." et que j'enlève
<?php
print( "<input type=\'hidden\" name=\"proteine_name"\" value=\"".$_POST['proteine_name']."\"/>");
print ("<input type=\'hidden\" name=\"nb_sunite"\" value=\"".$_POST['nb_sunite']."\"/>");
?>
en page 3 j'obtiens un message me disant que met champ sont vide alors que j'ai écris des choses en page2.
Quand je met value="" ou value='".$sunite_name." et que je n'enlève pas le hidden (la partie indiqué ci-dessus), ce sont les données de la page 1 qui sont enregistré.
Mais je ne vois pas comment faire alors????????
Je pense que cela vient du hidden que je met en page 2, car a travers ce hidden je récupère , en champ caché, les données entrées en page 1.
Quand je met value="" ou value='".$sunite_name." et que j'enlève
<?php
print( "<input type=\'hidden\" name=\"proteine_name"\" value=\"".$_POST['proteine_name']."\"/>");
print ("<input type=\'hidden\" name=\"nb_sunite"\" value=\"".$_POST['nb_sunite']."\"/>");
?>
en page 3 j'obtiens un message me disant que met champ sont vide alors que j'ai écris des choses en page2.
Quand je met value="" ou value='".$sunite_name." et que je n'enlève pas le hidden (la partie indiqué ci-dessus), ce sont les données de la page 1 qui sont enregistré.
Mais je ne vois pas comment faire alors????????
Je ne pense pas qu'il faille enlever ces deux lignes, car elles permettent de recuperer le nom de la protéine.
Essaye de les ecrire comme ça, la aussi tu garde tes erreurs de syntaxe:
print( "<input type=\"hidden\" name=\"proteine_name"\" value=\"".$_POST['proteine_name']."\">");
print ("<input type=\"hidden\" name=\"nb_sunite"\" value=\"".$_POST['nb_sunite']."\">");
Essaye de les ecrire comme ça, la aussi tu garde tes erreurs de syntaxe:
print( "<input type=\"hidden\" name=\"proteine_name"\" value=\"".$_POST['proteine_name']."\">");
print ("<input type=\"hidden\" name=\"nb_sunite"\" value=\"".$_POST['nb_sunite']."\">");
Excuse moi je parlai du hiddende la sous unité; celui-ci
print ("<input type=\"hidden\" name=\"sunite_name$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
En fesant
foreach($_POST as $key => $value)
{
echo '<p>' . $key . ' -> ' . $value . '</p>';
}
j'obtiens en page 3:
proteine_name->HREF
nb_sunite->2
sunite_name$i->H1
sunite_alias$i->HNR111
subunit_name2->H2
sunite_alias$i->HNR222
subunit_name$i->H2
subunit_systematic_name$i->HNR222
C'est bizarre j'obtiens deux fois le résultat pour la sous unité H2.
print ("<input type=\"hidden\" name=\"sunite_name$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
En fesant
foreach($_POST as $key => $value)
{
echo '<p>' . $key . ' -> ' . $value . '</p>';
}
j'obtiens en page 3:
proteine_name->HREF
nb_sunite->2
sunite_name$i->H1
sunite_alias$i->HNR111
subunit_name2->H2
sunite_alias$i->HNR222
subunit_name$i->H2
subunit_systematic_name$i->HNR222
C'est bizarre j'obtiens deux fois le résultat pour la sous unité H2.
non mais en dessous il y a les normaux !?
non ?
non ?
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//test pour verifier que les champs sont bien remplis et on reaffiche le formulaire avec les données antré par l'utilisateur
if()
{
print("sunite:");
echo "<input type='text' name='sunite_name$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias$i." value='".$sunite_alias."'><br>";
}
}
Olala je fatigue un peu:
Elle est interprété mais pas la deuxième fois pour la sous-unité H2
proteine_name->HREF
nb_sunite->2
sunite_name1->H1
sunite_alias1->HNR111
subunit_name2->H2
sunite_alias2->HNR222
subunit_name$i->H2
subunit_systematic_name$i->HNR222
Elle est interprété mais pas la deuxième fois pour la sous-unité H2
proteine_name->HREF
nb_sunite->2
sunite_name1->H1
sunite_alias1->HNR111
subunit_name2->H2
sunite_alias2->HNR222
subunit_name$i->H2
subunit_systematic_name$i->HNR222
Il nous manque encore le code des 3 pages, en integral :) sauf la page 1 à la limite (fais attention à ne pas divulguer tes codes)
Moi je ne serais pas sur le forum pendant trois jours, mais ne vous inquietéz pas: je n'abandonne pas!!!
++
Moi je ne serais pas sur le forum pendant trois jours, mais ne vous inquietéz pas: je n'abandonne pas!!!
++
(page2)
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<form name="form" method="post" action="page3.php">
<?php
print( "<input type=\'hidden\" name=\"proteine_name"\" value=\"".$_POST['proteine_name']."\"/>");
print ("<input type=\'hidden\" name=\"nb_sunite"\" value=\"".$_POST['nb_sunite']."\"/>");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
print ("<input type=\"hidden\" name=\"sunite_name$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
?>
<?php
$tab_name=array();
$tab_alias=array();
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//test pour verifier que les champs sont bien remplis et on reaffiche le formulaire avec les données antré par l'utilisateur
if(!empty($sunite_name) && !empty($sunite_alias))
{
if(!in_array("$sunite_name",$tab_name) && !in_array("$sunite_alias",$tab_alias)
{
$tab_name[]="$sunite_name";
$tab_alias[]="$tab_alias";
//affichage du formulaire
print("sunite:");
echo "<input type='text' name='sunite_name$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias$i." value='".$sunite_alias."'><br>";
}
else
{
print("vous avez déjà entré cela");
//affichage du formulaire
print("sunite:");
print('<input type='text' name='sunite_name$i."' value='".$sunite_name."'><br>');
print("alias:");
print('<input type='text' name='sunite_alias$i." value='".$sunite_alias."'><br>');
}
}
}
print('<input type="submit"value="save" Onclick="javascript : location=http://localhost/XXX/page3.php">');
?>
page3
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<?php
$tab_name[]="$sunite_name";
$tab_alias[]="$tab_alias";
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
foreach($_POST as $key => $value)
{
echo '<p>' . $key . ' -> ' . $value . '</p>';
}
//verif que les champs sont bien remplis
if(!empty($sunite_name) && !empty($sunite_alias))
{
if(!in_array("$sunite_name",$tab_name) && !in_array("$sunite_alias",$tab_alias)
{
//connexion a la base de donnée
$requete=
"SELECT proteine_id
FROM proteine
WHERE proteine_name='"proteine_name"'";
$execution = mysql_query($requete) or die("erreur au niveau de la requête2");
$ligne = mysql_num_rows($execution);
if($ligne!=0)
{
print("la proteine existe dejà");
$requeteA=
"SELECT sunite_id
FROM sunite
WHERE sunite_alias='"sunite_alias"'";
$executionA = mysql_query($requeteA) or die("erreur au niveau de la requête2");
$resultat = mysql_num_rows($executionA);
$requeteB=
"SELECT proteine_id
FROM proteine,sunite
WHERE proteine. proteine_id =sunite.proeteine_id"'";
$requete3=
"INSERT INTO sunite (sunite_id,protein_id, sunite_name,sunite_alias)
VALUES('','$protein_id','$sunite_name', '$sunite_alias')";
mysql_query($requete3) ;
}
else
{
$requete4=
"INSERT INTO protein (proteine_id, proteine_name, nb_sunite)
VALUES('','$proteine_name',)";
mysql_query($requete4) ;
$protein_id=mysql_id();
$requete5=
"INSERT INTO sunite (sunite_id,protein_id, sunite_name,sunite_alias)
VALUES('','protein_id','$sunite_name', '$sunite_alias')";
mysql_query($requete5) ;
}
mysql_close($connexion);
}
}
}
}
?>
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<form name="form" method="post" action="page3.php">
<?php
print( "<input type=\'hidden\" name=\"proteine_name"\" value=\"".$_POST['proteine_name']."\"/>");
print ("<input type=\'hidden\" name=\"nb_sunite"\" value=\"".$_POST['nb_sunite']."\"/>");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
print ("<input type=\"hidden\" name=\"sunite_name$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
?>
<?php
$tab_name=array();
$tab_alias=array();
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//test pour verifier que les champs sont bien remplis et on reaffiche le formulaire avec les données antré par l'utilisateur
if(!empty($sunite_name) && !empty($sunite_alias))
{
if(!in_array("$sunite_name",$tab_name) && !in_array("$sunite_alias",$tab_alias)
{
$tab_name[]="$sunite_name";
$tab_alias[]="$tab_alias";
//affichage du formulaire
print("sunite:");
echo "<input type='text' name='sunite_name$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias$i." value='".$sunite_alias."'><br>";
}
else
{
print("vous avez déjà entré cela");
//affichage du formulaire
print("sunite:");
print('<input type='text' name='sunite_name$i."' value='".$sunite_name."'><br>');
print("alias:");
print('<input type='text' name='sunite_alias$i." value='".$sunite_alias."'><br>');
}
}
}
print('<input type="submit"value="save" Onclick="javascript : location=http://localhost/XXX/page3.php">');
?>
page3
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<?php
$tab_name[]="$sunite_name";
$tab_alias[]="$tab_alias";
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
foreach($_POST as $key => $value)
{
echo '<p>' . $key . ' -> ' . $value . '</p>';
}
//verif que les champs sont bien remplis
if(!empty($sunite_name) && !empty($sunite_alias))
{
if(!in_array("$sunite_name",$tab_name) && !in_array("$sunite_alias",$tab_alias)
{
//connexion a la base de donnée
$requete=
"SELECT proteine_id
FROM proteine
WHERE proteine_name='"proteine_name"'";
$execution = mysql_query($requete) or die("erreur au niveau de la requête2");
$ligne = mysql_num_rows($execution);
if($ligne!=0)
{
print("la proteine existe dejà");
$requeteA=
"SELECT sunite_id
FROM sunite
WHERE sunite_alias='"sunite_alias"'";
$executionA = mysql_query($requeteA) or die("erreur au niveau de la requête2");
$resultat = mysql_num_rows($executionA);
$requeteB=
"SELECT proteine_id
FROM proteine,sunite
WHERE proteine. proteine_id =sunite.proeteine_id"'";
$requete3=
"INSERT INTO sunite (sunite_id,protein_id, sunite_name,sunite_alias)
VALUES('','$protein_id','$sunite_name', '$sunite_alias')";
mysql_query($requete3) ;
}
else
{
$requete4=
"INSERT INTO protein (proteine_id, proteine_name, nb_sunite)
VALUES('','$proteine_name',)";
mysql_query($requete4) ;
$protein_id=mysql_id();
$requete5=
"INSERT INTO sunite (sunite_id,protein_id, sunite_name,sunite_alias)
VALUES('','protein_id','$sunite_name', '$sunite_alias')";
mysql_query($requete5) ;
}
mysql_close($connexion);
}
}
}
}
?>
Essaye ainsi:
(page2)
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<form name="form" method="post" action="page3.php">
<?php
print( "<input type=\"hidden\" name=\"proteine_name\" value=\"".$_POST['proteine_name']."\">");
print ("<input type=\"hidden\" name=\"nb_sunite\" value=\"".$_POST['nb_sunite']."\">");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
print ("<input type=\"hidden\" name=\"sunite_name$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
?>
<?php
$tab_name=array();
$tab_alias=array();
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//test pour verifier que les champs sont bien remplis et on reaffiche le formulaire avec les données antré par l'utilisateur
if(!empty($sunite_name) && !empty($sunite_alias))
{
if(!in_array("$sunite_name",$tab_name) && !in_array("$sunite_alias",$tab_alias)
{
$tab_name[]="$sunite_name";
$tab_alias[]="$tab_alias";
//affichage du formulaire
print("sunite:");
echo "<input type='text' name='sunite_name".$i."' value='".$sunite_name.$i."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias".$i."' value='".$sunite_alias.$i."'><br>";
}
else
{
print("vous avez déjà entré cela");
//affichage du formulaire
print("sunite:");
echo "<input type='text' name='sunite_name".$i."' value='".$sunite_name.$i."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias".$i."' value='".$sunite_alias.$i."'><br>";
}
}
}
print('<input type="submit"value="save" >');
?>
page3
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<?php
$tab_name[]="$sunite_name";
$tab_alias[]="$tab_alias";
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
foreach($_POST as $key => $value)
{
echo '<p>' . $key . ' -> ' . $value . '</p>';
}
//verif que les champs sont bien remplis
if(!empty($sunite_name) && !empty($sunite_alias))
{
if(!in_array("$sunite_name",$tab_name) && !in_array("$sunite_alias",$tab_alias)
{
//connexion a la base de donnée
$requete=
"SELECT proteine_id
FROM proteine
WHERE proteine_name='".$proteine_name."'";
$execution = mysql_query($requete) or die("erreur au niveau de la requête2");
$ligne = mysql_num_rows($execution);
if($ligne!=0)
{
print("la proteine existe dejà");
$requeteA=
"SELECT sunite_id
FROM sunite
WHERE sunite_alias='".$sunite_alias."'";
$executionA = mysql_query($requeteA) or die("erreur au niveau de la requête2");
$resultat = mysql_num_rows($executionA);
$requeteB=
"SELECT proteine_id
FROM proteine,sunite
WHERE proteine. proteine_id ='sunite.proteine_id"'";
$requete3=
"INSERT INTO sunite (sunite_id,protein_id, sunite_name,sunite_alias)
VALUES('','".$protein_id."','".$sunite_name."', '".$sunite_alias."')";
mysql_query($requete3) ;
}
else
{
$requete4=
"INSERT INTO proteine (proteine_id, proteine_name, nb_sunite)
VALUES('','".$proteine_name."','".$nb_sunite."')";
mysql_query($requete4) ;
$protein_id=mysql_id();
$requete5=
"INSERT INTO sunite (sunite_id,protein_id, sunite_name,sunite_alias)
VALUES('','".$protein_id."','".$sunite_name."', ".'$sunite_alias."')";
mysql_query($requete5) ;
}
mysql_close($connexion);
}
}
}
}
?>
(page2)
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<form name="form" method="post" action="page3.php">
<?php
print( "<input type=\"hidden\" name=\"proteine_name\" value=\"".$_POST['proteine_name']."\">");
print ("<input type=\"hidden\" name=\"nb_sunite\" value=\"".$_POST['nb_sunite']."\">");
?>
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
print ("<input type=\"hidden\" name=\"sunite_name$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
?>
<?php
$tab_name=array();
$tab_alias=array();
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
//test pour verifier que les champs sont bien remplis et on reaffiche le formulaire avec les données antré par l'utilisateur
if(!empty($sunite_name) && !empty($sunite_alias))
{
if(!in_array("$sunite_name",$tab_name) && !in_array("$sunite_alias",$tab_alias)
{
$tab_name[]="$sunite_name";
$tab_alias[]="$tab_alias";
//affichage du formulaire
print("sunite:");
echo "<input type='text' name='sunite_name".$i."' value='".$sunite_name.$i."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias".$i."' value='".$sunite_alias.$i."'><br>";
}
else
{
print("vous avez déjà entré cela");
//affichage du formulaire
print("sunite:");
echo "<input type='text' name='sunite_name".$i."' value='".$sunite_name.$i."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias".$i."' value='".$sunite_alias.$i."'><br>";
}
}
}
print('<input type="submit"value="save" >');
?>
page3
<?php
//recupération des valeurs posté
$proteine_name=$_POST[' proteine_name '];
$nb_sunite=$_POST[' nb_sunite '];
?>
<?php
$tab_name[]="$sunite_name";
$tab_alias[]="$tab_alias";
for($i=1; $i<=$nb_sunite;$i++)
{
//recupération des valeurs posté
$sunite_name=$_POST['sunite_name'.$i];
$sunite_alias=$_POST['sunite_alias'.$i];
foreach($_POST as $key => $value)
{
echo '<p>' . $key . ' -> ' . $value . '</p>';
}
//verif que les champs sont bien remplis
if(!empty($sunite_name) && !empty($sunite_alias))
{
if(!in_array("$sunite_name",$tab_name) && !in_array("$sunite_alias",$tab_alias)
{
//connexion a la base de donnée
$requete=
"SELECT proteine_id
FROM proteine
WHERE proteine_name='".$proteine_name."'";
$execution = mysql_query($requete) or die("erreur au niveau de la requête2");
$ligne = mysql_num_rows($execution);
if($ligne!=0)
{
print("la proteine existe dejà");
$requeteA=
"SELECT sunite_id
FROM sunite
WHERE sunite_alias='".$sunite_alias."'";
$executionA = mysql_query($requeteA) or die("erreur au niveau de la requête2");
$resultat = mysql_num_rows($executionA);
$requeteB=
"SELECT proteine_id
FROM proteine,sunite
WHERE proteine. proteine_id ='sunite.proteine_id"'";
$requete3=
"INSERT INTO sunite (sunite_id,protein_id, sunite_name,sunite_alias)
VALUES('','".$protein_id."','".$sunite_name."', '".$sunite_alias."')";
mysql_query($requete3) ;
}
else
{
$requete4=
"INSERT INTO proteine (proteine_id, proteine_name, nb_sunite)
VALUES('','".$proteine_name."','".$nb_sunite."')";
mysql_query($requete4) ;
$protein_id=mysql_id();
$requete5=
"INSERT INTO sunite (sunite_id,protein_id, sunite_name,sunite_alias)
VALUES('','".$protein_id."','".$sunite_name."', ".'$sunite_alias."')";
mysql_query($requete5) ;
}
mysql_close($connexion);
}
}
}
}
?>
Bonjour,
si j'ai bien suivi tu as changé la ligne
print('<input type="submit"value="save" Onclick="javascript : location=http://localhost/XXX/page3.php">');
en
print('<input type="submit"value="save" >');
Cela ne change rien.
J'ai plusieurs remarques:
1/
Si je fais une boucle pour voir le contenu de $_POST en page 3
foreach($_POST as $key => $value)
{
echo '<p>' . $key . ' -> ' . $value . '</p>';
}
j'obtiens en page 3, le résultat suivant:
proteine_name->HREF
nb_sunite->1
sunite_name1i->H1
sunite_alias1->HEWC6
sunite_name$i->H1
sunite_alias$i->HEWC6
Il s'avère que la variable $i n'est pas interprété.(cf.sunite_name$i->H1). Alors que en page 1 j'ai entré:
PROTEINE:HREF
NBRE SOUS-UNITE:1
sous unité1:
nom:H1
alias: HEWC6
et qu'en page 2, j'obtiens:
PROTEINE:HREF
NBRE SOUS-UNITE:1
sous unité1:
nom:H1
alias: HEWC6
2/
Je pense que ca vient du fait que j'ai, en page 2, à la fois :
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
print ("<input type=\"hidden\" name=\"sunite_name$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
?>
et
print("sunite:");
echo "<input type='text' name='sunite_name$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias$i." value='".$sunite_alias."'><br>";
dans le meme formulaire.
Mes champs cachés et mes champs visibles ont les mêmes noms.
J'ai donc changé leur nom par sunite_nameHidden$i et sunite_aliasHidden$i pour qu'ils soient bien considéré comme différent des champs du formulaire de modification.
print ("<input type=\"hidden\" name=\"sunite_nameHidden$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_aliasHidden$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
Je n'ai changé que cela dans mon script et j'obtiens en page3, le résultat suivant:
proteine_name->HREF
nb_sunite->1
sunite_name1i->H1
sunite_alias1->HEWC6
sunite_name$i->H1
sunite_alias$i->HEWC6
LE SOUCI AUSSI VIENT JE PENSE DU FAIT QUE $i (de la page2) N'EST PAS INTERPRETE EN PAGE 3...
si j'ai bien suivi tu as changé la ligne
print('<input type="submit"value="save" Onclick="javascript : location=http://localhost/XXX/page3.php">');
en
print('<input type="submit"value="save" >');
Cela ne change rien.
J'ai plusieurs remarques:
1/
Si je fais une boucle pour voir le contenu de $_POST en page 3
foreach($_POST as $key => $value)
{
echo '<p>' . $key . ' -> ' . $value . '</p>';
}
j'obtiens en page 3, le résultat suivant:
proteine_name->HREF
nb_sunite->1
sunite_name1i->H1
sunite_alias1->HEWC6
sunite_name$i->H1
sunite_alias$i->HEWC6
Il s'avère que la variable $i n'est pas interprété.(cf.sunite_name$i->H1). Alors que en page 1 j'ai entré:
PROTEINE:HREF
NBRE SOUS-UNITE:1
sous unité1:
nom:H1
alias: HEWC6
et qu'en page 2, j'obtiens:
PROTEINE:HREF
NBRE SOUS-UNITE:1
sous unité1:
nom:H1
alias: HEWC6
2/
Je pense que ca vient du fait que j'ai, en page 2, à la fois :
<?php
for($i=1; $i<=$nb_sunite;$i++)
{
print ("<input type=\"hidden\" name=\"sunite_name$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_alias$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
?>
et
print("sunite:");
echo "<input type='text' name='sunite_name$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias$i." value='".$sunite_alias."'><br>";
dans le meme formulaire.
Mes champs cachés et mes champs visibles ont les mêmes noms.
J'ai donc changé leur nom par sunite_nameHidden$i et sunite_aliasHidden$i pour qu'ils soient bien considéré comme différent des champs du formulaire de modification.
print ("<input type=\"hidden\" name=\"sunite_nameHidden$i\" value=\"".$_POST['sunite_name'.$i]."\"/>");
print ( "<input type=\"hidden\" name=\"sunite_aliasHidden$i\" value=\"".$_POST['sunite_alias'.$i]."\"/>");
Je n'ai changé que cela dans mon script et j'obtiens en page3, le résultat suivant:
proteine_name->HREF
nb_sunite->1
sunite_name1i->H1
sunite_alias1->HEWC6
sunite_name$i->H1
sunite_alias$i->HEWC6
LE SOUCI AUSSI VIENT JE PENSE DU FAIT QUE $i (de la page2) N'EST PAS INTERPRETE EN PAGE 3...
Mais oui, mais là encore, ce sont des erreurs que je te corrige mais dont tu ne tiens pas compte (tu les ecris pas):
il faut
print("sunite:");
echo "<input type='text' name='sunite_name".$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias".$i."' value='".$sunite_alias."'><br>";
il faut
print("sunite:");
echo "<input type='text' name='sunite_name".$i."' value='".$sunite_name."'><br>";
print("alias:");
echo "<input type='text' name='sunite_alias".$i."' value='".$sunite_alias."'><br>";
salut,
ba non ! ça sert aussi à ça le 'value' !
quand tu modifies il envoie la valeur modifiée.