Modification scripts inscription.php

Résolu/Fermé
Foutix2005 Messages postés 11 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 26 janvier 2008 - 24 janv. 2008 à 20:47
 anouarsurvive - 16 oct. 2008 à 15:19
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
A voir également:

18 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
26 janv. 2008 à 13:32
pour gérer ta BDD tu dois utiliser PhpMyAdmin.
ouvres PhpMyAdmin et colle cette requête dans l'onglet 'SQL' et dis nous quel résultat tu obtiens (ça te permets de savoir si la requête générée est valide ou pas).
3
Foutix2005 Messages postés 11 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 26 janvier 2008 2
25 janv. 2008 à 20:29
Bonsoir Dalida (Fan?)

J'ai trouvé l'erreur dans le script inscription.php, je l'ai mis en gras et souligné.

Instruction mysql d'origine:
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');

Instruction modifié par mes soins, je suppose que l'erreur vient de la.
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');

Insertion du nom, prenom, adresse, zip, ville, phone, pays.
Dans le fichier verifications.php j'ai rajouter les variables necessaire.

//Si dessous les variables concernant le membre qui seront utilisées dans le script
$email = $resultat_donnees_membre['email'];
$pseudo = $resultat_donnees_membre['pseudo'];

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

$nom = $resultat_donnees_membre['nom'];
$prenom = $resultat_donnees_membre['prenom'];
$adresse = $resultat_donnees_membre['adresse'];
$zip = $resultat_donnees_membre['zip'];
$ville = $resultat_donnees_membre['ville'];
$phone = $resultat_donnees_membre['phone'];
$pays = $resultat_donnees_membre['pays'];
$id = $resultat_donnees_membre['id'];
$rang = $resultat_donnees_membre['rang'];
if($support_connectes == 1)
touch($prefix.'connectes/'.$pseudo.'.txt');

Désolé pour la copie totale du script dans mon précédent post

merci d'avance
1
Foutix2005 Messages postés 11 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 26 janvier 2008 2
26 janv. 2008 à 09:59
J’ai vérifié ma base et tous les champs sont bien remplis.

Je n’ai pas bien suivit ton explication

au lieu d'exécuter te requête, affiche la.
et avec ce que y est affiché, va testé dans PHPMyAdmin (ou équivalent).


Je ne suit pas un pro, c'est plutôt de la "bidouille" ce que je fait.
J'analyse le script, et je le développe, alors dé fois ca marche et dé fois po .....

Peut m'expliqué

Merci
1
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
26 janv. 2008 à 10:56
salut,

remplace ça :
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.
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
26 janv. 2008 à 17:24
mais je t'en prie, c'est avec plaisir.

on aurait même pu être plus rapide !
-;o)

à plus !
1
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
25 janv. 2008 à 17:41
salut,

Message: Erreur d'insertion dans la base de données.
Ci-joint copie du scripts d’origine + mes modifs.

103 caractères de description pour 11 786 caractères de code source en vrac.
c'est des coups à finir au Guinness…
-:oþ

en premier, identifie la ligne où est levée l'erreur.
pour ça, regarde dans les définitions de constantes (sans doute dans 'recup_config.php') à quoi correspond le message cité.
puis cherche la dite constante dans ton script.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
25 janv. 2008 à 21:39
ah vi, l'avais pas trouvée…

au lieu d'exécuter te requête, affiche la.
et avec ce que y est affiché, va testé dans PHPMyAdmin (ou équivalent).
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 !)
0
Foutix2005 Messages postés 11 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 26 janvier 2008 2
26 janv. 2008 à 12:28
voilà ce qui s'affiche à l'écran.

INSERT INTO espm_membres VALUES ('', 'BUeTy8Od0wIH1tEmp9QjC7vz75F0J7', 'Phoenix', 'e9b9f6e2de1417e2c7355ed565abcc4b', 'mon@email.net', 'monnom', 'monprenom', 'monadresse', '00000', 'maville', 'France', '0000000000', 0, 3)
0
Foutix2005 Messages postés 11 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 26 janvier 2008 2
26 janv. 2008 à 13:43
Oups, n'avait pas compris

Voilà le truc qu'il me dit phpmyadmin

Erreur
requête SQL:

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. ") "
);



MySQL a répondu:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'echo("INSERT INTO ". PREFIX ."membres VALUES ('', '". $alea ."', '". $_POST['pse' at line 1
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
26 janv. 2008 à 13:55
colle cette requête
pas l'instruction PHP !!!
la requête affichée par le navigateur !!!
INSERT INTO espm_membres VALUES ('', 'BUeTy8Od0wIH1tEmp9QjC7vz75F0J7', 'Phoenix', 'e9b9f6e2de1417e2c7355ed565abcc4b', 'mon@email.net', 'monnom', 'monprenom', 'monadresse', '00000', 'maville', 'France', '0000000000', 0, 3)
0
Foutix2005 Messages postés 11 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 26 janvier 2008 2
26 janv. 2008 à 14:14
La je m'arrache les cheveux

Erreur
requête SQL:

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

MySQL a répondu:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '7 message(s) posté(s) depuis le lundi 21 janvier 2008' at line 1
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
26 janv. 2008 à 14:55
ce n'est pas la requête que tu as collé en premier !

celle-là contient le texte que tu veux afficher avec !
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)
0
Foutix2005 Messages postés 11 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 26 janvier 2008 2
26 janv. 2008 à 15:10
j'ai donc copier tes instructions dans phpmyadmin dans l'onglet sql dans le champ espm_membres, ca donne ca

Erreur
requête SQL:

INSERT INTO espm_membres
VALUES (

'', 'BUeTy8Od0wIH1tEmp9QjC7vz75F0J7', 'Phoenix', 'e9b9f6e2de1417e2c7355ed565abcc4b', 'mon@email.net', 'monnom', 'monprenom', 'monadresse', '00000', 'maville', 'France', '0000000000', 0, 3
)

MySQL a répondu:

#1136 - Column count doesn't match value count at row 1
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
26 janv. 2008 à 15:50
donc tu as trouvé l'erreur…

ce doit être un problème de type de données ou plus sûrement de longueur de champ.

quels sont le type et la longueur du champ 'count' et quelle est la valeur que tu as essayé d'y insérer ?
0
Foutix2005 Messages postés 11 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 26 janvier 2008 2
26 janv. 2008 à 16:42
Je n'ai aucun champ 'count' voila une copie de ma table

Structure de la table `espm_membres`
--

CREATE TABLE `espm_membres` (
`id` mediumint(9) NOT NULL auto_increment,
`identifiant` varchar(30) NOT NULL,
`pseudo` varchar(15) NOT NULL,
`passe` varchar(40) NOT NULL,
`email` text NOT NULL,
`nom` varchar(25) default NULL,
`prenom` varchar(25) default NULL,
`adresse` varchar(100) default NULL,
`zip` varchar(5) default NULL,
`ville` varchar(200) default NULL,
`pays` varchar(50) default NULL,
`phone` varchar(32) default NULL,
`dateinscr` date NOT NULL default '0000-00-00',
`lastlog` varchar(255) NOT NULL,
`valide` binary(1) NOT NULL,
`rang` smallint(6) NOT NULL,
KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
26 janv. 2008 à 16:49
Column count doesn't match value count
en fait, il suffit de traduire.
le nombre de colonnes ne correspond pas au nombre de valeurs.

d'où ma question d'hier en <3>.
est-ce que tu as bien une valeur pour chaque champ existant dans la table ?

tu as 16 champs, il faut lui donner 16 valeurs à insérer.
pour les incréments et les champs vides il faut préciser ''.
0
Foutix2005 Messages postés 11 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 26 janvier 2008 2
26 janv. 2008 à 17:22
HIP HIP Hourra

Vraiment génial Dalida, c’était effectivement une erreur dans ma base, ou plutôt un oubli dans mon script verifications.php. Dans ma table j’ai deux champs `dateinscr` et `lastlog` et aucune valeur dans mon fichier verifications.php

Je l'avait reporter en (2)
il manque $dateinscr et $lastlog

//Si dessous les variables concernant le membre qui seront utilisées dans le script
$email = $resultat_donnees_membre['email'];
$pseudo = $resultat_donnees_membre['pseudo'];
$nom = $resultat_donnees_membre['nom'];
$prenom = $resultat_donnees_membre['prenom'];
$adresse = $resultat_donnees_membre['adresse'];
$zip = $resultat_donnees_membre['zip'];
$ville = $resultat_donnees_membre['ville'];
$pays = $resultat_donnees_membre['pays'];
$phone = $resultat_donnees_membre['phone'];
$id = $resultat_donnees_membre['id'];
$rang = $resultat_donnees_membre['rang'];
if($support_connectes == 1)
touch($prefix.'connectes/'.$pseudo.'.txt');

Un grand MERCI à toi Dalida je suis sauver
0
anouarsurvive
16 oct. 2008 à 15:19
salut, merci Dalida et foutix pour ce topic.
moi aussi j'ai un probleme avec les TD voila:
<tr>
<td><label for="mdp2"><?php echo INSCRIPTION_CONFIRM_PASS; ?></label></td>
<td><input name="mdp2" type="password" id="mdp2" /></td>
</tr>
<tr>
<td><label for="entreprise"><?php echo INSCRIPTION_ENTREPRISE; ?></label></td>
<td><input name="entreprise" type="text" id="entreprise" /></td>
</tr>
à l'affichage
je reçois
confirmation mot de passe
INSCRIPTION_ENTREPRISE
ce qui me pose un probleme je comprend pas comme faire pour l'affichage juste entreprise.
merci
0