8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai un backoffice qui permet d'alimenter une boucle. L'envoie de "news" fonctionne. J'ai un bouton "Edit" qui me permet de modifier mes "news". Dans mes champs type text cela me rapporte les infos marqué lors de l'envoie. Tout fonctionne! Sauf que j'ai voulu changer un type texte en "radio" et un autre en "select". Donc pour récupérer le radio cliqué ou le select cliqué j'ai un petit soucis...

Quelqu'un peut-il m'aider?

Visuellement ça donnerait cela.

upload/59559-Capturedan.png

J'ai une page modif.php et une page modif_suite.php

modif.php

<?php

include "header.php";

$id = $_GET['id'];

$selection = mysqli_query($lien,"SELECT * FROM produits WHERE ID=$id");
$ligne = mysqli_fetch_array($selection);


$type = $ligne['TYPE'];
$nom = $ligne['NOM'];
$promo = $ligne['PROMO'];

?>

<h1>Modification d'un film</h1>

<form method="POST" action="modif_suite.php">

<label for="TYPE">TYPE</label>
<select name="TYPE" id="TYPE"> 
<option value="Déco">Déco</option>
<option value="Jardin">Jardin</option>
<option value="Piscine">Piscine</option>

</select><br />
<label for="NOM">NOM</label><input type="text" id="NOM" name="NOM"
value="<?php echo $titre; ?>" /><br />
<label for="PROMO">PROMO</label>
<input type="radio" name="PROMO" value="Oui" id="PROMO" /> <label for="Oui">Oui</label>
<input type="radio" name="PROMO" value="Non" id="PROMO" /> <label for="Non">Non</label><br />
<br />
<input type="submit" value="Enregistrer" />
</form>


<?php include "footer.php"; ?>


modif_suite.php

<?php
 
include "header.php";
 
$id = $_POST['ID'];
 
$type = $_POST['TYPE'];
$nom = $_POST['NOM'];
$promo = $_POST['PROMO'];
 
mysqli_query($lien,"UPDATE produits SET TYPE=\"$type\",NOM=\"$nom\",PROMO=\"$promo\" WHERE ID=$id");
 
?>

<h1>Modification d'un produit</h1>
 
<p class="alerte">La modification de cette fiche est bien enregistrée</p>
 
<?php include "footer.php"; ?>


MERCI Smiley smile
Salut,

est ce que c'est pas parce que ton ID et NAME de ta type radio ont le même nom ?
JENCAL a écrit :
Salut,

est ce que c'est pas parce que ton ID et NAME de ta type radio ont le même nom ?


Non car quand je le récupère en text area ça fonctionne... Smiley cligne

Merci
array(3) { ["ID"]=> string(1) "2" ["TYPE"]=> string(4) "Jard" ["NOM"]=> string(13) "nom nomnom" }


:)
Modifié par grmber (05 Aug 2015 - 12:02)
C'est curieux

["TYPE"]=> string(4) "Jard"


Tu n'a pas le type Jard

<option value="Déco">Déco</option>
<option value="Jardin">Jardin</option>
<option value="Piscine">Piscine</option>


Et
["NOM"]=> string(13) "nom nomnom"

13? j'en compte 10.

tu fais appel à header.php. Tu n'a rien dedans qui pourrait foutre le bordel dans le Post ?
Modifié par JENCAL (05 Aug 2015 - 14:14)
Ce sont des valeurs que j'ai mis au hasard Smiley smile mais elles étaient bonnes sur mon truc!

Non juste le header html.

Je pense qu'il faut rajouter un truc mais quoi? Telle est la question! Smiley smile Merci
En testant ton code tel quel, je récupère bien toutes les valeurs des champs, y compris celles du select et du radio.
La seule chose que je vois dans ton code qui n'est pas correcte, c'est le doublon d'ID sur tes 2 input radio.
Un ID doit être unique.

Essaie peut etre en retirant cette erreur mais je doute car de mon coté ça passe quand même avec l'erreur d'ID ( et je pense pas que php utilise l'ID )


<label>PROMO</label>
<input type="radio" name="PROMO" value="Oui" id="PROMO1" /> <label for="PROMO1">Oui</label>
<input type="radio" name="PROMO" value="Non" id="PROMO2" /> <label for="PROMO2">Non</label><br />

Modifié par SpiStache (07 Aug 2015 - 16:40)