Notice: Undefined index: sexe in C:\wamp\www\tutophp\form.php on

Fermé
pikman - 8 avril 2014 à 11:42
 pikman - 8 avril 2014 à 16:40
Bonjour,
J'ai fait un formulaire où l'utilisateur mettra son pseudo, sexe, age et cliquera sur un bouton OK pour envoyer les informations à une base de données que j'ai appelé MaBase.
Mon problème est que lorsque je clique sur le bouton OK sans mettre des informations au préalable je reçois le message: Notice: Undefined index: sexe in C:\wamp\www\tutophp\form.php on line 22.
Mais j'ai vérifié mes codes et je ne vois pas d'erreur. Aidez-moi s'il vous plait. Voici mon code:

form.php
<title>Formulaire de saisie utilisateurs</title>
</head>
<body>
<h1>Inscrivez-vous !</h1>
<h2>Entrez les données demandées :</h2>
<form name="inscription" action="form.php" method="post">
Entrez votre pseudo : <input type="text" name="pseudo"/><br/>
Garçon ou Fille?
<input type="radio" name="sexe" value="G"/>Garçon<input type="radio" value="F"/>Fille<br/>
Entrez votre âge : <input type="text" name="age"/><br/>
<input type="submit" value="OK" name="valider"/>
</form>
<?php
include ('fonctionbase.php');
if (isset($_POST['valider'])) {
//On récupère les valeurs entrées par l'utilisateur :
$pseudo=$_POST['pseudo'];
$sexe=$_POST['sexe'];
$age=$_POST['age'];
//On construit la date d'aujourd'hui
//strictement comme sql la construit
$today= date("d.m.y");
//On se connecte
connectMaBase();
//On prépare la commande sql d'insertion
$sql = 'INSERT INTO Utilisateurs VALUES("","'.$pseudo.'","'.$sexe.'","'.$age.'","'.$today.'")';
/*on lance la commande (mysql_query) et au cas où,
on rédige un petit message d'erreur si la requête ne passe pas (or die)
(Message qui intègrera les causes d'erreur sql)*/
mysql_query ($sql) or die ('Erreur SQL!'.$sql.'<br/>'.mysql_error());
// on ferme la connexion
mysql_close();
}
?>
</body>
</html>

fonctionbase.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Fonction de la base de données</title>
</head>
<body>
<?php
function connectMaBase() {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('MaBase', $base);
}
?>
</body>
</html>

1 réponse

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
8 avril 2014 à 11:46
Bonjour,

Dans le cas d'une fille, tu n'as pas mis le name="sexe" :
<input type="radio" name="sexe" value="F"/>
0
Merci pour votre aide mais ça n'a rien changer car j'ai toujours la même erreur.
Cordialement
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
8 avril 2014 à 13:22
Ah oui, je n'avais vu la partie où tu dis que tu ne mets aucune information.
Dans ce cas, c'est normal.
Pour y remédier, tu peux soit présélectionner Garçon ou Fille en rajoutant
selected="selected"
dans l'un des deux, soit tester l'existence en php :
$sexe = (isset($_POST['sexe'])) ? $_POST['sexe'] : '';


Xavier
0