Vous n'êtes pas identifié(e).
bonjour à tous,
voila mon soucis j'ai créer un formulaire sur plusieurs pages une 1 page avec l'email et la seconde avec nom,prénom ,date,ville
mais les enregistrement ne se font pas dans ma base voile mon code pour ma page mail:
if(isset($_POST['mail'])) $email=$_POST['mail'];
else $mail="";
// On vérifie si les champs sont vides
if(empty($mail))
{
echo '<font color="red">Attention,le champs ne peut rester vide !</font>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('kam',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$query = "INSERT INTO clients(id, ,mail) VALUES('','$mail')";
// on insère les informations du formulaire dans la table
mysql_query($query)
or die ("Exécution de la requête impossible.");
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
mysql_close(); // on ferme la connexion
}
)
ma table resemble a sa:
voila si vous pouviez m expliquer ou se trouve mon erreur
grand merci
Dernière modification par tycoons (25-02-2010 18:24:30)
Hors ligne
Cette ligne là :
Voici un correctif (de plus pas besoin de mettre les champs en auto-incrément :
L'erreur venait d'une double virgule. Penses à utiliser la fonction mysql_error() elle t'aurait permis de rapidement cibler le problème.
Hors ligne
nom prenom ct ville NOT NULL
tu devrais avoir un message d'erreur
a++
Hors ligne
salut ,
ho purée j avais tellement le nez dedans que je ne l'avais meme pas vu merci pour l'info
je débute mais il me reste une question concernant ta réponse pourquoi ne pas mettre tous les champs en auto incrénement?
je n avais aucune erreur d afficher sur ma page
Dernière modification par tycoons (25-02-2010 19:15:20)
Hors ligne
bon je pense qui doit y avoir encore un truck car sa marche toujours pas pourtant pas d erreur ma page s affiche bien mais sa n enregistre rien dans ma table
Hors ligne
explique moi comment mettre le nom en autoincrément ?:|
a++
Dernière modification par Pierrot (25-02-2010 19:28:41)
Hors ligne
salut pierrot,
le nom et le reste ne sont pas en autocrénement il n'y a que le champ id qui l est les autre sont not null mais tu peux me dire ou tu vois l'erreur dans la création de ma table
Hors ligne
Oh oui tiens j'avais pas fait gaffe...
Le fait de tous les mettre en not null t'obliges à les renseigner lors du insert. Tu ne peux en oublier.
Je pense que c'est ce que sous-entendait Pierrot.
Hors ligne
je ne sous-entendais pas
j'affirmais :D
a++
Hors ligne
ok donc il faut que je modifie le not null mais par quoi autocrénement? un peu d explication svp le démarrage est un peu dur j ai compris que autocrénement ajoute automatiquement un id a mes champs pour le reste je comprend pas encore
Dernière modification par tycoons (25-02-2010 20:12:26)
Hors ligne
ok merci pour l info c'est bien se que je veux je veux pas que le champs sois null je veux qu un message d erreur s affiche au cas ou se n est pas remplis est sa ne gene pas l enregistrement dans ma base si?
Hors ligne
Dans ce cas il te faut vérifier la variable qui arrive de ton formulaire, rien de plus simple.
Par contre je ne te comprends pas, en cas de mauvaises informations tu veux tout de même créer l'enregistrement ? C'est contradictoire.
Hors ligne
bonjour,
bon j ai du louper un truck j ai changer les infos dans ma table le not null par null mais sa n enregistre toujours rien je m été mal exprimer xTG les variable de vérification des champs se font bien dans le formulaire je n arrive pas a voir se que je fais mal pour l enregistrement j essais de faire mon formulaire grace au tuto trouver sur phpdebutant je ne demande qu'à apprendre
Hors ligne
Met le code de ton formulaire, je regarde
a++
Hors ligne
merci beaucoup Pierrot,
if(isset($_POST['mail'])) $mail=$_POST['mail'];
else $mail="";
// On vérifie si les champs sont vides
if(empty($mail))
{
echo '<font color="red">Attention,le champs ne peut rester vide !</font>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('kam',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$query = "INSERT INTO clients(mail) VALUES('$mail')";
// on insère les informations du formulaire dans la table
mysql_query($query)
or die ('Exécution de la requête impossible.'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';
mysql_close(); // on ferme la connexion
}
?>
</form>
)
ma table modifier
ma page index php envoi ver ma page info php ou se trouve le reste du formulaire a remplir merci de prendre un peu de temps pour m'expliquer
Dernière modification par tycoons (26-02-2010 10:24:35)
Hors ligne
Peut-on savoir quelle est la volonté de n'enregistrer que l'email ?
PS :
Il s'est glissé par mégarde le mysql_error() ? Il n'a rien à faire à l'intérieur de la requête. ^^
Dernière modification par xTG (26-02-2010 10:17:50)
Hors ligne
salut xTG ,
je te fais un petit topo de se que je veux arriver a faire sur la page index je veux enregsitrer l email de mon visiteur et ensuite sur la page info le reste du formulaire non,prenom,ville,date.
je ne veux pas enregistrer que l email met toute les infos de mes 2 formulaires:
page index le mail
page info le reste
c'est comme si je décomposer mon formulaire en 2 partie
j'ai modifier le mysql error
Hors ligne
Saluton,
Bon on va arrêter de perdre son temps.
La colonne email de la table clients ne peut être renseignée qu'une fois le client créé dans la table, donc son identifiant connu.
Toute autre démarche constituerait une aberration.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Est-ce que le message « Vos infos ont été ajoutées » s'affiche ?
Hors ligne
Comme l'a dit Kris, c'est absurde ta démarche.
Passes les informations d'un formulaire à un autre et n'enregistres que lorsque tout a été renseigné et vérifié.
Tu peux utiliser les input de type hidden ou bien des variables de session pour faire transiter tes informations d'une page à une autre.
Hors ligne
@Maljuna Kris & xTG
Pourquoi vous ne répondez pas au problème posé ?
Bien sûr que ce qu'il fait est une aberration !
Mais il s'en rendra bien compte assez tôt.
Pourquoi vouloir lui faire insérer tous les champs puisqu'il n'arrive pas à en insérer un ?
Il bloque sur le fait que sa base de données n'est pas mise à jour.
Lorsqu'il sera arrivé à insérer un enregistrement, même avec un seul champ, il sera content, il pourra avancer et là, il se rendra bien compte qu'il aurait mieux valu insérer tous les champs en même temps que de mettre à jour un enregistrement.
Hors ligne
salut dionysos,
toute à fait d'accord avec toi la méthode pour enregistrer dans ma base insert into apres je met les variable que je veux enregistrer . Aprés je m'y prend trés mal c'est sur puisque sa ne marche pas .Dans ma page index ma fonction post mail avec le inser into du champ mail devrai s'enregistrer normalement non?
Hors ligne
@Maljuna Kris & xTG
Pourquoi vous ne répondez pas au problème posé ?
Bien sûr que ce qu'il fait est une aberration !
Mais il s'en rendra bien compte assez tôt.Pourquoi vouloir lui faire insérer tous les champs puisqu'il n'arrive pas à en insérer un ?
Il bloque sur le fait que sa base de données n'est pas mise à jour.
Lorsqu'il sera arrivé à insérer un enregistrement, même avec un seul champ, il sera content, il pourra avancer et là, il se rendra bien compte qu'il aurait mieux valu insérer tous les champs en même temps que de mettre à jour un enregistrement.
Cette approche, prétendument heuristique, fait perdre son temps à tout le monde.
La technique d'apprentissage laxiste qui consiste à encourager à faire n'importe quoi a priori pour améliorer peu à peu, je ne sais même pas comment la qualifier.
En tout cas c'est une approche que je ne saurais cautionner.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
salut Maljuna Kris,
j ai lu les explication de l exemple j essai de les reproduires avec quelque modification justement pour comprendre le fonctionnement tout d abord et ensuite se que je n ai pas compris mais je suis ouvert a une autre approche que conseil tu? on est bien sur php débutant ?
Hors ligne