Edition validée non valide
Résolu/Fermé
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
-
Modifié par Sinistrus le 26/09/2013 à 12:58
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 2 oct. 2013 à 15:54
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 2 oct. 2013 à 15:54
A voir également:
- Edition validée non valide
- Ethernet n'a pas de configuration ip valide - Guide
- Everest home edition - Télécharger - Informations & Diagnostic
- Adresse électronique non valide a2 ✓ - Forum Mail
- Macrium reflect 7 free edition - Télécharger - Sauvegarde
- Utilisateur non valide messenger ✓ - Forum Facebook Messenger
15 réponses
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
Modifié par Sinistrus le 2/10/2013 à 15:54
Modifié par Sinistrus le 2/10/2013 à 15:54
Merci à tous pour votre aide !
J'ai compris et corrigé le problème.
Dans mon select, il y a avait la dans la première
Lorsque j'ai supprimé le
Merci encore à tous !
J'ai compris et corrigé le problème.
Dans mon select, il y a avait la dans la première
<option selected="selected" disabled="disabled">
Lorsque j'ai supprimé le
disabled="disabled"tout a fonctionné a la perfection !
Merci encore à tous !
cocksipus
Messages postés
28
Date d'inscription
samedi 27 février 2010
Statut
Membre
Dernière intervention
26 septembre 2013
22
26 sept. 2013 à 13:17
26 sept. 2013 à 13:17
slt et comment recupère tu ta variable $NumID ?
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
Modifié par Sinistrus le 26/09/2013 à 13:42
Modifié par Sinistrus le 26/09/2013 à 13:42
Voici mon code auparavant :
Mais j'avais un problème sur
J'ai dû supprimer des lignes pour voir ce que cela donne et voilà :s
<?php
if (mysql_num_rows($r)==0) { header("location: index.php"); exit(); } $login = mysql_result($r,0,"Code");
if (isset($_POST["action"]) && $_POST["action"] == "send"){
if (empty($_GET["NumId"])) {header("location: index.php"); exit();}
$idadmin = $_GET["NumId"];
$r = mysql_query("SELECT * FROM tb_produits_fr WHERE NumId='$NumId';");
$Code = $_POST["Code"];
$Designation = $_POST["Designation"];
$Famille = $_POST["Famille"];
$Marque = $_POST["Marque"];
$r = mysql_query("UPDATE tb_produits_fr SET
Code='$Code',
Designation='$Designation',
Famille='$Famille',
Marque='$Marque'
WHERE NumId='$NumId';");
echo '<div class="Message">L\'enregistrement a été exécuté avec succès.</div><script type="text/javascript">window.setTimeout("location=(\'index.php\');",1000)</script>';
exit();}
?>
Mais j'avais un problème sur
if (empty($_GET["NumId"])) {header("location: index.php"); exit();}et même si je met une redirection en java, ca ne passe toujours pas.
J'ai dû supprimer des lignes pour voir ce que cela donne et voilà :s
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
26 sept. 2013 à 16:28
26 sept. 2013 à 16:28
J'ai aussi essayé ceci mais ça ne passe toujours pas. Je ne comprends plus rien !
<?php
if(isset($_POST['Code'])) $Code = $_POST["Code"]; else $Code="";
if(isset($_POST['Designation'])) $Designation = $_POST["Designation"]; else $Designation="";
if(isset($_POST['Famille'])) $Famille = $_POST["Famille"]; else $Famille="";
if(isset($_POST['Marque'])) $Marque = $_POST["Marque"]; else $Marque="";
if(isset($_POST['Description'])) $Description = $_POST["Description"]; else $Description="";
if(isset($_POST['ModeEmploi'])) $ModeEmploi = $_POST["ModeEmploi"]; else $ModeEmploi="";
if(isset($_POST['Principe'])) $Principe = $_POST["Principe"]; else $Principe="";
if(isset($_POST['Contenance'])) $Contenance = $_POST["Contenance"]; else $Contenance="";
if(isset($_POST['Type'])) $Type = $_POST["Type"]; else $Type="";
if(isset($_POST['TypeMode'])) $TypeMode = $_POST["TypeMode"]; else $TypeMode="";
if(isset($_POST['Image'])) $Image = $_POST["Image"]; else $Image="";
if(isset($_POST['Menu'])) $Menu = $_POST["Menu"]; else $Menu="";
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Erreur de connexion '.mysql_error());
mysql_select_db(MYSQL_BASE,$db) or die('Erreur de selection '.mysql_error());
mysql_query("SET NAMES 'utf8'");
$sql = mysql_query("SELECT * FROM tb_produits_fr WHERE NumId='$NumId';");
$sql = "UPDATE tb_produits_fr SET Code='$Code', Designation='$Designation', Famille='$Famille', Marque='$Marque', Description='$Description', Mode_Emploi='$ModeEmploi', Principe_actif='$Principe', Contenance='$Contenance', Type_Mode='$TypeMode', Image='$Image', Miniature='$Image.\"_mini\"', Menu='$Menu' WHERE NumId='$NumId'";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo "<div class='Message'>Enregistré !</div>";
mysql_close(); ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 oct. 2013 à 11:58
1 oct. 2013 à 11:58
Personne pour m'aider ?
Utilisateur anonyme
1 oct. 2013 à 13:43
1 oct. 2013 à 13:43
Bonjour
1 - ta ligne
2 - As-tu essayé d'afficher ta requête avent de l'exécuter ? Il semble que ta variable $NimId ne soit pas initialisée comme te l'a fait remarquer cocksipus. Tu as écrit
1 - ta ligne
$sql = mysql_query("SELECT * FROM tb_produits_fr WHERE NumId='$NumId';");ne sert strictement à rien, tu ne tiens aucun compte du résultat.
2 - As-tu essayé d'afficher ta requête avent de l'exécuter ? Il semble que ta variable $NimId ne soit pas initialisée comme te l'a fait remarquer cocksipus. Tu as écrit
$idadmin = $_GET["NumId"];mais cela initialise $idadmin, pas $NumId
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 oct. 2013 à 14:05
1 oct. 2013 à 14:05
Merci le père. Je "pense" que c'est réglé...
Mais je rencontre un problème :
Il ne s'enregistre pas dans la table...
Mais je rencontre un problème :
if(isset($_POST['Famille'])) $Famille = $_POST["Famille"]; else $Famille="";Est une liste déroulante.
Il ne s'enregistre pas dans la table...
Utilisateur anonyme
Modifié par le père. le 1/10/2013 à 14:10
Modifié par le père. le 1/10/2013 à 14:10
Quel est le code du formulaire, en ce qui concerne "Famille" (code du <SELECT><OPTION>) ? Ce n'est pas parce que c'est une liste déroulante que sa valeur ne doit pas d'enregistrer
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 oct. 2013 à 14:19
1 oct. 2013 à 14:19
Page editer.php
page confirmer.php
<?php $sqlFam = 'SELECT * FROM tb_produits_fr GROUP BY Famille'; $reqFam = mysql_query($sqlFam) or die('Erreur SQL !<br>'.$sqlFam.'<br>'.mysql_error()); ?>
<select name="Famille" id="Famille" style="width:100%">
<option selected="selected" disabled="disabled"><?php echo utf8_encode($datafr['Famille']); ?></option><option disabled="disabled">----------</option>
<?php while($dataFam = mysql_fetch_assoc($reqFam)){ echo "<option>".utf8_encode($dataFam['Famille'])."</option>"; } ?>
</select>
page confirmer.php
<?php
mysql_query("SET NAMES 'utf8'");
if(isset($_POST['Code'])) $Code = $_POST["Code"]; else $Code="";
if(isset($_POST['Famille'])) $Famille = $_POST["Famille"]; else $Famille="";
mysql_query("SET NAMES 'utf8'");
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Erreur de connexion '.mysql_error());
mysql_select_db(MYSQL_BASE,$db) or die('Erreur de selection '.mysql_error());
$NumId = $_GET["NumId"];
mysql_query("SET NAMES 'utf8'");
$sql = 'UPDATE tb_produits_fr SET Code="$Code", Designation="$Designation", Famille="$Famille", Marque="$Marque", Description="$Description", Mode_Emploi="$ModeEmploi", Principe_Actif="$Principe", Contenance="$Contenance", Type_Mode="$TypeMode", Image="$Image", Miniature="$Image\"_mini\"", Menu="$Menu" WHERE NumId="$NumId"';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo "<div class='Message'>Enregistré !</div><script type='text/javascript'>window.setTimeout('location=(\'index.php\');',100)</script>";
mysql_close(); ?>
Utilisateur anonyme
1 oct. 2013 à 16:26
1 oct. 2013 à 16:26
Ton SELECT à l'air correct, mais on ne sait pas avec ce que tu montres s'il est bien à l'intérieur du Form
Pour être sûr, ajoute
print_r ($_POST);
au début de confirmer.php
Pour être sûr, ajoute
print_r ($_POST);
au début de confirmer.php
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 oct. 2013 à 17:20
1 oct. 2013 à 17:20
il me renvois effectivement toutes les données.
Famille = A42 (par exemple)
Mais il n'enregistre pas dans ma base...
Famille = A42 (par exemple)
Mais il n'enregistre pas dans ma base...
Utilisateur anonyme
1 oct. 2013 à 17:26
1 oct. 2013 à 17:26
Avec cette requête là :
Ta version du message #3 était meilleure.
$sql = 'UPDATE tb_produits_fr SET Code="$Code", Designation="$Designation", Famille="$Famille", Marque="$Marque", Description="$Description", Mode_Emploi="$ModeEmploi", Principe_Actif="$Principe", Contenance="$Contenance", Type_Mode="$TypeMode", Image="$Image", Miniature="$Image\"_mini\"", Menu="$Menu" WHERE NumId="$NumId"';Il ne doit rien t'enregistrer du tout, ni la famille ni le reste, tu as inversé les ' et les " (connais-tu leur différence en PHP ?)
Ta version du message #3 était meilleure.
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 oct. 2013 à 18:12
1 oct. 2013 à 18:12
Oula ! non sérieusement je n'arrives plus a comprendre ce qui se passe.
La
Avec ce code :
Ce qui me paraît bizarre, c'est que les textbox s'enregistre, mais de tous les select, seul Menu s'enregistre... (donc le dernier de la liste)..
J'ai bien regardé les name="" et "normalement" tout est en ordre du côté de editer.php
Vous avez une idée ?
La
Marque,
Famille,
Type,
Type2,
TypeMode,
TypeMode2et
Menusont des <select>
Avec ce code :
<?phpJe confirme l'envois de editer.php
$NumId = $_GET["NumId"];
mysql_query("SET NAMES 'utf8'");
if(isset($_POST['Code'])) $Code = strtoupper($_POST["Code"]); else $Code="";
if(isset($_POST['Designation'])) $Designation = mysql_real_escape_string(htmlspecialchars($_POST["Designation"])); else $Designation="";
if(isset($_POST['Designation2'])) $Designation2 = mysql_real_escape_string(htmlspecialchars($_POST["Designation2"])); else $Designation2="";
if(isset($_POST['Famille'])) $Famille = $_POST["Famille"];else $Famille="";
if(isset($_POST['Marque'])) $Marque = $_POST["Marque"];else $Marque="";
if(isset($_POST['Description']))$Description = mysql_real_escape_string(htmlspecialchars($_POST["Description"])); else $Description="";
if(isset($_POST['Description2']))$Description2 = mysql_real_escape_string(htmlspecialchars($_POST["Description2"])); else $Description2="";
if(isset($_POST['ModeEmploi'])) $ModeEmploi = mysql_real_escape_string(htmlspecialchars($_POST["ModeEmploi"])); else $ModeEmploi="";
if(isset($_POST['ModeEmploi2'])) $ModeEmploi2 = mysql_real_escape_string(htmlspecialchars($_POST["ModeEmploi2"])); else $ModeEmploi2="";
if(isset($_POST['Principe'])) $Principe = mysql_real_escape_string(htmlspecialchars($_POST["Principe"])); else $Principe="";
if(isset($_POST['Principe2'])) $Principe2 = mysql_real_escape_string(htmlspecialchars($_POST["Principe2"])); else $Principe2="";
if(isset($_POST['Type'])) $Type = $_POST["Type"]; else $Type="";
if(isset($_POST['Type2'])) $Type2 = $_POST["Type2"]; else $Type2="";
if(isset($_POST['TypeMode'])) $TypeMode = htmlspecialchars($_POST["TypeMode"]);else $TypeMode="";
if(isset($_POST['TypeMode2'])) $TypeMode2 = htmlspecialchars($_POST["TypeMode2"]);else $TypeMode2="";
if(isset($_POST['Contenance'])) $Contenance = strtoupper(htmlspecialchars($_POST["Contenance"])); else $Contenance="";
if(isset($_POST['Image'])) $Image = strtoupper(htmlspecialchars($_POST["Image"])); else $Image="";
if(isset($_POST['Image'])) $Miniature = strtoupper(htmlspecialchars($_POST["Image"]))."_mini"; else $Miniature="";
if(isset($_POST['Menu'])) $Menu = $_POST["Menu"];else $Menu="";
mysql_query("SET NAMES 'utf8'");
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Erreur de connexion '.mysql_error());
mysql_select_db(MYSQL_BASE,$db) or die('Erreur de selection '.mysql_error());
mysql_query("SET NAMES 'utf8'");
$sql = "UPDATE tb_produits_fr SET Code='$Code', Designation='$Designation', Famille='$Famille', Marque='$Marque', Description='$Description', Mode_Emploi='$ModeEmploi', Principe_actif='$Principe', Contenance='$Contenance', Type_Mode='$TypeMode', Image='$Image', Miniature='$Miniature', Menu='$Menu' WHERE NumId='$NumId'";
$sql = "UPDATE tb_produits_en SET Code='$Code', Designation='$Designation2', Famille='$Famille', Marque='$Marque', Description='$Description2', Mode_Emploi='$ModeEmploi2', Principe_actif='$Principe2', Contenance='$Contenance', Type_Mode='$TypeMode2', Image='$Image', Miniature='$Miniature', Menu='$Menu' WHERE NumId='$NumId'";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo "<div class='Message'>Enregistré !</div><script type='text/javascript'>window.setTimeout('location=(\'editer.php?NumId=1\');',1000)</script>";
mysql_close(); ?>
Ce qui me paraît bizarre, c'est que les textbox s'enregistre, mais de tous les select, seul Menu s'enregistre... (donc le dernier de la liste)..
J'ai bien regardé les name="" et "normalement" tout est en ordre du côté de editer.php
Vous avez une idée ?
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 oct. 2013 à 18:28
1 oct. 2013 à 18:28
Ah ! j'ai compris d'où vient le problème...
Voici mon select :
Il récupère la valeur qui existe dans la table en ligne 1
Ensuite en ligne 2 il y a la séparation ----------
Et enfin en ligne 3 il y a la liste de tout le contenu du select (au choix)
Lorsque la ligne 1 (donc la valeur de la table) est sélectionné, il édite.
Lorsque la ligne 3+ est sélectionnée, il n'enregistre pas...
Donc il faut récupérer dans le
Etant certain que c'est de là que vient le problème, je relance mon poste #6
Comment récupérer dans le $_POST l'ID du select ?
Voici mon select :
<?php $sqlMen = 'SELECT * FROM tb_produits_fr GROUP BY Menu'; $reqMen = mysql_query($sqlMen) or die('Erreur SQL !<br>'.$sqlMen.'<br>'.mysql_error()); ?>
<select name="Menu" id="Menu" style="width:100%" onchange="MonSelect();">
<option selected="selected" disabled="disabled"><?php echo utf8_encode($datafr['Menu']); ?></option>
<option disabled="disabled">----------</option>
<?php while($dataMen = mysql_fetch_assoc($reqMen)){ echo "
<option value=".$dataMen['Menu'].">".$dataMen['Menu']."</option>
"; } ?>
</select>
Il récupère la valeur qui existe dans la table en ligne 1
Ensuite en ligne 2 il y a la séparation ----------
Et enfin en ligne 3 il y a la liste de tout le contenu du select (au choix)
Lorsque la ligne 1 (donc la valeur de la table) est sélectionné, il édite.
Lorsque la ligne 3+ est sélectionnée, il n'enregistre pas...
Donc il faut récupérer dans le
$_POST['Menu']l'ID du select je pense...
Etant certain que c'est de là que vient le problème, je relance mon poste #6
Comment récupérer dans le $_POST l'ID du select ?
Utilisateur anonyme
1 oct. 2013 à 21:04
1 oct. 2013 à 21:04
L'id est ignoré dans l'envoi des formulaires, c'est la propriété "name" qui est utilisée pour nommer les champs envoyés. Personne n'a jamais eu besoin de l'id à ce niveau-là.
Je t'ai déjà demandé de faire print_r($_POST) au début de confirmer.php. Peux-tu faire un copier-coller COMPLET de ce qu'affiche ce print_r ?
Je t'ai déjà demandé de faire print_r($_POST) au début de confirmer.php. Peux-tu faire un copier-coller COMPLET de ce qu'affiche ce print_r ?