Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/12/2006, 15h49   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 17
Points : 1
Points : 1
Par défaut Compléter un formulaire à partir d'infos d'une DB

Bonjour,

Voici mon problème :

Lorsqu'un utilisateur sera loggé sur mon site, il aura la possibilité de modifier les paramètres qu'il a introduits lors de son inscription via un formulaire. Pour ce faire, il devra cliquer sur "Mofidier mes paramètres" ce qui fera appel à un script php contenant le même formulaire que celui de l'inscription mais complété avec les infos qu'il a introduites lors de son inscription.

Voici une partie de mon code :

Code :
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
 
<?php
 
    $server="localhost";
	$login="root";
	$password="";
	$BD="siteweb";
 
	$link = mysql_pconnect($server, $login, $password);
    if(!$link){
    	echo "no database connection";
    }else{
        $bdd = mysql_select_db($BD ,$link);
        if(!$bdd){
        	echo "database not found";
    	}}
 
	$Login="gg";
	$Login = "'".$Login."'";
	$requeteId= "Select id from inscription where Login = $Login;";
	$id = mysql_query($requeteId);	
	$requeteCivilite = "SELECT Civilite From inscription where id =$id;";
	$requeteNom="SELECT Nom FROM inscription where id =$id;" ;
	$requetePrenom="SELECT Prenom FROM inscription where id =$id;";
	$requeteDateNaissance="SELECT DateNaissance FROM inscription where id =$id;";
	$requeteRue="SELECT Rue FROM inscription where id =$id;";
	$requeteNumero="SELECT Numero FROM inscription where id =$id;";
	$requeteZpcp="SELECT Zpcp FROM inscription where id =$id;";
	$requeteBoite="SELECT Boite FROM inscription where id =$id;";
	$requeteLocalite="SELECT Localite FROM inscription where id =$id;";
	$requeteProvince="SELECT Province FROM inscription where id =$id;";
	$requetePays="SELECT Pays FROM inscription where id =$id;";
	$requeteTelephone="SELECT Telephone FROM inscription where id =$id;";	
	$requeteGsm="SELECT Gsm FROM inscription where id =$id;";
	$requeteFax="SELECT Fax FROM inscription where id =$id;";
	$requeteEmail="SELECT Email FROM inscription where id =$id;";
	$requeteLogin="SELECT Login FROM inscription where id =$id;";
	$requetePASSWORD="SELECT PASSWORD FROM inscription where id =$id;";
	$requeteNewsletter="SELECT Newsletter FROM inscription where id =$id;";
 
 
echo '<table>
<form name="inscription" method="post" action="inscription.php" enctype="multipart/form-data">
<tr>
<td align="center"><b><i>Données personnelles</i></b>
</td>
</tr>
<tr>
<td>Civilité: <font size="-1" color="#FF0000">*</font></td>
<td><SELECT name="civilite" value=$requeteCivilite >
<option value="- - -">- - -</option>
<OPTION value="Mr">Mr</OPTION>
<option value="Mme">Mme</option>
<option value="Mlle">Mlle</option> 
</SELECT><br></td>
</tr>
<tr><td>Nom: <font size="-1" color="#FF0000">*</font></td>
<td><input name="nom" type="text" size="30" value="';?> <?php echo "$requeteNom"; ?> <?php echo '"></td>
</tr>
 
<tr><td>Prénom: <font size="-1" color="#FF0000">*</font></td>
<td><input name="prenom" type="text" size="30" value=$id></td>
</tr>
...
Je pensais faire ceci pour compléter les champs :

Code :
1
2
 
<input name="nom" type="text" size="30" value="';?> <?php echo "$requeteNom"; ?>
Mais cela ne fonctionne pas

Pouvez-vous m'aider ?

Merci
zykiel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 16h02   #2
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
si ton utilisateur s'est identifié sur ton site, tu dois avoir mis son identifiant en session à priori

donc
Code :
1
2
3
4
5
6
7
$id = $_SESSION['id'];
$requete = "SELECT * FROM `inscription` WHERE `cléPrimaire`='$id'";
$resultats = mysql_query($requete) or exit("Erreur de requête.<br />Requête demandée : $requete<br />Erreur retournée : " . mysql_error());
$infos = mysql_fetch_assoc($resultats);
 
//...
<input name="nom" type="text" size="30" value="<?php echo $infos['nom']; ?>" />
attention à certains trucs :

Code :
1
2
$Login="gg";
$Login = "'".$Login."'";
beurk

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
	$requeteCivilite = "SELECT Civilite From inscription where id =$id;";
	$requeteNom="SELECT Nom FROM inscription where id =$id;" ;
	$requetePrenom="SELECT Prenom FROM inscription where id =$id;";
	$requeteDateNaissance="SELECT DateNaissance FROM inscription where id =$id;";
	$requeteRue="SELECT Rue FROM inscription where id =$id;";
	$requeteNumero="SELECT Numero FROM inscription where id =$id;";
	$requeteZpcp="SELECT Zpcp FROM inscription where id =$id;";
	$requeteBoite="SELECT Boite FROM inscription where id =$id;";
	$requeteLocalite="SELECT Localite FROM inscription where id =$id;";
	$requeteProvince="SELECT Province FROM inscription where id =$id;";
	$requetePays="SELECT Pays FROM inscription where id =$id;";
	$requeteTelephone="SELECT Telephone FROM inscription where id =$id;";	
	$requeteGsm="SELECT Gsm FROM inscription where id =$id;";
	$requeteFax="SELECT Fax FROM inscription where id =$id;";
	$requeteEmail="SELECT Email FROM inscription where id =$id;";
	$requeteLogin="SELECT Login FROM inscription where id =$id;";
	$requetePASSWORD="SELECT PASSWORD FROM inscription where id =$id;";
	$requeteNewsletter="SELECT Newsletter FROM inscription where id =$id;";
arg ! mes yeux ! je fonds !


si j'voulais faire mon chiant, j'rajouterai que tu fais une présentation par tableaux
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 16h15   #3
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 160
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 160
Points : 34
Points : 34
Salut ,

Je comprend pas pourquoi tu te complique la vie ceci devrait suffir :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?php
 
$id = $_SESSION['id'];
 
//recherche des infos du membre
$recherche = mysql_query("SELECT * FROM inscription WHERE id='$id'");
$resultat = mysql_fetch_array($recherche);
 
//formulaire
echo ' 
<form>
<input type="text" name="pseudo" value="<? $resultat['pseudo']; ?>" />
</form>';
 
mysql_close();
?>
iwf-fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 16h19   #4
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
c'est ce que j'ai fait

par contre ton echo va foirer
Citation:
Envoyé par iwf-fr
Code :
1
2
3
4
echo ' 
<form>
<input type="text" name="pseudo" value="<? $resultat['pseudo']; ?>" />
</form>';
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 16h24   #5
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 160
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 160
Points : 34
Points : 34
Citation:
Envoyé par Dia_FR
c'est ce que j'ai fait

par contre ton echo va foirer
Oui faut juste changer , j'ai fais un exemple pour lui montrer qu'il n'y a pas besoin de mega requête
iwf-fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 16h30   #6
Invité de passage
 
Inscription : décembre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 17
Points : 1
Points : 1
Merci pour vos réponses je vais tester cela, mais j'ai une question avant:

A quoi correspond pseudo dans cette instruction $resultat['pseudo'] ?

Dois indiquer ici le nom de la colonne de ma table qui m'intéresse ?
zykiel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 16h48   #7
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 160
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 160
Points : 34
Points : 34
Citation:
Envoyé par zykiel
Merci pour vos réponses je vais tester cela, mais j'ai une question avant:

A quoi correspond pseudo dans cette instruction $resultat['pseudo'] ?

Dois indiquer ici le nom de la colonne de ma table qui m'intéresse ?
Oui tu met $resultat['nom de la colonne de ta table que tu veux afficher']
iwf-fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 17h07   #8
Invité de passage
 
Inscription : décembre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 17
Points : 1
Points : 1
Merci, ca fonctionne c'est génial, depuis le temps que j'étais la dessus.

Par contre ca n'a pas l'air de fonctionner pour les listes déroulantes

As-tu une idée de pourquoi ?

Merci.
zykiel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 17h24   #9
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 160
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 160
Points : 34
Points : 34
Dans ta liste déroulante , elle doit être composer de quoi ?
iwf-fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 17h33   #10
Invité de passage
 
Inscription : décembre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 17
Points : 1
Points : 1
J'en ai plusieurs, en voici une qui permet de choisir la civilité :

Code :
1
2
3
4
5
6
 
<SELECT name="civilite" value="'; ?> <? echo $resultat['Civilite']; ?> <? echo '">
<option value="- - -">- - -</option>
<option value="Mr">Mr</OPTION>
<option value="Mme">Mme</option>
<option value="Mlle">Mlle</option>
Voila ce que j'ai essayé donc comme pour les autres champs mais ici ca ne fonctionne pas.
zykiel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 17h43   #11
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 160
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 160
Points : 34
Points : 34
Citation:
Envoyé par zykiel
J'en ai plusieurs, en voici une qui permet de choisir la civilité :

Code :
1
2
3
4
5
6
 
<SELECT name="civilite" value="'; ?> <? echo $resultat['Civilite']; ?> <? echo '">
<option value="- - -">- - -</option>
<option value="Mr">Mr</OPTION>
<option value="Mme">Mme</option>
<option value="Mlle">Mlle</option>
Voila ce que j'ai essayé donc comme pour les autres champs mais ici ca ne fonctionne pas.
Essaie sa :

Code :
1
2
3
4
5
6
7
 
 
<SELECT name="civilite">
<option value="<? $resultat['civilite'];?>"><? $resultat['civilite']; ?></option>
<option value="Mr">Mr</OPTION>
<option value="Mme">Mme</option>
<option value="Mlle">Mlle</option>
iwf-fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 17h51   #12
Invité de passage
 
Inscription : décembre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 17
Points : 1
Points : 1
Ca fonctionne car il met la valeur sélectionnée lors de l'inscription comme valeur par défaut à la place des - - - mais maitenant il y a 2 fois la meme valeur de choix dans la liste.

Par exemple si l'utilisateur avait sélectionné "Mr", maintenant ça m'indique bien Mr dans le formulaire complété mais si on déroule la liste on a comme possibilité : Mr Mr Mme Mlle.

Mais c'est déjç mieux que rien, pour le moment je vais faire ainsi, merci pour ton aide.
zykiel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 18h23   #13
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 160
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 160
Points : 34
Points : 34
Ok bah alors à part sa je vois pas :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<SELECT name="civilite">
<option value="<? $resultat['civilite'];?>"><? $resultat['civilite']; ?></option>
if ($resultat['civilite'] = 'Mr')
{
echo "
<option value='Mme'>Mme</option>
<option value='Mlle'>Mlle</option>";
}
elseif ($resultat['civilite'] = 'Mme')
{
echo "
<option value='Mr'>Mr</option>
<option value='Mlle'>Mlle</option>";
}
else
{
echo "
<option value='Mr'>Mr</option>
<option value='Mme'>Mme</option>";
}
Si quelqu'un d'autre a une autre idée
iwf-fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 18h30   #14
Invité de passage
 
Inscription : décembre 2006
Messages : 17
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 17
Points : 1
Points : 1
Oui c'est une bonne idée, je l'essayerai plus tard car pour le moment j'ai des listes déroulantes avec bcp de choix donc je vais laisser ainsi pour le moment.
Il faudrait que je les garnissent à partir de ma DB pour optimiser le tout.

Merci pour ton aide.
zykiel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2006, 21h04   #15
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
Code :
1
2
3
4
5
6
7
8
9
10
11
12
$civilite = $resultat['civilite'];
$valeurs = array('Mr', 'Mlle', 'Mme');
 
echo '<select name="civilite">';
 
foreach ($valeurs as $val) {
  echo '<option value="' . $val . '" ';
  if ($val == $civilite) { echo 'selected="selected" '; }
  echo '/>' . $val . '</option>';
}
 
echo '</select>';
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h49.


 
 
 
 
Partenaires

Hébergement Web