Problèeme php mysql (inscription)
yunamdr
Messages postés
14
Statut
Membre
-
yunamdr Messages postés 14 Statut Membre -
yunamdr Messages postés 14 Statut Membre -
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
- Facebook 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 :)