Ajouter supprimer entrée d'une liste PHP

Fermé
titi - 31 mai 2011 à 14:25
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 - 31 mai 2011 à 14:47
Bonjour,
J'ai un problème avec mon code ><
Je peux en effet ajouter ou supprimer une entrée d'une liste d'un formulaire mais ... cela ne sauvegarde pas les changement ! Quand on quitte ou rafraîchi les valeurs de la liste sont les valeur initiale !
Pouvez-vous m'aider ?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
<!--
function ajouter(){
nouvel_element = new Option(document.formulaire.ip.value,document.formulaire.ip.value,false,false);
document.formulaire.liste.options[document.formulaire.liste.length] = nouvel_element;
document.formulaire.ip.value = "";
}
function effacer(){
for(yo=0;yo<document.formulaire.liste.length;yo++){
if(document.formulaire.liste.options[yo].selected == true){
document.formulaire.liste.options[yo] = null;
yo=yo-1;
}
}

}
//-->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>

<body>
<form action="index.php" method="post" name="formulaire">
<form name="index" action="index2.php" method="POST">



<table>
<tr><td>
<input type="text" name="ip" style="width:130">
</td></tR>
<tr><td>
<input type="button" value="Ajouter" style="width:130" onClick="ajouter()">
</td></tr>
<tr><td>
<select name="liste" size=10 multiple="MULTIPLE" style="width:130">
<option value="78">aaa</option>
<option value="41">zzz</option>
<option value="96">eee</option>
<option value="12">rrr</option>
<option value="54">ttt</option>
<option value="88">yyy</option>
<option value="56">uuu</option>
</select>
</td></tr>
<tr><td>
<input type="button" value="Supprimer" style="width:130" onClick="effacer()">
</td></tr>
</table>
</form>
</body>
</html>

Merci !

A voir également:

2 réponses

coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
31 mai 2011 à 14:30
Salut !

C'est ainsi que fonctionne PHP. Le programme redémarre à chaque chargement de la page.

Si tu veux transmettre tes données d'une page à l'autre, il va falloir utiliser des variables $_SESSION.

Si tu veux que les valeurs restent enregistrées même quand l'utilisateur quitte le navigateur, alorsa il va impérativement falloir des bases de données ; à la rigueur, pour certaines infos (courtes et non-confidentielles) tu peux utiliser des cookies. Mais dès que l'info devient longue ou importante, le mieux est une BDD.

J'espère que ça t'aide !
0
Jte remercie coeus !
Mais j'ai encore une petite question au sujet des BDD ! Bien évidement les réponses du formulaire sont envoyés dans une BDD. Mais les différentes valeurs de la listes , elles ne sont pas stockés dans la BDD ! Elles sont envoyés quand l'utilisateur la sélectionne.
0
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
31 mai 2011 à 14:47
Quelle est ta question ? Tu veux que ces valeurs restent "enregistrées" sans avoir à être stockées dans la BDD ?

Si c'est ça, alors tu peux utiliser des cookies pour ce genre de données, pas de problème ; c'est même mieux,m vu que chaque utilisateur aura probablement son propre "set" de données ; tu ne veux pas stocker autant de choses inutilement dans ta BDD !

Avis très personnel, je trouve que la gestion de cookies en PHP est instable. Peut-être que j'avais la mauvaise méthode... quoiqu'il en soit, j'ai l'habitude de recourir plutôt au Javascript pour ça. En plus, ça permet d'ajouter des paramètres onchange="" et onmouseup="" sur mes éléments de formulaire. Ainsi, le cookie est enregistré à chaque fois que la valeur de l'élément change, et non pas seulement quand le formulaire est envoyé.

Pour plus d'information que les cookies en JS
0

Discussions similaires