|
|
|
|
Bonjour,
Je souhaite adapter le fichier inscription.php avec des champs supplémentaires, mais j’ai un souci d’intégration dans la base SQL.
Message: Erreur d'insertion dans la base de données.
Ci-joint copie du scripts d’origine + mes modifs.
Le scripts fait aussi appel aux scripts : recup_config.php - fonctions/formulaires.php - haut.php - bas.php alors si vous en avez besoin je vous les poserait.
scripts inscription.php d'origine:
<?php
/* Script écrit par VINCENT REITZ
Créé le 27 MAI 2006
Dernière modification le 9 Février 2007
Droits de reproduction autorisés */
session_start();
if(@$_SESSION['session']) exit; //Si la personne est identifiée, on lui interdit l'accès à la page d'inscription
include_once 'recup_config.php'; //On récupère la configuration du script
$titre_page = INSCRIPTION_TITRE; //Définition du titre de la page
include_once 'haut.php'; //on affiche le haut (header)
if( isset($_POST['envoi']) ) {
require_once 'fonctions/formulaires.php';
$_POST = form_secu($_POST, 'addslashes');
$_POST = form_secu($_POST, 'htmlchars');
$_POST = form_secu($_POST, 'trim');
//// VERIFICATIONS BANALES ////
if( strlen($_POST['mdp']) < 5)
$erreur .=INSCRIPTION_ERREUR_PASS_PETIT ."<br />";
if($_POST['mdp'] !== $_POST['mdp2'])
$erreur .=INSCRIPTION_ERREUR_PASS_IDENTIQUE ."<br />";
if( strlen($_POST['pseudo']) > 15 || strlen($_POST['pseudo']) < 3)
$erreur .=INSCRIPTION_ERREUR_PASS_TAILLE ."<br />";
if( strlen($_POST['email']) < 1)
$erreur .=INSCRIPTION_PAS_DE_EMAIL ."<br />";
if( strlen($erreur) > 5 ) {
echo $erreur ,'<a href="#" onClick="history.back()">', GENERAL_RETOUR, '</a>';
include_once 'bas.php';
exit;
}
connexion();
//// VERIFICATIONS DES EXISTANCES ////
$reponse_mail = @mysql_query("SELECT email FROM ". PREFIX ."membres WHERE email='". $_POST['email'] ."'") or die ('Erreur de vérification d\'e-mail déjà existant'); //verification si e-mail existe déjà
$count_mail = @mysql_num_rows($reponse_mail);
if($count_mail === 1)
$erreur .=INSCRIPTION_DEJA_EMAIL ."<br />";
$reponse_pseudo=mysql_query("SELECT pseudo FROM ". PREFIX ."membres WHERE pseudo='". $_POST['pseudo'] ."'") or die ('Erreur de vérification du pseudo déjà existant'); //verification si pseudo existe déjà
$count_pseudo=mysql_num_rows($reponse_pseudo);
if($count_pseudo === 1)
$erreur .=INSCRIPTION_DEJA_PSEUDO ."<br />";
if( strlen($erreur) > 5 ) {
echo $erreur ,'<a href="#" onClick="history.back()">', GENERAL_RETOUR, '</a>';
include_once 'bas.php';
exit;
}
$alea = id_aleatoire(); //Création d'un identifiant aléatoire
$passe = md5($_POST['mdp']); //Encodage en md5 (c'est pas le plus sécurisé possible)
if($environement_site == 1 AND $validation_site == 1) $validation_site = 3; //Si on est en local, ca revient à ce qu'il n'y ai aucune validation par mail.
$validation = 0;
if($validation_site == 3) $validation = 1;
mysql_query("INSERT INTO ". PREFIX ."membres VALUES ('', '". $alea ."', '". $_POST['pseudo'] ."', '". $passe ."', '". $_POST['email'] ."', ". $validation .", ". MEMBRE .") ") or die ('Erreur d\'insertion dans la base de données');
if($validation_site == 1)
echo'<span style="color:#00B222">', INSCRIPTION_MESSAGE_FIN, $nom_site ,'.<br />
', INSCRIPTION_MESSAGE_FIN_VALIDATION_1, '</span> <a href="index.php">', GENERAL_RETOUR, '</a>';
if($validation_site == 2)
echo'<span style="color:#00B222">', INSCRIPTION_MESSAGE_FIN, $nom_site ,'.<br />
', INSCRIPTION_MESSAGE_FIN_VALIDATION_2, '</span> <a href="index.php">', GENERAL_RETOUR, '</a>';
if($validation_site == 3)
echo'<span style="color:#00B222">', INSCRIPTION_MESSAGE_FIN, $nom_site ,'.<br />
', INSCRIPTION_MESSAGE_FIN_VALIDATION_3, '</span> <a href="index.php">', GENERAL_RETOUR, '</a>';
if($environement_site == 2)
{
if($validation_site == 1)
mail($_POST['email'], '['. $nom_site .']'.INSCRIPTION_TITRE, INSCRIPTION_MAIL_PARTIE_1. $nom_site .".
". INSCRIPTION_MAIL_PARTIE_2 ."
". INSCRIPTION_PSEUDO ." : ". $_POST['pseudo'] ."
". INSCRIPTION_PASS ." : ". $_POST['mdp'] ."
". INSCRIPTION_MAIL_VALIDATION_1 ."
". $adresse_site ."validation_mail.php?id=". $alea ."
________________________
". INSCRIPTION_MAIL_FORMULES ."
". $nom_site, "From: ". $nom_site ."<robot@". $nom_site .">");
if($validation_site == 3 OR $validation_site == 2)
mail($_POST['email'], '['. $nom_site .']'.INSCRIPTION_TITRE, INSCRIPTION_MAIL_PARTIE_1. $nom_site .".
". INSCRIPTION_MAIL_PARTIE_2 ."
". INSCRIPTION_PSEUDO ." : ". $_POST['pseudo'] ."
". INSCRIPTION_PASS ." : ". $_POST['mdp'] ."
________________________
". INSCRIPTION_MAIL_FORMULES ."
". $nom_site, "From: ". $nom_site ."<robot@". $nom_site .">");
}
} else {
?>
<div align="center">
<h1><?php echo INSCRIPTION_TITRE; ?></h1>
<form method="post" action="">
<table class="inscription">
<tr>
<td><label for="pseudo"><?php echo INSCRIPTION_PSEUDO; ?></label></td>
<td><input name="pseudo" type="text" id="pseudo" /></td>
</tr>
<tr>
<td><label for="email"><?php echo INSCRIPTION_EMAIL; ?></label></td>
<td><input name="email" type="text" id="email" /></td>
</tr>
<tr>
<td><label for="mdp"><?php echo INSCRIPTION_PASS; ?></label></td>
<td><input name="mdp" type="password" id="mdp" /></td>
</tr>
<tr>
<td><label for="mdp2"><?php echo INSCRIPTION_CONFIRM_PASS; ?></label></td>
<td><input name="mdp2" type="password" id="mdp2" /></td>
</tr>
<tr>
<td colspan="2"><div align="center"><input type="submit" value="<?php echo INSCRIPTION_ENVOI; ?>" name="envoi" /></div></td>
</tr>
</table>
</form><br />
<a href="index.php"><?php echo GENERAL_RETOUR; ?></a></div>
<?php
}
include_once 'bas.php'; //on affiche le bas (footer)
?>
scripts inscription.php modifié:
<?php
/* Script écrit par VINCENT REITZ
Créé le 27 MAI 2006
Dernière modification le 9 Février 2007
Droits de reproduction autorisés */
session_start();
if(@$_SESSION['session']) exit; //Si la personne est identifiée, on lui interdit l'accès à la page d'inscription
include_once 'recup_config.php'; //On récupère la configuration du script
$titre_page = INSCRIPTION_TITRE; //Définition du titre de la page
include_once 'haut.php'; //on affiche le haut (header)
if( isset($_POST['envoi']) ) {
require_once 'fonctions/formulaires.php';
$_POST = form_secu($_POST, 'addslashes');
$_POST = form_secu($_POST, 'htmlchars');
$_POST = form_secu($_POST, 'trim');
//// VERIFICATIONS BANALES ////
if( strlen($_POST['mdp']) < 5)
$erreur .=INSCRIPTION_ERREUR_PASS_PETIT ."<br />";
if($_POST['mdp'] !== $_POST['mdp2'])
$erreur .=INSCRIPTION_ERREUR_PASS_IDENTIQUE ."<br />";
if( strlen($_POST['pseudo']) > 15 || strlen($_POST['pseudo']) < 3)
$erreur .=INSCRIPTION_ERREUR_PASS_TAILLE ."<br />";
if( strlen($_POST['email']) < 1)
$erreur .=INSCRIPTION_PAS_DE_EMAIL ."<br />";
if( strlen($erreur) > 5 ) {
echo $erreur ,'<a href="#" onClick="history.back()">', GENERAL_RETOUR, '</a>';
include_once 'bas.php';
exit;
}
connexion();
//// VERIFICATIONS DES EXISTANCES ////
$reponse_mail = @mysql_query("SELECT email FROM ". PREFIX ."membres WHERE email='". $_POST['email'] ."'") or die ('Erreur de vérification d\'e-mail déjà existant'); //verification si e-mail existe déjà
$count_mail = @mysql_num_rows($reponse_mail);
if($count_mail === 1)
$erreur .=INSCRIPTION_DEJA_EMAIL ."<br />";
$reponse_pseudo=mysql_query("SELECT pseudo FROM ". PREFIX ."membres WHERE pseudo='". $_POST['pseudo'] ."'") or die ('Erreur de vérification du pseudo déjà existant'); //verification si pseudo existe déjà
$count_pseudo=mysql_num_rows($reponse_pseudo);
if($count_pseudo === 1)
$erreur .=INSCRIPTION_DEJA_PSEUDO ."<br />";
if( strlen($erreur) > 5 ) {
echo $erreur ,'<a href="#" onClick="history.back()">', GENERAL_RETOUR, '</a>';
include_once 'bas.php';
exit;
}
$alea = id_aleatoire(); //Création d'un identifiant aléatoire
$passe = md5($_POST['mdp']); //Encodage en md5 (c'est pas le plus sécurisé possible)
if($environement_site == 1 AND $validation_site == 1) $validation_site = 3; //Si on est en local, ca revient à ce qu'il n'y ai aucune validation par mail.
$validation = 0;
if($validation_site == 3) $validation = 1;
*/---------- En gras mes modifs.----------/*
mysql_query("INSERT INTO ". PREFIX ."membres VALUES ('', '". $alea ."', '". $_POST['pseudo'] ."', '". $passe ."', '". $_POST['email'] ."', '". $_POST['nom'] ."', '". $_POST['prenom'] ."', '". $_POST['adresse'] ."', '". $_POST['zip'] ."', '". $_POST['ville'] ."', '". $_POST['phone'] ."', '". $_POST['pays'] ."', ". $validation .", ". MEMBRE .") ") or die ('Erreur d\'insertion dans la base de données');
if($validation_site == 1)
echo'<span style="color:#00B222">', INSCRIPTION_MESSAGE_FIN, $nom_site ,'.<br />
', INSCRIPTION_MESSAGE_FIN_VALIDATION_1, '</span> <a href="index.php">', GENERAL_RETOUR, '</a>';
if($validation_site == 2)
echo'<span style="color:#00B222">', INSCRIPTION_MESSAGE_FIN, $nom_site ,'.<br />
', INSCRIPTION_MESSAGE_FIN_VALIDATION_2, '</span> <a href="index.php">', GENERAL_RETOUR, '</a>';
if($validation_site == 3)
echo'<span style="color:#00B222">', INSCRIPTION_MESSAGE_FIN, $nom_site ,'.<br />
', INSCRIPTION_MESSAGE_FIN_VALIDATION_3, '</span> <a href="index.php">', GENERAL_RETOUR, '</a>';
if($environement_site == 2)
{
if($validation_site == 1)
mail($_POST['email'], '['. $nom_site .']'.INSCRIPTION_TITRE, INSCRIPTION_MAIL_PARTIE_1. $nom_site .".
". INSCRIPTION_MAIL_PARTIE_2 ."
". INSCRIPTION_PSEUDO ." : ". $_POST['pseudo'] ."
". INSCRIPTION_PASS ." : ". $_POST['mdp'] ."
". INSCRIPTION_MAIL_VALIDATION_1 ."
". $adresse_site ."validation_mail.php?id=". $alea ."
________________________
". INSCRIPTION_MAIL_FORMULES ."
". $nom_site, "From: ". $nom_site ."<robot@". $nom_site .">");
if($validation_site == 3 OR $validation_site == 2)
mail($_POST['email'], '['. $nom_site .']'.INSCRIPTION_TITRE, INSCRIPTION_MAIL_PARTIE_1. $nom_site .".
". INSCRIPTION_MAIL_PARTIE_2 ."
". INSCRIPTION_PSEUDO ." : ". $_POST['pseudo'] ."
". INSCRIPTION_PASS ." : ". $_POST['mdp'] ."
________________________
". INSCRIPTION_MAIL_FORMULES ."
". $nom_site, "From: ". $nom_site ."<robot@". $nom_site .">");
}
} else {
?>
<div align="center">
<h1><?php echo INSCRIPTION_TITRE; ?></h1>
<form method="post" action="">
<table class="inscription">
<tr>
<td><label for="pseudo"><?php echo INSCRIPTION_PSEUDO; ?></label></td>
<td><input name="pseudo" type="text" id="pseudo" /></td>
</tr>
<tr>
<td><label for="email"><?php echo INSCRIPTION_EMAIL; ?></label></td>
<td><input name="email" type="text" id="email" /></td>
</tr>
*/----------- modifs -------------/*
<tr>
<td><label for="nom"><?php echo ACCEUIL_NOM; ?></label></td>
<td><input type="text" name="nom" id="nom" />
</td>
</tr>
<tr>
<td><label for="prenom"><?php echo ACCEUIL_PRENOM; ?></label></td>
<td><input type="text" name="prenom" id="prenom" />
</td>
</tr>
<tr>
<td><label for="adresse"><?php echo ACCEUIL_ADRESSE; ?></label></td>
<td><input type="text" name="adresse" id="adresse" />
</td>
</tr>
<tr>
<td><label for="zip"><?php echo ACCEUIL_ZIP; ?></label></td>
<td><input type="text" name="zip" id="zip" />
</td>
</tr>
<tr>
<td><label for="ville"><?php echo ACCEUIL_VILLE; ?></label></td>
<td><input type="text" name="ville" id="ville" />
</td>
</tr>
<tr>
<td><label for="phone"><?php echo ACCEUIL_PHONE; ?></label></td>
<td><input type="text" name="phone" id="phone" />
</td>
</tr>
<tr>
<td><label for="pays"><?php echo ACCEUIL_PAYS; ?></label></td>
<td><input type="text" name="pays" id="pays" />
</td>
</tr>
*/----------- Fin --------------/*
<tr>
<td><label for="mdp"><?php echo INSCRIPTION_PASS; ?></label></td>
<td><input name="mdp" type="password" id="mdp" /></td>
</tr>
<tr>
<td><label for="mdp2"><?php echo INSCRIPTION_CONFIRM_PASS; ?></label></td>
<td><input name="mdp2" type="password" id="mdp2" /></td>
</tr>
<tr>
<td colspan="2"><div align="center"><input type="submit" value="<?php echo INSCRIPTION_ENVOI; ?>" name="envoi" /></div></td>
</tr>
</table>
</form><br />
<a href="index.php"><?php echo GENERAL_RETOUR; ?></a></div>
<?php
}
include_once 'bas.php'; //on affiche le bas (footer)
?>
Merci a tous ceux qui m'aiderons
Cordialement
Alain
Configuration: Windows Vista Firefox 2.0.0.11
Salut,
|
Bonsoir Dalida (Fan?)
|
Ah vi, l'avais pas trouvée…
echo("INSERT INTO ". PREFIX ."membres VALUES ('', '". $alea ."', '". $_POST['pseudo'] ."', '". $passe ."', '". $_POST['email'] ."', '". $_POST['nom'] ."', '". $_POST['prenom'] ."', '". $_POST['adresse'] ."', '". $_POST['zip'] ."', '". $_POST['ville'] ."', '". $_POST['phone'] ."', '". $_POST['pays'] ."', ". $validation .", ". MEMBRE .") ");
ça doit venir de là mais elle est plutôt touffue. et est-ce que tu as bien une valeur pour chaque champ existant dans la table ? (pas spécialement fan. choisi au cours d'un LAN Game… pas quitté depuis !) [ Mathieu ] « On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007. |
J’ai vérifié ma base et tous les champs sont bien remplis.
|
Salut,
mysql_query("INSERT INTO ". PREFIX ."membres VALUES ('', '". $alea ."', '". $_POST['pseudo'] ."', '". $passe ."', '". $_POST['email'] ."', '". $_POST['nom'] ."', '". $_POST['prenom'] ."', '". $_POST['adresse'] ."', '". $_POST['zip'] ."', '". $_POST['ville'] ."', '". $_POST['phone'] ."', '". $_POST['pays'] ."', ". $validation .", ". MEMBRE .") ") or die ('Erreur d\'insertion dans la base de données');
par ça : echo("INSERT INTO ". PREFIX ."membres VALUES ('', '". $alea ."', '". $_POST['pseudo'] ."', '". $passe ."', '". $_POST['email'] ."', '". $_POST['nom'] ."', '". $_POST['prenom'] ."', '". $_POST['adresse'] ."', '". $_POST['zip'] ."', '". $_POST['ville'] ."', '". $_POST['phone'] ."', '". $_POST['pays'] ."', ". $validation .", ". MEMBRE .") ");
exit;
et colles ici ce qui s'affiche à l'écran. [ Mathieu ] « On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007. |
Pour gérer ta BDD tu dois utiliser PhpMyAdmin.
|
Oups, n'avait pas compris
|
colle cette requête
INSERT INTO espm_membres VALUES ('', 'BUeTy8Od0wIH1tEmp9QjC7vz75F0J7', 'Phoenix', 'e9b9f6e2de1417e2c7355ed565abcc4b', 'mon@email.net', 'monnom', 'monprenom', 'monadresse', '00000', 'maville', 'France', '0000000000', 0, 3)
[ Mathieu ] « On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007. |
La je m'arrache les cheveux
|
Ce n'est pas la requête que tu as collé en premier !
INSERT INTO espm_membres
VALUES (
'', 'BUeTy8Od0wIH1tEmp9QjC7vz75F0J7', 'Phoenix', 'e9b9f6e2de1417e2c7355ed565abcc4b', 'mon@email.net', 'monnom', 'monprenom', 'monadresse', '00000', 'maville', 'France', '0000000000', 0, 3
)7message(
s
)posté(
s
)depuis le lundi21janvier2008
essaie avec : INSERT INTO espm_membres VALUES ('', 'BUeTy8Od0wIH1tEmp9QjC7vz75F0J7', 'Phoenix', 'e9b9f6e2de1417e2c7355ed565abcc4b', 'mon@email.net', 'monnom', 'monprenom', 'monadresse', '00000', 'maville', 'France', '0000000000', 0, 3)
[ Mathieu ] « On embauchera plus s'il est moins compliqué de licencier. » LP, 29 août 2007. |
J'ai donc copier tes instructions dans phpmyadmin dans l'onglet sql dans le champ espm_membres, ca donne ca
|
Donc tu as trouvé l'erreur…
|
Je n'ai aucun champ 'count' voila une copie de ma table
|
Column count doesn't match value count
|
HIP HIP Hourra
|
Salut, merci Dalida et foutix pour ce topic.
|