Problème formulaire php
pinkpooky88
-
pinkpooky88 -
pinkpooky88 -
Bonjour,
C'est encore moi.
Je poste un autre problème pour mon site.
Je dois faire un site pour des commerçants. J'ai donc créer une interface pour leur faciliter la vie. Ils n'ont pas besoin de gérer la pagination et d'aller sur la base de données pour enregistrer leurs données.
Mais malheureusement j'ai un petit souci avec le code.
Cette interface se compose en plusieurs fichiers:
Voici le premier: Selection.php:
NouveauNom.php
et enfin AjouterMangas.php
C'est sur la page ajoutermangas.php que je rencontre des erreurs, en effet, sur ma page internet, j'ai ces messages d'erreurs
Warning: array_keys() [function.array-keys]: The first argument should be an array in /mnt/web9/31/99/52403599/htdocs/ajouterMangas.php on line 73
Warning: Wrong parameter count for implode() in /mnt/web9/31/99/52403599/htdocs/ajouterMangas.php on line 74
Warning: Wrong parameter count for implode() in /mnt/web9/31/99/52403599/htdocs/ajouterMangas.php on line 75
Erreur : Column count doesn't match value count at row 1
Est ce quelqu'un pourrait bien m'éclairer sur le problème.Merci d'avance
C'est encore moi.
Je poste un autre problème pour mon site.
Je dois faire un site pour des commerçants. J'ai donc créer une interface pour leur faciliter la vie. Ils n'ont pas besoin de gérer la pagination et d'aller sur la base de données pour enregistrer leurs données.
Mais malheureusement j'ai un petit souci avec le code.
Cette interface se compose en plusieurs fichiers:
Voici le premier: Selection.php:
<HTML> <HEAD> <TITLE> Types de mangas ( selection.php)</TITLE> <link rel="shortcut icon" type="image/png" href="favicon.png" /> <LINK type="text/css" rel="stylesheet" href="styles.css"> </HEAD> <BODY bgcolor="#9FB6CD"> <div id="conteneur"> <?php include("inf.php"); $cxn=mysql_connect(SERVER,LOGIN,MDP) or die ('Erreur : '.mysql_error()); mysql_select_db(BDD,$cxn) or die ('Erreur : '.mysql_error()); //Recherche les types de mangas dans la table Type par ordre alphabétique $query="SELECT mangasEditeur FROM Editeur ORDER BY mangasEditeur"; $result=mysql_query($query,$cxn) or die ('Erreur : '.mysql_error()); //Affiche le texte en tête du formulaire echo "<table class='page'border='0' cellspacing='0' cellpadding='0'> <TR align='center'style='background-image: url(fondbannbis2.png)' height='256' width='800'> <TD valign='top'> <p class='soustitre'><BR>Choississez l'éditeur du produit <BR>que vous voulez ajouter.</p></TD> </TR>"; //Création d'un formulaire contenant la liste de selection echo "<TR align='center' style='background-image: url(fondid.png)' height='507'> <TD>Si cet éditeur n'exsite pas encore, cliquez sur le bouton <b>Nouveau éditeur</b> lorsque vous avez terminé.<BR> <form action='nouveauNom.php' method='POST'>\n"; echo "<table cellpadding='5' border='0'>\n"; echo "<tr>"; $compteur=0; while($ligne=mysql_fetch_assoc($result)) { extract($ligne); echo"<td> <input type='radio' name='Editeur' valure='$mangasEditeur'>"; if($compteur==0) { echo""; } echo">$mangasEditeur</td>\n"; $comtpeur++; } include("produit_table.inc"); echo"<TR align='center'style='background-image: url(fondrestebis.png)' height='217'> <TD><input type='submit' value='Envoyer'>\n"; echo "</form><br><a href='choix.html'class='type2'>Revenir à l'interface d'administration</a>\n"; echo"</tr></table>\n</TD></TR>"; ?> </TD></TR> </TABLE> </div> </BODY> </HTML>
NouveauNom.php
<?php /*Programme: noveauNom.php Description: Permet à l'utilisateur de saisir des onfos sur le manga. Le programme commence par regarder s'il s'agit d'une nouvelle catégorie. Si oui, il la range dans la table Type. Puis tous les mangas présents dans cette catégorie sont sélectionnés et affichés en face d'un bouto radio. L'utilisateur peut saisir un nouveau nom. Des champs sont là pour lui permettre de fournir toutes les infos néceessaires.*/ if(@$_POST['neobouton']=="Retour à la plage des catégories" or @$_POST['neobouton'] =="Annuler") { header("Location:selection.php"); } echo"<html> <head><title> Ajout d'un nouveau produit</title></head> <link rel='shortcut icon' type='image/png' href='favicon.png' /> <LINK type='text/css' rel='stylesheet' href='styles.css'> <body bgcolor='#9FB6CD'> <div id='conteneur'>"; include("fonctionsbis.inc"); include("inf.php"); $cxn=mysql_connect(SERVER,LOGIN,MDP) or die or die ('Erreur : '.mysql_error()); mysql_select_db(BDD,$cxn) or die ('Erreur : '.mysql_error()); $categorie=$_POST['categorie']; /*S'il s'agit d'une nouvelle catégorie, regarder si les champs appropriés ont bien été renseignés. Si ce n'est pas le cas, l'afficher à nouveau afin que l'utilisateur puisse indiquer le nom de la catégorie et sa description. Si les champs sont renseignés, ranger la nouvelle catégorie dans la table Type.*/ if($categorie=="nouveau") { if($_POST['newdes']=="" or $_POST['neoDesc']=="") { include("newdes_form.inc"); exit(); } /*Ajout d'un nouveau type*/ else { nouveauType($_POST['newdes'],$_POST['neoDesc'],$cxn); $categorie=trim($_POST['newdes']); } } /*Selection des noms de mangas d'une certaine categorie. Si l'utilisateur a défini une nouvelle catégorie, on regarde si elle n'existerait pas déjà.*/ $query="SELECT DISTINCT mangasTitre FROM mangas WHERE mangasEditeur='$categorie' ORDER BY mangasTitre"; $result=mysql_query($query,$cxn) or die ('SELECT en échec dans nouveauNom'); $nbLignes=mysql_num_rows($result); /*création du formulaire*/ echo"<table class='page'border='0' cellspacing='0' cellpadding='0'> <TR align='center'style='background-image: url(fondbannbisajout.png)' height='256' width='800'>"; echo"<TD> <form action='ajouterMangas.php' method='POST' enctype='multipart/form-data'>\n <p class='soustitre'> Nom du Manga</p>\n</TD></TR>"; echo "<TR align='center'style='background-image: url(fondid.png)' height='507'> <TD>"; if($nbLignes<1) { echo" <b> Il n'y a aucun nom dans la base de données pour la catégorie $categorie</b>\n"; } else { while($row=mysql_fetch_assoc($result)) { extract($row); echo"<input type='radio' name='mangasTitre' value='$mangasTitre'>"; echo">$mangasTitre\n"; } } include("nom_table.inc"); $mangasDescription=""; $mangasDate=""; $mangasImage=""; $mangasAuteur=""; include("info_form.inc"); echo"<TD></TR>"; echo"<TR align='center'style='background-image: url(fondrestebis.png)' height='217'> <TD>"; echo"<input type='hidden' name='editeur' value='$categorie'>\n"; echo"<p> <imput type='submit' value='Enregistrer le nouveau nom'> <input type='submit' name='neobouton' value='cancel'></form> <br><br><a href='choix.html'class='type2'>Revenir à l'interface d'administration</a>\n"; echo"</TD></TR></TABLE>"; ?> </div> </body> </html>
et enfin AjouterMangas.php
<?php /*Programme: ajoutermangas.php description: ajouter un nouvel article à la base de données, puis afficher un écran de confirmation.*/ if(@$_POST['neobouton']=="Annuler") { header("Lieu:selection.php"); } include("inf.php"); $cxn=mysql_connect(SERVER,LOGIN,MDP) or die ('Erreur : '.mysql_error()); mysql_select_db(BDD,$cxn) or die ('Erreur : '.mysql_error()); foreach($_POST as $champs=>$valeur) { if($champ !="neoNom" and $champ != "neobouton") { if($champs=="mangasTitre") { if($valeur=="nouveau") { if($_POST['neoNom']=="") { include("neoNom.inc"); exit(); } else { $valeur=$_POST['neoNom']; } } } if(!empty($valeur)) { $champs_form[$champ]=ucfirst(strtolower(strip_tags(trim($valeur)))); $champs_form[$champ]=mysql_real_escape_string($champs_form[$champ],$cxn); } } } ?> <html> <head><title>Ajout d'un produit</title> <link rel="shortcut icon" type="image/png" href="favicon.png" /> <LINK type="text/css" rel="stylesheet" href="styles.css"> </head> <body bgcolor="#9FB6CD"> <div id="conteneur"> <table class='page' border='0' cellspacing='0' cellpadding='0' width="800"> <tr align='center'style='background-image: url(fondbannbisajoutermangas.png)' height='256' width='800'> <td valign="top"> <BR><p class='soustitre'>Ajouter un manga</p></td> </tr> <tr align='center' style='background-image: url(fondid.png)' height='507'> <td> <?php $champ_array=array_keys($champs_form); $champs=implode($champ_array,",",",",","); $valeurs=implode($champs_form,'","','","','","'); $query="INSERT INTO mangas($champs) VALUES(\"$valeurs\")"; $result=mysql_query($query,$cxn) or die ('Erreur : '.mysql_error()); $mangasId=mysql_insert_id($cxn); $query="SELECT*FROM mangas WHERE mangasId='$mangasId'"; $result=mysql_query($query,$cxn) or die ('Erreur : '.mysql_error()); $row=mysqli_fetch_assoc($result); extract($row); $categorie=$mangasEditeur; echo"Le manga suivant a été ajouté au catalogue:<br> <ul> <li> Editeur: $categorie <li> Nom: $mangasTitre <li>Date Parution:$mangasDate <li>Auteur: $mangasAuteur <li>Fichier image: $mangasImage <li>Description: $mangasDescription\n"; echo"</ul> </td> </tr>"; echo"<tr align='center'style='background-image: url(fondrestebisajout.png)' height='217'> <td>"; echo "<a href='selection.php'class='type2'>Ajouter un autre manga</a> <br> <a href='choix.html'class='type2'>Revenir à l'interface d'administration</a>\n"; ?> </td> </tr> </table> </div> </body> </html>
C'est sur la page ajoutermangas.php que je rencontre des erreurs, en effet, sur ma page internet, j'ai ces messages d'erreurs
Warning: array_keys() [function.array-keys]: The first argument should be an array in /mnt/web9/31/99/52403599/htdocs/ajouterMangas.php on line 73
Warning: Wrong parameter count for implode() in /mnt/web9/31/99/52403599/htdocs/ajouterMangas.php on line 74
Warning: Wrong parameter count for implode() in /mnt/web9/31/99/52403599/htdocs/ajouterMangas.php on line 75
Erreur : Column count doesn't match value count at row 1
Est ce quelqu'un pourrait bien m'éclairer sur le problème.Merci d'avance
A voir également:
- Problème formulaire php
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
4 réponses
Ta variable $champ pose problème
PAS
MAIS
de plus implode n'admet que 2 paramètres :
Cf http://fr.php.net/manual/fr/function.implode.php
PAS
foreach($_POST as $champs=>$valeur) { if($champ !
MAIS
foreach($_POST as $champs=>$valeur) { if($champs !
de plus implode n'admet que 2 paramètres :
implode(",",$champ_array);
Cf http://fr.php.net/manual/fr/function.implode.php
Merci pour ton aide, j'ai donc rechangé mon code:
Maintenant j'ai une autre erreur
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, resource given in /mnt/web9/31/99/52403599/htdocs/ajouterMangas.php on line 61
Warning: extract() [function.extract]: First argument should be an array in /mnt/web9/31/99/52403599/htdocs/ajouterMangas.php on line 62
Le manga suivant a été ajouté au catalogue:
* Editeur:
* Nom:
* Date Parution:
* Auteur:
* Fichier image:
* Description:
<?php /*Programme: ajoutermangas.php description: ajouter un nouvel article à la base de données, puis afficher un écran de confirmation.*/ if(@$_POST['neobouton']=="Annuler") { header("Lieu:selection.php"); } include("inf.php"); $cxn=mysql_connect(SERVER,LOGIN,MDP) or die ('Erreur : '.mysql_error()); mysql_select_db(BDD,$cxn) or die ('Erreur : '.mysql_error()); foreach($_POST as $champs=>$valeur) { if($champs !="neoNom" and $champs != "neobouton") { if($champs=="mangasTitre") { if($valeur=="nouveau") { if($_POST['neoNom']=="") { include("neoNom.inc"); exit(); } else { $valeur=$_POST['neoNom']; } } } if(!empty($valeur)) { $champs_form[$champs]=ucfirst(strtolower(strip_tags(trim($valeur)))); $champs_form[$champs]=mysql_real_escape_string($champs_form[$champ],$cxn); } } } ?> <html> <head><title>Ajout d'un produit</title> <link rel="shortcut icon" type="image/png" href="favicon.png" /> <LINK type="text/css" rel="stylesheet" href="styles.css"> </head> <body bgcolor="#9FB6CD"> <div id="conteneur"> <table class='page' border='0' cellspacing='0' cellpadding='0' width="800"> <tr align='center'style='background-image: url(fondbannbisajoutermangas.png)' height='256' width='800'> <td valign="top"> <BR><p class='soustitre'>Ajouter un manga</p></td> </tr> <tr align='center' style='background-image: url(fondid.png)' height='507'> <td> <?php $champ_array=array_keys($champs_form); $champs=implode(",",$champ_array); $valeurs=implode('","',$champs_form); $query="INSERT INTO mangas($champs) VALUES(\"$valeurs\")"; $result=mysql_query($query,$cxn) or die ('Erreur : '.mysql_error()); $mangasId=mysql_insert_id($cxn); $query="SELECT*FROM mangas WHERE mangasId='$mangasId'"; $result=mysql_query($query,$cxn) or die ('Erreur : '.mysql_error()); $row=mysqli_fetch_assoc($result); extract($row); $categorie=$mangasEditeur; echo"Le manga suivant a été ajouté au catalogue:<br> <ul> <li> Editeur: $categorie <li> Nom: $mangasTitre <li>Date Parution:$mangasDate <li>Auteur: $mangasAuteur <li>Fichier image: $mangasImage <li>Description: $mangasDescription\n"; echo"</ul> </td> </tr>"; echo"<tr align='center'style='background-image: url(fondrestebisajout.png)' height='217'> <td>"; echo "<a href='selection.php'class='type2'>Ajouter un autre manga</a> <br> <a href='choix.html'class='type2'>Revenir à l'interface d'administration</a>\n"; ?> </td> </tr> </table> </div> </body> </html>
Maintenant j'ai une autre erreur
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, resource given in /mnt/web9/31/99/52403599/htdocs/ajouterMangas.php on line 61
Warning: extract() [function.extract]: First argument should be an array in /mnt/web9/31/99/52403599/htdocs/ajouterMangas.php on line 62
Le manga suivant a été ajouté au catalogue:
* Editeur:
* Nom:
* Date Parution:
* Auteur:
* Fichier image:
* Description:
J'avais oublié de supprimer le i
Merci beaucoup
Bon maintenant, c'est bien plus de message d'erreurs.
C'est pas pour autant que ça marche.
voici ce qu'on m'indique:
Le manga suivant a été ajouté au catalogue:
* Editeur:
* Nom:
* Date Parution:0000-00-00
* Auteur:
* Fichier image:
* Description:
En fait, ça ne fait qu'auto incrémenter la BDD.
Vais voir ou j'ai commis une erreur
Merci beaucoup
Bon maintenant, c'est bien plus de message d'erreurs.
C'est pas pour autant que ça marche.
voici ce qu'on m'indique:
Le manga suivant a été ajouté au catalogue:
* Editeur:
* Nom:
* Date Parution:0000-00-00
* Auteur:
* Fichier image:
* Description:
En fait, ça ne fait qu'auto incrémenter la BDD.
Vais voir ou j'ai commis une erreur