probleme avec formulaire d'inscription

Petit nouveau ! | 2 Messages

10 oct. 2007, 19:31

bonjour a tous.
je viens de créer un formulaire d'inscription pour mon site.
Je suis débutant.
je n'arrive pas a trouver le problème pour laquel cela ne fonctionne pas.
voici les scripts de mon formulaires.
table inscription


CREATE TABLE inscription (
id_inscription int(10),
id varchar(20),
civilité varchar(20),
nom varchar(20),
prenom varchar(20),
age varchar(10),
adresse varchar(100),
adressesuite varchar(100),
ville varchar(200),
departement varchar(40),
pays varchar(100),
codepostal varchar(20),
email varchar(100),
confirmationemail varchar(100),
pseudo varchar(20),
passe varchar(20),
confirmationpasse varchar(20)
);

inscription html

<html>
<!-- Date de création: 27/09/2007 -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="author" content="Anotherone">
<meta name="generator" content="WebExpert 6">
</head>
<body>
<h6><font size="5"><b>Formulaire d'inscription:<hr></b></font></h6>
les champs marqués d'un * sont obligatoires:
<br><br>Civilité: <sup>(*)</sup>
<form>
<select name="Civilite">
<option value="Mr"> Mr</option>
<option value="Mme"> Mme</option>
<option value="Melle"> Melle</option>
</select>
<br><br>Nom: <sup>(*)</sup>
<br><input type="text" name="Nom" size="40" maxlength="256">
<br>Prénom: <sup>(*)</sup>
<br><input type="text" name="Prenom" size="40" maxlength="256">
<br>Age: <sup>(*)</sup>
<br><select name="Age">
<option value="18-20"> 18-20</option>
<option value="21-25"> 21-25</option>
<option value="26-30"> 26-30</option>
<option value="31-35"> 31-35</option>
<option value="36-40"> 36-40</option>
<option value="41-45"> 41-45</option>
<option value="46-50"> 46-50</option>
<option value="51-55"> 51-55</option>
<option value="56-60"> 56-60</option>
<option value="61-65"> 61-65</option>
<option value="66-70"> 66-70</option>
<option value="71 et plus">71 et plus</option>
</select>
<br>Adresse: <sup>(*)</sup>
<br><input type="text" name="adresse" size="40" maxlength="256">
<br>Adresse suite: <sup>(*)</sup>
<br><input type="text" name="adresse suite" size="40" maxlength="256">
<br>Ville: <sup>(*)</sup>
<br><input type="text" name="ville" size="40" maxlength="256">
<br>Département: <sup>(*)</sup>
<br><input type="text" name="département" size="40" maxlength="256">
<br>Pays: <sup>(*)</sup>
<br><input type="text" name="pays" size="40" maxlength="256">
<br>Code postal: <sup>(*)</sup>
<br><input type="text" name="code postal" size="40" maxlength="256">
<br>Téléphone: <sup>(*)</sup>
<br><input type="text" name="téléphone" size="40" maxlength="256">
<br>Email: <sup>(*)</sup>
<br><input type="text" name="email" size="40" maxlength="256">
<br>Confirmation email: <sup>(*)</sup>
<br><input type="text" name="confirmation email" size="40" maxlength="256">
<br>Pseudo: <sup>(*)</sup>
<br><input type="text" name="pseudo" size="40" maxlength="256">6 caractères minimum:
<br>Mot de passe: <sup>(*)</sup>
<br><input type="text" name="mot de passe" size="40" maxlength="256">6 caractères minimum:
<br>Confirmation mot de passe: <sup>(*)</sup>
<br><input type="text" name="confirmation mot de passe" size="40" maxlength="256">6 caractères minimum:
<br>Conditions d'inscription: <sup>(*)</sup>
<br><textarea name="Conditionsdinscription" cols="30" rows="5">
Chers visiteurs.

</textarea>
<br><input type="checkbox" name="Accepterlesconditions" value="Accepter les conditions:"> Accepter les conditions:
<br><br><input type="submit" value="Envoyer">
<input type="reset" value="Effacer">
</form>
</body>
</html>

inscription php

<?php
// On vérifie si le formulaire est soumis
if(isset($_POST['submit'])){
// Données de coonexion
$table="inscription";
$localhost="localhost";
$login="**********";
$pass="**********";
$database="*********";
// Récupération des données du formulaire
$civilité=$_POST['cicilité'];
$nom=$_POST['nom'];
$prénom=$_POST['prenom'];
$age=$_POST['age'];
$adresse=$_POST['adresse'];
$adresse suite=$_POST['adresse suite'];
$ville=$_POST['ville'];
$departement=$_POST['departement'];
$pays=$_POST['pays'];
$code postal=$_POST['code postale'];
$telephone=$_POST['telephone'];
$email=$_POST['email'];
$confirmatione mail_14=$_POST['confirmation email'];
$pseudo=$_POST['pseudo'];
$mot de passe_POST['mot de passe'];
$confirmation mot de passe_POST['confirmation mot de passe'];
$condition d'inscription=$_POST['condition d'inscription'];
// Requte SQL
$sql = "INSERT INTO $table (civilite,nom,prenom,age,adresse,adresse suite,ville,departement,pays,code postale,telephone,email,confirmation email,pseudo,mot de passe,confirmation mot de passe,condition d'inscription) VALUES ('$civilite,'$nom','$prenom','$age','$adresse','$adresse suite','$ville','$departement','$pays','$code postale','$telephone','$email','$confirmation email','$pseudo','$mot de passe','$confirmation mot de passe','$condition d'inscription',)";
// On execute la requete
if($req = mysql_query($sql)){
?>
Enregistrement effectué
<?
}
else{
?>
Erreur lors de l'enregistrement
<?
}
// On ferme la DB
mysql_close($db);
}
else{
?>
<form action="index.php" enctype="multipart/form-data" method="post">
<input name="civilite" type="text">
<input name="nom" type="text">
<input name="prenom" type="text">
<input name="age" type="text">
<input name="adresse" type="text">
<input name="adresse suite" type="text">
<input name="ville" type="text">
<input name="departement" type="text">
<input name="pays" type="text">
<input name="code postale" type="text">
<input name="telephone" type="text">
<input name="email" type="text">
<input name="confirmation email" type="text">
<input name="pseudo" type="text">
<input name="mot de passe" type="text">
<input name="confirmation mot de passe" type="text">
<input name="confirmation d'inscription" type="text">
<input name="submit" type="submit"value="envoyer">
<input name="reset" type="reset"value="effacer">
</form>
<?
}
?>

je ne sais pas pourquoi cela ne fonctionne pas.
pourriez vous m'aider s'il vous plait.
merci pour vos réponses
cordialement.

ViPHP
ViPHP | 4039 Messages

10 oct. 2007, 19:56

Il ya des balises prévues pour mettre le code html et le code php, ce serait gentil d'y mettre tes textes, parce que comme ceci, c'est pas chouette à lire.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 443 Messages

10 oct. 2007, 20:31

Dans la partie
('$civilite,'$nom','$prenom','$age','$adresse','$adresse suite','$ville','$departement','$pays','$code postale','$telephone','$email','$confirmation email','$pseudo','$mot de passe','$confirmation mot de passe','$condition d'inscription',)";
Il manque des quotes, et tu as confondu les variables php (valeurs que tu veux insérer) avec les noms de tes champs...
$confirmation email n'est sûrement pas une variable...

[edit] Et y'a une virgule de trop à la fin...

Petit nouveau ! | 2 Messages

10 oct. 2007, 23:26

Re
je vous prie d'accepter toutes mes excuses pour avoir oublié de mettre mon code entre les balises.
Cordialement.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

11 oct. 2007, 01:41

Modération :
planete-web, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message. Tu peux aussi éditer ton message pour les rajouter.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

Mammouth du PHP | 881 Messages

11 oct. 2007, 04:34

Il faut indiquer que ton formulaire est un type POST et lui assigner une destination

Code : Tout sélectionner

<FORM ACTION="inscription.php" Method=POST>
Je me demande pourquoi tu multiplie les risques de fautes de frappe en renommant tes variables de $_POST. Tu peux faire ton INSERT directement avec les $_POST ou encore
	extract($_POST,EXTR_OVERWRITE);
Un petit truc pour déboguer : je me place un message de contrôle dans mes scripts pour vérifier les commandes que gère le serveur. Par exemple, pour vérifier ta requête INSERT, je ferais ainsi

 // On execute la requete
echo "Voici ma requête: ".$sql."<br>";
if($req = mysql_query($sql)){

Si mon script passe par là, je le vois immédiatement.
Si l'enregistrement ne se fait pas, c'est parce que j'ai une faute dans ma commande. Je la copie à l'écran, le colle dans mon serveur MySql et celui-ci m'indique mon erreur.
Soyez artisans de paix