Problèeme php mysql (inscription)

yunamdr Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
yunamdr Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -

bonjour,
je suis actuellement en train de construire un site internet et j'ai un problème
avec le code php que j'ai adapté pour construire mes pages d'inscriptions/connexion à mon site via une base de donnée je vous poste le dump de la bdd
+le code de la page qui apparemment pose problème car c'est la seul qui m'affiche un message d'erreur : "Column count doesn't match value count at row 1".
c'est en fait la page qui est sensé envoyer les identifiants de la personne dans ma bdd:
<?php
session_start();
?>
            <?php
//Maintenant, on se connecte à la base de données
include("./identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
$pseudo_erreur1 = NULL;
$pseudo_erreur2 = NULL;
$mdp_erreur = NULL;
$email_erreur1 = NULL;
$email_erreur2 = NULL;
$msn_erreur = NULL;
$signature_erreur = NULL;
$avatar_erreur = NULL;
$avatar_erreur1 = NULL;
$avatar_erreur2 = NULL;
$avatar_erreur3 = NULL;
            ?>
// j'ai couper le code html en référence a mon site et laisser uniquement le code php
// pour allégé le code qui est déjà très lourd
                                            <?php
// je ne vous laisse ne fait que le code qui pose problème le reste est sur car déja testé.
//On récupère les variables
$i = 0;
$temps = time(); 
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$email = mysql_real_escape_string($_POST['email']);
$pass = md5($_POST['motdepasse']);
$confirm = md5($_POST['motdepasse2']);


//Vérification du pseudo
$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"'), 0);
if($nombrepseudo != 0)
{
        $pseudo_erreur1 = "Desoler mais votre pseudo est déjà utilisé par un autre membre";
        $i++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
{
        $pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit (entre 3 et 15 caracteres)";
        $i++;
}
 ?>
                                            <?php
//V?rification de l'adresse email

//Il faut que l'adresse email n'ait jamais été utilisée

$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_email = "'.$email.'"'), 0);

if ($nombremail != 0)
{
        $email_erreur1 = "Votre adresse email est déjà utilisée par un autre membre";
        $i++;
}
 ?>
                                            <?php
											

  if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{

        echo'<h1>Inscription terminée</h1>';
        echo'<p>Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).' vous etes maintenant inscrit sur ***</p>';
        echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir a la page d accueil</p>';

  //On balance le tout dans la table
        mysql_query('
        INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,             
        membre_inscrit,   
        membre_derniere_visite)
        VALUES ("'.$pseudo.'" , "'.$pass.'" , "'.$email.'" ,
         "'.$nomavatar.'" ,
          "'.$temps.'" ,
        "'.$temps.'" ) ') or die(mysql_error());
       
       
        //Et on d?finit les variables de sessions
        $_SESSION['pseudo'] = $pseudo;
        $_SESSION['id'] = mysql_insert_id();
        $_SESSION['level'] = 2;

}
else
{
        echo'<h1>Inscription interrompue</h1>';
        echo'<p>Une ou plusieurs erreurs se sont produites pendant l incription</p>';
        echo'<p>'.$i.' erreur(s)</p>';
        echo'<p>'.$pseudo_erreur1.'</p>';
        echo'<p>'.$pseudo_erreur2.'</p>';
        echo'<p>'.$mdp_erreur.'</p>';
        echo'<p>'.$email_erreur1.'</p>';
        echo'<p>'.$email_erreur2.'</p>';
       
        echo'<p>Cliquez <a href="./inscription.php">ici</a> pour recommencer</p>';
}
mysql_close();
                                            ?>
                                            ?>
                                            

je vous poste aussi le code du formulaire qui va juste avant on sait jamais
<?php
session_start();
?>
<?php
include("./identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
    ?>
<?php
//On évite qu'un membre déjà connecté se retrouve ici !
if (isset($_SESSION['pseudo']))
{
echo '<p>Désolé, mais vous ne pouvez pas accéder à cette page.</p></div></body></html>';
exit();
}<?php include('formulaire.php');
?>        ?>

le formulaire.php se présente comme suis
   <form method="post" action="repondeur.php" name="form_contacts" id="form_contacts" enctype="multipart/form-data" />

<input type="text" name="nom" id="nom" value="entrez votre nom"class="selected"/>

 <input type="text" name="prenom" id="prenom" value="entrez votre prénom"class="selected"/>

 <input type="text" name="pseudo" id="pseudo" value="entrez votre pseudo"class="selected"/>

<input type="password" name="motdepasse" id="motdepasse" class="selected"/>

 <input type="password" name="motdepasse2" id="motdepasse2" class="selected"/>

<input type="text" name="email" id="email" value="entrez votre email"class="selected"/>

<input name="envoyer" type="button" id="envoyer" value="Envoyer" onClick="envoie(this.form)">


c'est donc juste les boutons principaux comme sa vous pouvez avoir le nom des informations sous les yeux.
A voir également:

1 réponse

yunamdr Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
vola le dump de la bdd au cas ou :
-- phpMyAdmin SQL Dump
-- version 2.11.4
-- https://www.phpmyadmin.net/
--
-- Host: localhost
-- Generation Time: May 04, 2010 at 10:59 AM
-- Server version: 5.0.67
-- PHP Version: 5.2.6

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: '***'
--

-- --------------------------------------------------------

--
-- Table structure for table 'forum_membres'
--

CREATE TABLE 'forum_membres' (
  'membre_id' int(11) NOT NULL auto_increment,
  'membre_pseudo' varchar(30) collate latin1_general_ci NOT NULL,
  'membre_mdp' varchar(32) collate latin1_general_ci NOT NULL,
  'membre_email' varchar(250) collate latin1_general_ci NOT NULL,
  'membre_msn' varchar(250) collate latin1_general_ci NOT NULL,
  'membre_siteweb' varchar(100) collate latin1_general_ci NOT NULL,
  'membre_avatar' varchar(100) collate latin1_general_ci NOT NULL,
  'membre_signature' varchar(200) collate latin1_general_ci NOT NULL,
  'membre_localisation' varchar(100) collate latin1_general_ci NOT NULL,
  'membre_inscrit' int(11) NOT NULL,
  'membre_derniere_visite' int(11) NOT NULL,
  'membre_rang' tinyint(4) default '2',
  'membre_post' int(11) NOT NULL,
  PRIMARY KEY  ('membre_id'),
  KEY 'membre_inscrit' ('membre_inscrit'),
  FULLTEXT KEY 'membre_mdp' ('membre_mdp')
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

--
-- Dumping data for table 'forum_membres'
--

merci d'avance :)
0