Ajout de donnée SQL impossible

Résolu/Fermé
pols12 - 9 oct. 2009 à 18:11
 pols12 - 11 oct. 2009 à 10:47
Bonjour!
Voila, je vous expose mon problème:
Je travaille en local avec wamp.
J'ai téléchargé une espace membre, un script tout fait libre de droits.
J'ai donc une page inscription, ou on ajoute son pseudo, son mdp avec sa vérifiaction et son e-mail.
Ces infos sont stockés dans mysql sous la base pols12-db3 dans la table "membres".
Jusque la, c'était tou fait, donc aucun problème!
Mais ensuite, j'aimerais qu'une page appelée "plus.php" permettent d'ajouter des infos persos. J'ai donc créer les champs prenom, nom, adresse, code postale et ville dans phpmyadmin.
Et puis, je me suis servi du code de la page d'inscription, mes connaissances étant faibles, pour créer la page plus.php dont voici le code:


<form method='post' action='verification2.php' enctype='multipart/form-data'>
<table width="400" border="0" align="center">
<tr>
<td colspan='2'class='menu'><div align=center>Ajout d'informations personnelles. <br> Bien sur, facultatif!</div></td>
</tr>
<tr>
<td><label for='prenom'>Prénom</label></td>
<td><input name='prenom' type='text' id='prenom' ></td>
</tr>
<tr>
<td><label for="nom">Nom</label></td>
<td><input name="nom" type="text" id="nom"></td>
</tr>
<tr>
<td><label for="adresse">Adresse</label></td>
<td><input name="adresse" type="text" id="adresse"></td>
</tr>
<tr>
<td><label for="code_postal">Code Postal</label></td>
<td><input type="text" name="code_postal" id="code_postal"/></td>
</tr>
<tr>
<td><label for="ville">Ajout de la ville, du village</label></td>
<td><input name="ville" type="text" id="ville"></td>
</tr>
<tr>
<td><div align="center"><input type="submit" value="Ajouter" /></div></td>
</tr>
</table>
</form>
</div>
<center><a href="index.php">Retour</a></center>

Il renvoie donc vers la page verification2.php dont voici le code:

<?php
/* Script écrit par RVJ-WEB
Créé le 27 MAI 2006
Droits de reproduction autorisés */

session_start();
require_once('config.php');
$titre_page='Ajout';
include_once('haut.php');

$prenom=formulaires($_POST['prenom']);
$nom=formulaires($_POST['nom']);
$adresse=formulaires($_POST['adresse']);
$code_postal=formulaires($_POST['code_postal']);
$ville=formulaires($_POST['ville']);



mysql_query("INSERT INTO membres VALUES ('', '$prenom', '$nom', '$adresse', '$ville','$code_postal')") or die ('Erreur : '.mysql_error()); //insertion dans la bdd
echo'Merci de vous vous etre inscrit à '.$nom_du_site.'<br /><a href="index.php">Identifiez vous !</a>';
include_once('bas.php');
?>

Avec dans le fichier config.php un include vers fonctions.php qui contient:

<?php
{
$valeur=trim(htmlspecialchars(addslashes($valeur)));
return $valeur;
}
?>

Et pourtant, quand jessai d'ajouter mes donnée à l'aide de la page plus.php, ce message apparait:

Erreur : Column count doesn't match value count at row 1

Ou est l'erreur?
Merci!!!
pols12
A voir également:

1 réponse

Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
9 oct. 2009 à 18:49
Salut

Ta requete ne va pas du tout, si la personne c'est deja inscrite elle est deja dans la base, il faut donc faire un "update" pour mettre a jour ses informations ! Et biensur pour savoir quelle ligne de la table il faut mettre a jour tu a besoin de l'identifiant de la ligne. Par exemple :

UPDATE membres set prenom='$prenom', nom='$nom' where id='$id'

Biensur j'ai mis id=$id pour l'exemple, je ne sais pas dans ton cas comment la table membre est faite
1
Bonjour!
Merci de ta réponse!!
Mon espace membre marche bien avec un le champ ID, et du coup, ca marche!!
Merci, merci, merci!!!
En effet, je susi très mauvais en sql. J'ai quelques bases de php, mais dès qu'il s'agit de passer au sql pour en registrer les donnée php, je bloque!
Merci encore!
pols12
0