Erreur SQL !INSERT INTO

Répondre
jpp
le 09/02/2011 à 16:27
jpp
Bonjour,

Cela fait maintenant deux mois que je me suis mis à coder en html & en javascript et j'avoue y trouver mon plaisir mais voilà j'ai vite trouvé des limites c'est pourquoi je débute avec php qui sera bien plus adapté à mes besoins.

J'ai déjà parcouru pas mal de tuto et compris pas mal de chose sur la puissance de ce langage que j'aimerai exploiter.

Je construit donc pour le moment un petit site "test" sur lequel je souhaiterai inclure une zone membre, j'ai donc suivit votre tuto Bonjour,

Cela fait maintenant deux mois que je me suis mis à coder en html & en javascript et j'avoue y trouver mon plaisir mais voilà j'ai vite trouvé des limites c'est pourquoi je débute avec php qui sera bien plus adapté à mes besoins.

J'ai déjà parcouru pas mal de tuto et compris pas mal de chose sur la puissance de ce langage que j'aimerai exploiter.

Je construit donc pour le moment un petit site "test" sur lequel je souhaiterai inclure une zone membre, j'ai donc suivit votre tuto http://www.lephpfacile.com/howto/10-comment-faire-un-espace-membre-en-php

Seulement lorsque que je modifie le code du fichier inscription.php et son formulaire j'ai une erreur :
Erreur SQL !INSERT INTO membre VALUES("", "test ", "ab4f63f9ac65152575886860dde480a1")
Column count doesn't match value count at row 1


J'ai fait quelques recherches et j'ai pu lire ici et la que cette erreur se produit lorsque vous tentez d'insérer une requête alors que vous n'avez pas spécifié le nombre de champs corrects lors de l'insertion. Si votre table comporte par exemple 4 champs, vous devez spécifier une valeur pour chacun des champs dans la requête...j'ai beau chercher je ne trouve pas ou est l'erreur car j'ai bien spécifié chaque champs dans mon script dont je vous fait copie ci dessous :

<div id="blocgauche"> 
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login']))
&& (isset($_POST['pass']) && !empty($_POST['pass']))
&& (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))
&& (isset($_POST['nom']) && !empty($_POST['nom']))
&& (isset($_POST['prenom']) && !empty($_POST['prenom']))
&& (isset($_POST['datedenaissance']) && !empty($_POST['datedenaissance']))
&& (isset($_POST['villedenaissance']) && !empty($_POST['villedenaissance']))
&& (isset($_POST['adresse']) && !empty($_POST['adresse']))
&& (isset($_POST['codepostal']) && !empty($_POST['codepostal']))
&& (isset($_POST['ville']) && !empty($_POST['ville']))
&& (isset($_POST['tel']) && !empty($_POST['tel']))
&& (isset($_POST['email']) && !empty($_POST['email']))
) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'jpp', 'xxxxxxxxxx');
mysql_select_db ('base_jpp', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'",
"'.mysql_escape_string($_POST['nom']).'",
"'.mysql_escape_string($_POST['prenom']).'",
"'.mysql_escape_string($_POST['datedenaissance']).'",
"'.mysql_escape_string($_POST['villedenaissance']).'",
"'.mysql_escape_string($_POST['adresse']).'",
"'.mysql_escape_string($_POST['codepostal']).'",
"'.mysql_escape_string($_POST['ville']).'",
"'.mysql_escape_string($_POST['tel']).'",
"'.mysql_escape_string($_POST['email']).'",
"'.mysql_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>




<h2><img src="images/icones/inscrition.png" width="48" height="48" align="absmiddle" /> Inscription</h2>
<p><form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
Nom : <input type="text" name="nom" value="<?php if (isset($_POST['nom'])) echo htmlentities(trim($_POST['nom'])); ?>"><br />
Prénom : <input type="text" name="prenom" value="<?php if (isset($_POST['prenom'])) echo htmlentities(trim($_POST['prenom'])); ?>"><br />
Date de naissance : <input type="text" name="datedenaissance" value="<?php if (isset($_POST['datedenaissance'])) echo htmlentities(trim($_POST['datedenaissance'])); ?>"><br />
Ville de naissance : <input type="text" name="villedenaissance" value="<?php if (isset($_POST['villedenaissance'])) echo htmlentities(trim($_POST['villedenaissance'])); ?>"><br />
Adresse : <input type="text" name="adresse" value="<?php if (isset($_POST['adresse'])) echo htmlentities(trim($_POST['adresse'])); ?>"><br />
Code postal : <input type="text" name="codepostal" value="<?php if (isset($_POST['codepostal'])) echo htmlentities(trim($_POST['codepostal'])); ?>"><br />
Ville : <input type="text" name="ville" value="<?php if (isset($_POST['ville'])) echo htmlentities(trim($_POST['ville'])); ?>"><br />
Téléphone : <input type="text" name="tel" value="<?php if (isset($_POST['tel'])) echo htmlentities(trim($_POST['tel'])); ?>"><br />
E-Mail : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>"><br /><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</p></div>

Ma table "membre" comporte 12 champs : les 11 champs du formulaire + 1 champs id auto incrémenté qui est déclaré comme clé primaire.

Je m'arrache les cheveux depuis ce matin je ne vois pas ou j'ai fait l'erreur si quelqu'un pouvait me venir en aide il ne me reste plus beaucoup de cheveux [confus] merci.

Seulement lorsque que je modifie le code du fichier inscription.php et son formulaire j'ai une erreur :
Erreur SQL !INSERT INTO membre VALUES("", "test ", "ab4f63f9ac65152575886860dde480a1")
Column count doesn't match value count at row 1


J'ai fait quelques recherches et j'ai pu lire ici et la que cette erreur se produit lorsque vous tentez d'insérer une requête alors que vous n'avez pas spécifié le nombre de champs corrects lors de l'insertion. Si votre table comporte par exemple 4 champs, vous devez spécifier une valeur pour chacun des champs dans la requête...j'ai beau chercher je ne trouve pas ou est l'erreur car j'ai bien spécifié chaque champs dans mon script dont je vous fait copie ci dessous :
<div id="blocgauche"> 
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login']))
&& (isset($_POST['pass']) && !empty($_POST['pass']))
&& (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))
&& (isset($_POST['nom']) && !empty($_POST['nom']))
&& (isset($_POST['prenom']) && !empty($_POST['prenom']))
&& (isset($_POST['datedenaissance']) && !empty($_POST['datedenaissance']))
&& (isset($_POST['villedenaissance']) && !empty($_POST['villedenaissance']))
&& (isset($_POST['adresse']) && !empty($_POST['adresse']))
&& (isset($_POST['codepostal']) && !empty($_POST['codepostal']))
&& (isset($_POST['ville']) && !empty($_POST['ville']))
&& (isset($_POST['tel']) && !empty($_POST['tel']))
&& (isset($_POST['email']) && !empty($_POST['email']))
) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'jpp', 'xxxxxxxxxx');
mysql_select_db ('base_jpp', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'",
"'.mysql_escape_string($_POST['nom']).'",
"'.mysql_escape_string($_POST['prenom']).'",
"'.mysql_escape_string($_POST['datedenaissance']).'",
"'.mysql_escape_string($_POST['villedenaissance']).'",
"'.mysql_escape_string($_POST['adresse']).'",
"'.mysql_escape_string($_POST['codepostal']).'",
"'.mysql_escape_string($_POST['ville']).'",
"'.mysql_escape_string($_POST['tel']).'",
"'.mysql_escape_string($_POST['email']).'",
"'.mysql_escape_string(md5($_POST['pass'])).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>




<h2><img src="images/icones/inscrition.png" width="48" height="48" align="absmiddle" /> Inscription</h2>
<p><form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
Nom : <input type="text" name="nom" value="<?php if (isset($_POST['nom'])) echo htmlentities(trim($_POST['nom'])); ?>"><br />
Prénom : <input type="text" name="prenom" value="<?php if (isset($_POST['prenom'])) echo htmlentities(trim($_POST['prenom'])); ?>"><br />
Date de naissance : <input type="text" name="datedenaissance" value="<?php if (isset($_POST['datedenaissance'])) echo htmlentities(trim($_POST['datedenaissance'])); ?>"><br />
Ville de naissance : <input type="text" name="villedenaissance" value="<?php if (isset($_POST['villedenaissance'])) echo htmlentities(trim($_POST['villedenaissance'])); ?>"><br />
Adresse : <input type="text" name="adresse" value="<?php if (isset($_POST['adresse'])) echo htmlentities(trim($_POST['adresse'])); ?>"><br />
Code postal : <input type="text" name="codepostal" value="<?php if (isset($_POST['codepostal'])) echo htmlentities(trim($_POST['codepostal'])); ?>"><br />
Ville : <input type="text" name="ville" value="<?php if (isset($_POST['ville'])) echo htmlentities(trim($_POST['ville'])); ?>"><br />
Téléphone : <input type="text" name="tel" value="<?php if (isset($_POST['tel'])) echo htmlentities(trim($_POST['tel'])); ?>"><br />
E-Mail : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>"><br /><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</p></div>

Ma table "membre" comporte 12 champs : les 11 champs du formulaire + 1 champs id auto incrémenté qui est déclaré comme clé primaire.

Je m'arrache les cheveux depuis ce matin je ne vois pas ou j'ai fait l'erreur si quelqu'un pouvait me venir en aide il ne me reste plus beaucoup de cheveux [confus] merci
Cacahouète
moogli
le 09/02/2011 à 18:37
moogli
salut,

le message d'erreur est clair tu n'a pas 12 champs dans la requete SQL (qui est donnée dans le message d'erreur ...)
Erreur SQL !INSERT INTO membre VALUES("", "test ", "ab4f63f9ac65152575886860dde480a1")

la on vois distinctement 3 champs dans la requête insert !

la comme ça la requete sql ne correspond pas au code fournit.
Par contre elle correspond bien a celle du code d'origine du comment faire.

donc être sur, fait echo ou var_dump($sql) après chaque affectation de la variable $sql. tu peut ajouter __LINE__ dans tous tes message d'erreur pour être sur de celui qui est utilisé :)

A tu modifier la bonne table ?
utilise tu le bon script ?

j'ai testé ton code
<html>
<head><title>Test Jpp</title>
</head>
<body>
<div id="blocgauche">
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login']))
&& (isset($_POST['pass']) && !empty($_POST['pass']))
&& (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))
&& (isset($_POST['nom']) && !empty($_POST['nom']))
&& (isset($_POST['prenom']) && !empty($_POST['prenom']))
&& (isset($_POST['datedenaissance']) && !empty($_POST['datedenaissance']))
&& (isset($_POST['villedenaissance']) && !empty($_POST['villedenaissance']))
&& (isset($_POST['adresse']) && !empty($_POST['adresse']))
&& (isset($_POST['codepostal']) && !empty($_POST['codepostal']))
&& (isset($_POST['ville']) && !empty($_POST['ville']))
&& (isset($_POST['tel']) && !empty($_POST['tel']))
&& (isset($_POST['email']) && !empty($_POST['email']))
) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'root', 'yyRu2TKEvyYpzFLK');
mysql_select_db ('lephpfacile', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES(null, "'.mysql_escape_string($_POST['login']).'",
"'.mysql_escape_string($_POST['nom']).'",
"'.mysql_escape_string($_POST['prenom']).'",
"'.mysql_escape_string($_POST['datedenaissance']).'",
"'.mysql_escape_string($_POST['villedenaissance']).'",
"'.mysql_escape_string($_POST['adresse']).'",
"'.mysql_escape_string($_POST['codepostal']).'",
"'.mysql_escape_string($_POST['ville']).'",
"'.mysql_escape_string($_POST['tel']).'",
"'.mysql_escape_string($_POST['email']).'",
"'.mysql_escape_string(md5($_POST['pass'])).'")';
echo '<h2>',$sql,'</h2>';
mysql_query($sql) or die('Erreur SQL à la ligne '.(__LINE-1).' !'.$sql.'<br />'.mysql_error());

session_start();
$_SESSION['login'] = $_POST['login'];
//header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>

<h2><img src="images/icones/inscrition.png" width="48" height="48" align="absmiddle" /> Inscription</h2>
<p><form action="" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
Nom : <input type="text" name="nom" value="<?php if (isset($_POST['nom'])) echo htmlentities(trim($_POST['nom'])); ?>"><br />
Prénom : <input type="text" name="prenom" value="<?php if (isset($_POST['prenom'])) echo htmlentities(trim($_POST['prenom'])); ?>"><br />
Date de naissance : <input type="text" name="datedenaissance" value="<?php if (isset($_POST['datedenaissance'])) echo htmlentities(trim($_POST['datedenaissance'])); ?>"><br />
Ville de naissance : <input type="text" name="villedenaissance" value="<?php if (isset($_POST['villedenaissance'])) echo htmlentities(trim($_POST['villedenaissance'])); ?>"><br />
Adresse : <input type="text" name="adresse" value="<?php if (isset($_POST['adresse'])) echo htmlentities(trim($_POST['adresse'])); ?>"><br />
Code postal : <input type="text" name="codepostal" value="<?php if (isset($_POST['codepostal'])) echo htmlentities(trim($_POST['codepostal'])); ?>"><br />
Ville : <input type="text" name="ville" value="<?php if (isset($_POST['ville'])) echo htmlentities(trim($_POST['ville'])); ?>"><br />
Téléphone : <input type="text" name="tel" value="<?php if (isset($_POST['tel'])) echo htmlentities(trim($_POST['tel'])); ?>"><br />
E-Mail : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>"><br /><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?>
</p></div></body></html>

avec une modif au niveau de la requete SQL (null au lieu de '' pour l'id)
pour le test j'ai pris ceci comme structure de table
create table membre(
id int unsigned not null auto_increment,
login text,
nom text,
prenom text,
datedenaissance date not null,
villedenaissance text,
adresse text,
codepostal text,
ville text,
tel text,
email text,
pass text,
primary key(id))type=myisam;

et ça fonctionne au poil ^^

@+
Il en faut peu pour être heureux !!!!!
jpp
le 15/02/2011 à 16:51
jpp
j'ai bien tenté le coup, alors l'inscription fonctionne mais génère toujours des erreurs une fois que je valide le formulaire :
INSERT INTO membre VALUES(null, "pouet", "pouetpouet", "moi", "1975-06-16", "---", " *******", "45450", "******", "0320000099", "orangiaa@hotmail.fr", "e10adc3949ba59abbe56e057f20f883e")

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/webheber/public_html/index.php:55) in /home/webheber/public_html/includes/inscription.php on line 51

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/webheber/public_html/index.php:55) in /home/webheber/public_html/includes/inscription.php on line 51

mais le plus drole c'est que dans la db cela s'inscrit mais si je tente de m'identifier j'obtiens alors en réponse
Erreur SQL !
SELECT count(*) FROM membres WHERE login="pouet" AND pass_md5="e10adc3949ba59abbe56e057f20f883e"
Unknown column 'pass_md5' in 'where clause'

bouhouhouuuu
Cacahouète
moogli
le 16/02/2011 à 02:08
moogli
yop,

le session_start() doit être avant tout affichage et ce n'est pas le cas ici donc met au tout début (1ere ligne même).

comment s'appelle le champ contenant le mot de passe ? parce qu'il ne s'appelle pas pass_md5 c'est certain c'est mysql qui le dit et il ne se gourre pas :)

au pire poste le create table de la table (tu peut l'avoir avec phpmyadmin).

Ps évite les vulgarité quand tu poste sur le forum ;)

@+
Il en faut peu pour être heureux !!!!!
jpp
le 18/02/2011 à 16:57
jpp
Salut,

Alors j'ai re-vérifié mon code en effet il y avait un souci avec le champs du mot de passe, j'ai corrigé le tir et ça fonctionne...ou presque...en effet plus d'erreur qui s'affiche (youpiii j'avance), par contre je ne comprend pas bien car une fois une fois la validation du formulaire faite j'ai "Compte non reconnu" qui s'affiche, je pense que j'ai encore un petit "schumrtz" quelque part...c'est sur même !!!

Je cherche...mais j'avoue que je patauge dans la semoule...

Serait il possible d'avoir une entrevue via Windows Live ou Gmail ?

Si tu es d'accord, faits le moi savoir, afin de te communiquer mon adresse ;-)

Merci d'avance (il va se dire se mec a bien de la misère, lollll)
Cacahouète
moogli
le 19/02/2011 à 03:09
moogli
Yop,

tu en est donc au formulaire de connexion du membre ?

Quel est le code utilisé ?

n'a tu pas oublié le md5() sur le mot de passe ?

un beau wall du code et du create table serait pas mal ;)

@+
Il en faut peu pour être heureux !!!!!
jpp
le 20/02/2011 à 00:34
jpp
Bonsoir,
Voici comme demandé copie du code des différentes pages.

index.php
index.php
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

$base = mysql_connect ('localhost', 'jpp_espmem', 'XXXXXXXX');
mysql_select_db ('jpp_mabase', $base);

// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

mysql_free_result($req);
mysql_close();

// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un problème
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<!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=utf-8" />
<title>JPP</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/carrousel.js"></script>
</head>

<body>
<div id="header">
<div id="logo"><a href="" title="" target="_parent"></a></div>

<div id="connexion">
<table width="230" border="0" align="center">
<tr>
<td><form action="index.php" method="post">Nom d'utilisateur :<br /><input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"></td>
<td rowspan="2"><input type="submit" name="connexion" value="Connexion"><br /><br /><a href="">Mdp Oublié ?</a></td>
</tr>
<tr>
<td>Mots de passe :<br />
<input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"></form>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?></td>
</tr>
</table>
</div>
</div>

<div id="navbar">
<ul id="menu" >
<li><a href="" title="Accueil" target="_parent" class="m_accueil">Accueil</a></li>
<li></li>
<li><a href="" title="news" target="_parent" class="m_news">News</a></li>
<li><a href="" title="inscription" target="_parent" class="m_inscription">Inscription</a></li>
<li><a href="" title="Contact" target="_parent" class="m_contact">Contact</a></li>
</ul>
</div>

<div id="conteneur">
<div id="carrousel">

<div id="slide1" class="slide">
<div class="visu"> <img src="images/slide/slide1.png"/> </div>
</div>

<div id="slide2" class="slide">
<div class="visu"> <img src="images/slide/slide2.png"/> </div>
</div>

</div>
</div>

<?php
include('content.php'); // contenu de mes pages
?>

<span align="center" > <img src="images/ban.png" width="853" height="101" alt="" style="margin-top:25px; margin-bottom:25px;" /> </span>

</div>
</div>



<div id="footer">
<p>© 2011 <a href="http://mafuturadresse.com">mafuturadresse.Com</a><br/>
Mentions légales | Partenaires | Contact</p>


</div>

</body>
</html>


inscription.php
inscription.php
<?php
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))&& (isset($_POST['nom']) && !empty($_POST['nom']))&& (isset($_POST['prenom']) && !empty($_POST['prenom']))&& (isset($_POST['datedenaissance']) && !empty($_POST['datedenaissance'])) && (isset($_POST['villedenaissance']) && !empty($_POST['villedenaissance'])) && (isset($_POST['adresse1']) && !empty($_POST['adresse1'])) && (isset($_POST['adresse2']) && !empty($_POST['adresse2'])) && (isset($_POST['codepostal']) && !empty($_POST['codepostal'])) && (isset($_POST['ville']) && !empty($_POST['ville'])) && (isset($_POST['tel']) && !empty($_POST['tel']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'jpp_espmem', 'XXXXXXXX');
mysql_select_db ('jpp_mabase', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES(null,
"'.mysql_escape_string($_POST['login']).'"
,"'.mysql_escape_string(md5($_POST['pass'])
, mysql_escape_string($_POST['nom'])
, mysql_escape_string($_POST['prenom'])
, mysql_escape_string($_POST['adresse'])
, mysql_escape_string($_POST['codepostal'])
, mysql_escape_string($_POST['ville'])
, mysql_escape_string($_POST['datedenaissance'])
, mysql_escape_string($_POST['villedenaissance'])
, mysql_escape_string($_POST['tel'])
, mysql_escape_string($_POST['email'])

).'",)';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if
((isset($_POST['login']) && !empty($_POST['login']))
&& (isset($_POST['pass']) && !empty($_POST['pass']))
&& (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))
&& (isset($_POST['nom']) && !empty($_POST['nom']))
&& (isset($_POST['prenom']) && !empty($_POST['prenom']))
&& (isset($_POST['datedenaissance']) && !empty($_POST['datedenaissance']))
&& (isset($_POST['villedenaissance']) && !empty($_POST['villedenaissance']))
&& (isset($_POST['adresse']) && !empty($_POST['adresse']))
&& (isset($_POST['codepostal']) && !empty($_POST['codepostal']))
&& (isset($_POST['ville']) && !empty($_POST['ville']))
&& (isset($_POST['tel']) && !empty($_POST['tel']))
&& (isset($_POST['email']) && !empty($_POST['email']))
)
{

$base = mysql_connect ('localhost', 'jpp_espmem', 'XXXXXXXX');
mysql_select_db ('jpp_mabase', $base);

// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass="'.mysql_escape_string(md5($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

mysql_free_result($req);
mysql_close();

// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: membre.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un problème
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}

?>

<div id="blocgauche">
<h2><img src="images/icones/blueprint tool.png" width="48" height="48" align="absmiddle" /> Inscription</h2>
<p>Inscription à l'espace membre :<br />
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
Nom : <input type="text" name="nom" value="<?php if (isset($_POST['nom'])) echo htmlentities(trim($_POST['nom'])); ?>"><br />
Prénom : <input type="text" name="prenom" value="<?php if (isset($_POST['prenom'])) echo htmlentities(trim($_POST['prenom'])); ?>"><br />
Date de naissance : <input type="text" name="datedenaissance" value="<?php if (isset($_POST['datedenaissance'])) echo htmlentities(trim($_POST['datedenaissance'])); ?>"><br />
Ville de naissance : <input type="text" name="villedenaissance" value="<?php if (isset($_POST['villedenaissance'])) echo htmlentities(trim($_POST['villedenaissance'])); ?>"><br />
Adresse : <input type="text" name="adresse" value="<?php if (isset($_POST['adresse'])) echo htmlentities(trim($_POST['adresse'])); ?>"><br />
Code postal : <input type="text" name="codepostal" value="<?php if (isset($_POST['codepostal'])) echo htmlentities(trim($_POST['codepostal'])); ?>"><br />
Ville : <input type="text" name="ville" value="<?php if (isset($_POST['ville'])) echo htmlentities(trim($_POST['ville'])); ?>"><br />
Téléphone : <input type="text" name="tel" value="<?php if (isset($_POST['tel'])) echo htmlentities(trim($_POST['tel'])); ?>"><br />
E-Mail : <input type="text" name="email" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>"><br /><br />
<input type="submit" name="inscription" value="Inscription">
</form>
<?php
if (isset($erreur)) echo '<br />',$erreur;
?></p></div>


membre.php
membre.php
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<!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=utf-8" />
<title>www.web-heberge.com - Le meilleur de l'hébergement Web - Hébergement par Micro Paiement</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/carrousel.js"></script>
</head>
<body>

<div id="header">
<div id="logo"><a href="" title="" target="_parent"></a></div>

<div id="connexion">
<table width="230" border="0" align="center">
<tr>
<td>Espace membre </td>
<td rowspan="2">Bienvenue <?php echo htmlentities(trim($_SESSION['login'])); ?>!<br /><a href="deconnexion.php">Déconnexion</a><br /></td>
</tr>
<tr>
<td><br />
</td>
</tr>
</table>
</div>
</div>

<div id="navbar">
<ul id="menu" >
<li><a href="" title="Accueil" target="_parent" class="m_accueil">Accueil</a></li>
<li></li>
<li><a href="" title="news" target="_parent" class="m_news">News</a></li>
<li><a href="" title="inscription" target="_parent" class="m_inscription">Inscription</a></li>
<li><a href="" title="Contact" target="_parent" class="m_contact">Contact</a></li>
</ul>
</div>

<div id="conteneur">
<div id="carrousel">

<div id="slide1" class="slide">
<div class="visu"> <img src="images/slide/slide1.png"/> </div>
</div>

<div id="slide2" class="slide">
<div class="visu"> <img src="images/slide/slide2.png"/> </div>
</div>

</div>
</div>

<div id="corpshaut"></div>

<div id="bloc">
<div id="corps">

<div id="blocgauche">
<h2><img src="images/icones/blueprint tool.png" width="48" height="48" align="absmiddle" /> Lorem Ipsum dolor sit amet</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue.</p></div>

<div id="blocdroite">
<h2><img src="images/icones/dbplus.png" width="48" height="48" align="absmiddle" /> Lorem Ipsum dolor sit amet</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue.</p></div>


<div style="clear:both;"></div>

<div id="plan" >
<h2>Premier Plan</h2>
<ul>
<li><img src="images/icones/server.png" width="32" height="32" align="absmiddle" /> Espace Disque : 20 Go</li>
<li><img src="images/icones/archive.png" width="32" height="32" align="absmiddle" /> Bande Passante illimité</li>
<li><img src="images/icones/Globe.png" width="32" height="32" align="absmiddle" /> Nom de Domaine : 1</li>
<li><img src="images/icones/notebook.png" width="32" height="32" align="absmiddle" /> Base de donnée : 5</li>
<li><img src="images/icones/dd.png" width="32" height="32" align="absmiddle" /> Taille Mysql : 50 Mo</li>
<li><img src="images/icones/applications.png" width="32" height="32" align="absmiddle" /> Taille Mysql : 50 Mo</li>
</ul>
<center>
<a href=" "><img src="images/commander.png" width="187" height="27" border="0" /></a>
</center>
</div>

<div id="plan">
<h2>Deuxième Plan</h2>
<ul>
<li><img src="images/icones/server.png" width="32" height="32" align="absmiddle" /> Espace Disque : 40 Go</li>
<li><img src="images/icones/archive.png" width="32" height="32" align="absmiddle" /> Bande Passante illimité</li>
<li><img src="images/icones/Globe.png" width="32" height="32" align="absmiddle" /> Nom de Domaine : 2</li>
<li><img src="images/icones/notebook.png" width="32" height="32" align="absmiddle" /> Base de donnée : 10</li>
<li><img src="images/icones/dd.png" width="32" height="32" align="absmiddle" /> Taille Mysql : 100 Mo</li>
<li><img src="images/icones/applications.png" width="32" height="32" align="absmiddle" /> Taille Mysql : 100 Mo</li>
</ul>
<center>
<a href=" "><img src="images/commander.png" width="187" height="27" border="0" /></a>
</center>
</div>

<div id="plan">
<h2>Troisième Plan</h2>
<ul>
<li><img src="images/icones/server.png" width="32" height="32" align="absmiddle" /> Espace Disque : 80 Go</li>
<li><img src="images/icones/archive.png" width="32" height="32" align="absmiddle" /> Bande Passante illimité</li>
<li><img src="images/icones/Globe.png" width="32" height="32" align="absmiddle" /> Nom de Domaine : 4</li>
<li><img src="images/icones/notebook.png" width="32" height="32" align="absmiddle" /> Base de donnée : 20</li>
<li><img src="images/icones/dd.png" width="32" height="32" align="absmiddle" /> Taille Mysql : 200 Mo</li>
<li><img src="images/icones/applications.png" width="32" height="32" align="absmiddle" /> Taille Mysql : 200 Mo</li>
</ul>
<center>
<a href=" "><img src="images/commander.png" width="187" height="27" border="0" /></a>
</center>
</div>

<div style="clear:both;"></div>

<div id="blocgauche">
<h2><img src="images/icones/databjlmj.png" width="48" height="48" align="absmiddle" /> Lorem Ipsum dolor sit amet</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue.</p></div>

<div id="blocdroite">
<h2><img src="images/icones/contact.png" width="48" height="48" align="absmiddle" /> Lorem Ipsum dolor sit amet</h2>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue.</p></div>


<div style="clear:both;"></div>

<span align="center" > <img src="images/ban.png" width="853" height="101" alt="" style="margin-top:25px; margin-bottom:25px;" /> </span>

</div>
</div>



<div id="footer">
<p>© 2011 <a href="http://mafuturadresse.com">mafuturadresse.Com</a><br/>
Mentions légales | Partenaires | Contact</p>


</div>

</body>
</html>


deconnexion.php
deconnexion.php
<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
exit();
?>


et enfin le create table
CREATE TABLE `membre` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT,

`login` text NOT NULL,

`nom` text NOT NULL,

`prenom` text NOT NULL,

`datedenaissance` date NOT NULL,

`villedenaissance` text NOT NULL,

`adresse` text NOT NULL,

`codepostal` text NOT NULL,

`ville` text NOT NULL,

`tel` text NOT NULL,

`email` text NOT NULL,

`pass` text NOT NULL,

PRIMARY KEY (`id`)

) TYPE=MyISAM;


Voilà tout y est, j'espère que tu pourras éclairer ma lanterne et te remercie d'avance pour le temps que tu consacres et bien entendu que la communauté consacre à mon topic.

A très bientôt, JPP
Cacahouète
moogli
le 20/02/2011 à 04:08
moogli
Yop,

Regarde le lien WALL a gauche et dit moi si tu n'aurais pas pu reduire ton message.

Affiche la requete SQL avant de la donner a manger a mysql_query et essai la avec phpmyain pour voir le resultat.
Regarde aussi le retour de mysql_query si false c'est qu'il y a boulette, affiche le mysql_error() pour avoir des infos.
Je regarderais plus en details en retrant chez moi.

@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours