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
