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 -
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:
- Problèeme php mysql (inscription)
- Wetransfer gratuit sans inscription - Guide
- Twitter inscription - Guide
- Vinted inscription - Guide
- Paypal inscription - Guide
- Instagram inscription - Guide
1 réponse
vola le dump de la bdd au cas ou :
merci d'avance :)
-- 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 :)