Page 1 sur 1

Ajout et supression de données dans un tableau ( array)

Posté : 12 mars 2013, 17:10
par jibehem
Bonjour,

Débutant en PHP, je suis chargé de faire un script pour un tirage au sort de participant à des confèrence. J'ai réalisé une partie du script qui fonctionne, mais on me demande en plus de pouvoir ajouter ou retirer un participant de la liste. J'ai écrit un script qui ne fonctionne pas, et je cherche une solution, mais j'ai besoin d'aide.

Je joint les deux scripts

le premier qui fonctionne :

Code : Tout sélectionner

<script type="text/javascript"> function showtable(id) { document.getElementById(id).style.display = "table"; } function showrow(id) { document.getElementById(id).style.display = "table-row"; } </script> <script type="text/javascript" src="http://script.aculo.us/prototype.js"></script> <script type="text/javascript" src="http://script.aculo.us/scriptaculous.js"></script> <script type="text/javascript"> function montrerCacher(id_element) { if($(id_element).style.display == 'none') { Effect.BlindDown(id_element); return false; } else { Effect.BlindUp(id_element); return false; } } </script> </head> <body> <form method="post" action="formAjout.php"> <p>Saisissez le nom et prenom d'un(e) nouvel(le) intervenant(e) <br> <label>ici : </label><input type="text" name="nom"> </form> <p>Les <b>Candidats Orateurs </b>potentiels au prochain s&eacute;minaire interne sont : <br /></p> <p> <?php $noms = array("<b>Annick Breton", "Anne Devin", "Sonia Dheur", "Jean-Paul Di Rago", "Jean-Paul Javerzat", "Sabine Vaur", "Nicole Averet", "Christophe Cullin", "Jose Eduardo Gomes", "Ioan Lascu", "Guy Lauquin", "Christelle Marchal", "Michel Moenner", "Frederique Ness", "Stephane Ransac", "Michel Rigoulet", "Marina Lamacchia", "Emilie Montembault", "Khalid Salamat", "Nadir Seddiki", "Sylvain Tollis"<b>); foreach($noms as $valeur){ echo "$valeur <br/>"; } echo "</p>"; $MonNombre = rand(0, count($noms)-1); ?> <p>Le prochain intervenant est ... <b> <span onclick="montrerCacher('article_1');">cliquez ici pour voir</span> <div style="display: none; font-size: 30px;" id="article_1"> <?php echo "$noms[$MonNombre]"; ?>
et le second, qui lui ne fonctionne pas, du moins le fait de rajouter un intervenant :

Code : Tout sélectionner

<style type="text/css"> table { display: table; } tr.annu { display: table-row; } </style> <script type="text/javascript"> function showtable(id) { document.getElementById(id).style.display = "table"; } function showrow(id) { document.getElementById(id).style.display = "table-row"; } </script> <script type="text/javascript" src="http://script.aculo.us/prototype.js"></script> <script type="text/javascript" src="http://script.aculo.us/scriptaculous.js"></script> <script type="text/javascript"> function montrerCacher(id_element) { if($(id_element).style.display == 'none') { Effect.BlindDown(id_element); return false; } else { Effect.BlindUp(id_element); return false; } } </script> </head> <body> <form method="post" action="formAuthen.php"><!--Ce formulaire permet à l'user de se connecter pour pouvoir ajouter une nouvelle entrée --> <p>Pour modifier la liste des intervenants, veuillez entrer votre identifiant et votre mot de passe<br> <label for="ident">Identifiant </label><input type="text" name="ident" id="ident" autofocus/><br> <label for="password">Mot de passe </label><input type="password" name="password" id="password"/><br> <input type="submit" value="Hop !"> </form> </form> <form method="get" action="tirage2.php"><!--Ce formulaire permet à l'user d'ajouter une nouvelle entrée --> <p>Saisissez le nom et prenom d'un(e) nouvel(le) intervenant(e) <br> <label for="nom">ici : </label><input type="text" name="nom" id="ajoutNom" placeholder="ex : Pr&eacute;nom Nom"/><br> <input type="submit" value="Et hop!"/> </form> <p>Les <b>Candidats Orateurs </b>potentiels au prochain s&eacute;minaire interne sont : <br /></p> <p> <?php//ajout d'un nouvel intervenant if($ajoutNom!="") { $noms = array("<b>Annick Breton", "Anne Devin", "Sonia Dheur", "Jean-Paul Di Rago", "Jean-Paul Javerzat", "Sabine Vaur", "Nicole Averet", "Christophe Cullin", "Jose Eduardo Gomes", "Ioan Lascu", "Guy Lauquin", "Christelle Marchal", "Michel Moenner", "Frederique Ness", "Stephane Ransac", "Michel Rigoulet", "Marina Lamacchia", "Emilie Montembault", "Khalid Salamat", "Nadir Seddiki", "Sylvain Tollis"<b>); $noms[]=$ajoutNom;//ajout d'un intervenant suplementaire else $noms = array("<b>Annick Breton", "Anne Devin", "Sonia Dheur", "Jean-Paul Di Rago", "Jean-Paul Javerzat", "Sabine Vaur", "Nicole Averet", "Christophe Cullin", "Jose Eduardo Gomes", "Ioan Lascu", "Guy Lauquin", "Christelle Marchal", "Michel Moenner", "Frederique Ness", "Stephane Ransac", "Michel Rigoulet", "Marina Lamacchia", "Emilie Montembault", "Khalid Salamat", "Nadir Seddiki", "Sylvain Tollis"<b>); foreach($noms as $valeur) { echo "$valeur <br/>"; } } echo "</p>"; $MonNombre = rand(0, count($noms)-1); ?> <p>Le prochain intervenant est ... <b> <span onclick="montrerCacher('article_1');">cliquez ici pour voir</span> <div style="display: none; font-size: 30px;" id="article_1"> <?php echo "$noms[$MonNombre]"; ?>
merci de votre aide...

Re: Ajout et supression de données dans un tableau ( array)

Posté : 12 mars 2013, 17:41
par xTG
Il y a un gros souci avec ton script.
Tu ne sauvegardes rien. :|

Si tu veux garder ta liste sur la durée il te faut un fichier ou une base de données pour stocker ta liste.

Concernant ton script il risque en effet de ne pas fonctionner suivant la configuration du serveur.
Pour récupérer une variable d'un formulaire il vaut mieux scruter les variables super-globales : $_GET, $_POST.
Dans ton cas ce n'est donc pas $ajoutNom mais $_GET['nom'] qu'il faut regarder.
Et vu que la variable peut ne pas exister il faut utiliser un test d'existence comme isSet($_GET['nom']).

Re: Ajout et supression de données dans un tableau ( array)

Posté : 12 mars 2013, 18:16
par Invité
Ok, merci.

Etant débutant je vais chercher dans le manuel et essayer de m'en sortir avec tes recommendations. En tout cas je te remercie de t'êtres penché sur mon souci.

PS : je pensais que une fois le tableau (array renseigné en dur sur la page, l'info stocké pouvait persiter d'une session à l'autre, et ainsi éviter l'emploi d'une base de données.

Re: Ajout et supression de données dans un tableau ( array)

Posté : 12 mars 2013, 18:36
par xTG
Alors oui il est possible de mettre en place un mécanisme de session.
Cette session est stockée côté serveur et est identifiée côté client (navigateur) grâce à un cookie.

Tu peux après déclaration de cette session y stocker des variables et donc conserver ton array.
http://www.php.net/manual/fr/book.session.php

Sinon pour toute autre variable elle n'existe que le temps d'exécuter le script.
Pour faire simple, lorsque ta page s'affiche cette variable n'existe même plus !

Re: Ajout et supression de données dans un tableau ( array)

Posté : 13 mars 2013, 00:11
par Invité
merci de ton aide précieuse.