Insertion de données dans un tableau en php

superwish -  
 superwish -
Bonjour,
Dans le cadre d'un stage en entreprise, je dois pouvoir insérer des données provenant d'une liste déroulante et de zones de texte dans les cellules d'un tableau existant.
Mon code :
<?php
if ((($_POST['liste_nom'])=="") or (($_POST['liste_niveau'])=="") or (($_POST['montant'])=="") or (($_POST['nom'])==""))
echo "<script>alert('Vous devez remplir tous les champs pour ajouter une personne');</script>";
else
$clts[]=liste_niveau.text;
$clts[]=nom.text;
$clts[]=montant.text;
?>

liste_niveau est la liste déroulante.
nom et montant sont les deux zones de textes.
Merci d'avance pour votre aide.

2 réponses

  1. Groarh Messages postés 706 Statut Membre 185
     
    Bonsoir,

    je pense que tu confonds un peu PHP et JavaScript. Pour commencer, il faut bien séparer les choses : le JavaScript se déroule pendant la durée de vie d'une page, côté client ; le PHP se déroule sur le serveur, entre deux « vies » différentes de pages (ça peut être la même page).
    À moins que tu utilises Ajax, il y a forcément un rechargement de la page quand tu fais appel à PHP.

    C'est pourquoi, quand tu fais :
    echo "<script>alert('Vous devez remplir tous les champs pour ajouter une personne');</script>"; 

    le « alert » se produira juste après un rechargement de la page, et j'imagine que ce n'est pas ce que tu veux.

    Ensuite :
    $clts[]=liste_niveau.text; 

    Ici, je suppose que tu veux récupérer la valeur de liste_niveau, mais tu le fais façon JavaScript alors qu'il faudrait le faire en PHP. Utilise les données POST, comme tu le fais au-dessus :
    $clts[] = $_POST['liste_niveau'];


    Voilà, j'espère que ces quelques infos t'aideront ;)
    0
  2. superwish
     
    Bonjour,
    Je n'ai pas encore étudié le Javascipt, je ne savais pas que j'en utilisais ^^
    Je n'ai pas encore fais d'Ajax donc oui, l'alert se déroule à chaque fois que j'ouvre la page. Je pensais qu'avec la conditionnelle, ça se déroulerait que quand les champs étaient vides.
    J'ai utilisé les données POST comme tu me le dis :

    <?php
    if ((($_POST['liste_nom'])=="") or (($_POST['liste_niveau'])=="") or (($_POST['montant'])=="") or (($_POST['nom'])==""))
    echo "<script>alert('Vous devez remplir tous les champs pour ajouter une personne');</script>";
    else
    $clts[]=$_POST['liste_niveau'];
    $clts[]=$_POST['nom'];
    $clts[]=$_POST['montant'];
    ?>

    mais les données ne s'insèrent toujours pas dans le tableau. Quand je clique sur "Ajouter", elle s'effacent des zones de texte mais c'est tout :(
    0
    1. superwish
       
      C'est bon j'ai réussi à résoudre mon problème.
      Merci de l'aide quand même.
      0