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

PHP & Base de données Discussion :

Formulaire - Récupération des données [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 33
    Points
    33
    Par défaut Formulaire - Récupération des données
    Bonsoir,

    Mon problème est simple à expliquer. Je dois récupérer les données d'un formulaire pour pouvoir les enregistrer dans une BDD. Plutôt que de bourriner, j'ai fait une étape intermédiaire dans laquelle j'essaie d'afficher le premier champ, c'est-à-dire le nom de famille.

    Et évidemment, ce nom ne s'affiche pas -_- Encore plus comique, j'ai envoyé mes fichiers à un ami qui les a testés et chez lui mon code fonctionne ... Seule différence : j'utilise easyPHP et lui Apache.

    Voici mon fichier .html :

    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
     
    <html>
    	<head>
    		<link rel=stylesheet type="text/css" href="styles.css"/>
    		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    	</head>
     
    	<body bgcolor=#333399 >
    <form method="post" id="myform" class="cssform" action="utilisateur.php">
    		<p><p><label for="civil">Civilit&eacute;*</label>
    			<select name="menu">
    				<option value="Monsieur"/>M.
    				<option value="Mademoiselle"/>Mlle
    				<option value="Madame"/>Mme
    			</select></br>
    		</p></p>
    		<p><p><label for="nom">Nom*</label>
    			<input type="text" name="Nom" size="50"></br>
    			<label for="prenom">Pr&eacute;nom*</label>
    			<input type="text" name="Prenom" size="50"></br>
    			<label for="compadresse">Compl&eacute;ment d'adresse</label>
    			<input type="text" name="Adresse1" size="50"><small>(b&acirc;timent, appartement...)</small></br>
    			<label for="adresse">Adresse*</label>
    			<input type="text" name="Adresse2" size="50" /></br>
    			<label for="cp">Code postal*</label>
    			<input type="text" name="Code_postal" size="5"/></br>
    			<label for="commune">Commune*</label>
    			<input type"text" name="Commune" size="50" /></br></p></p>
    			<p><p><label for="num_etud">Num&eacute;ro Etudiant*</label>
    			<input type="text" name="Num_etudiant" size="10" /></br></p></p>
    			<p><p><label for="login">Choisissez votre login (identifiant)*</label>
    			<input type="text" name="Login" size="50" /></br>
    			<label for="mdp_saisi">Entrez un mot de passe*</label>
    			<input type="text" name="mdp_choisi1" size="50" /></br>
    			<label for="mdp_choisi2">Confirmer votre mot de passe*</label>
    			<input type="text" name="mdp_choisi2" size="50" /></br></p></p>
    		</br><label2 for="buttons"><input type="submit" value="Enregistrer" />
    			<input type="reset" value="Annuler" /></br></label2>
    		</form>
              </body>
    </html>
    Et mon .php :

    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
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    		<title>Inscription</title>
    	</head>
     
    	<body>
    	<?php
    	$nom=$_POST["Nom"];
    	$prenom=$_POST["Prenom"];
    	$adresse1=$_POST["Adresse1"];
    	$adresse2=$_POST["Adresse2"];
    	$cp=$_POST["Code_Postal"];
    	$commune=$_POST["Commune"];
    	$numEtudiant=$_POST["Num_etudiant"];
    	$mdpChoisi1=$_POST["mdp_choisi1"];
    	$mdpChoisi2=$_POST["mdp_choisi2"];
    	print("$nom");
            echo $nom;	
    	?>
    	</body>
    </html>
    Je ne mets pas le .css, le post est assez lourd comme ça ... =/

    Si vous avez une idée de ce qui cloche, merci d'avance ... Et surtout, joyeux Noël à tous

  2. #2
    Membre habitué Avatar de raffa
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 194
    Points : 159
    Points
    159
    Par défaut
    j'utilise easyPHP et lui Apache
    dans easyPHP il y a apache...

    essai en affichant toutes les variables:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    echo <pre>;
    print_r($_POST);
    echo </pre>;
    ?>
    Et vérifie toujours tes variables avec isset():

    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
     
    <?php
    if(isset($_POST))
    {
       if(!empty($_POST))
       {
    	$nom=$_POST["Nom"];
    	$prenom=$_POST["Prenom"];
    	$adresse1=$_POST["Adresse1"];
    	$adresse2=$_POST["Adresse2"];
    	$cp=$_POST["Code_Postal"];
    	$commune=$_POST["Commune"];
    	$numEtudiant=$_POST["Num_etudiant"];
    	$mdpChoisi1=$_POST["mdp_choisi1"];
    	$mdpChoisi2=$_POST["mdp_choisi2"];
    	print("$nom");
            echo $nom;	
         }
         else
        {
          echo 'un ou plusieurs champs sont vides';
        }
    }
    ?>
    et protège-les avec htmlspecialchars($var, ENT_QUOTES)
    pour l'insertion dans une base de données utilise mysql_real_escape_string()
    Bye

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Ton code pour afficher toutes les variables ne lui plaît pas, j'obtiens : "; print_r($_POST); echo ; } ?> " ...

    Je n'ai pas précisé mais j'ai bien sûr rempli les champs de mon formulaire =D

    Quant à ton test, je l'ai mis merci ^^ Et il entre bien dans le if (non dans le else)

    Pour la protection, je ne l'ai pas vue en cours mais je l'ai croisée dans des tutos et je n'ai pas trop compris comment et surtout où s'en servir

  4. #4
    Membre habitué Avatar de raffa
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 27
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 194
    Points : 159
    Points
    159
    Par défaut
    Citation Envoyé par aemilia26 Voir le message
    Ton code pour afficher toutes les variables ne lui plaît pas, j'obtiens : "; print_r($_POST); echo ; } ?> " ...

    Je n'ai pas précisé mais j'ai bien sûr rempli les champs de mon formulaire =D

    Quant à ton test, je l'ai mis merci ^^ Et il entre bien dans le if (non dans le else)

    Pour la protection, je ne l'ai pas vue en cours mais je l'ai croisée dans des tutos et je n'ai pas trop compris comment et surtout où s'en servir
    le code de debugguage est à mettre entre les tags php.
    je te conseil vivement d'aller lire les cours de php, il y en a plein sur ce site.
    http://g-rossolini.developpez.com/tu.../web-debutant/
    il y a aussi cet excellent cours sur les formulaires:
    http://g-rossolini.developpez.com/tu...p/formulaires/
    bonne chance.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Hum j'aimerais bien être prise un peu plus au sérieux ... Ton site est génial et m'a fourni de précieuses informations mais aucune concernant mon problème. J'ai créé un autre php, que j'ai appelé test et que j'ai bien sûr appelé à partir de mon formulaire. Voici ce qu'il contient :

    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
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    		<title>Test</title>
    	</head>
     
    	<body>
    	<?php
    	if(!empty($_POST)){
    		//
    		// Debug
    		//
    		echo '<pre>';
    		print_r($_POST);
    		echo '</pre>';
     
    		//
    		// Récupération normale des informations
    		//
    		$missing_fields = array();
    		if(empty($_POST['nom'])){
    			$missing_fields[] = '"nom"';
    		}
     
    		if(empty($missing_fields)){
    			echo 'Tous les champs ont été renseignés';
    		}
    		else{
    			echo 'Les champs suivants doivent être remplis :<br />';
    			echo implode('<br />', $missing_fields);
    		}
     
    		echo '<br /><br />';
    	}
     
    	?>
    	</body>
    </html>
    J'ai adapté le code aux nom de mes variables, sinon je n'ai touché à rien du tout. Le résultat après avoir vidé le champ "nom" pour tester :

    '; print_r($_POST); echo ''; // // R�cup�ration normale des informations // $missing_fields = array(); if(empty($_POST['nom'])){ $missing_fields[] = '"nom"'; } if(empty($missing_fields)){ echo 'Tous les champs ont �t� renseign�s'; } else{ echo 'Les champs suivants doivent �tre remplis :
    '; echo implode('
    ', $missing_fields); } echo '

    '; } ?>


    Mon erreur doit être toute simple ... Et je sais qu'il y a Apache dans easyPHP, par contre on peut utiliser Apache sans easyPHP, d'où la différence entre mon collègue et moi.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Tout va bien, je sais coder, je suis juste très tête en l'air et je ne lançais pas mon formulaire dans le localhost ...... Désolée pour le dérangement !

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 04/09/2007, 11h52
  2. probleme formulaire/récupération des données
    Par t1marlartiste dans le forum ASP.NET
    Réponses: 5
    Dernier message: 19/05/2007, 00h02
  3. Réponses: 3
    Dernier message: 23/04/2006, 12h14
  4. Récupération des données d'un formulaire
    Par placenargac dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/02/2006, 15h10
  5. [HTML][FORMULAIRE] Probleme dans la récupération des données
    Par baddounet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 15/08/2005, 18h51

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