Warning php

Fermé
obi1 Messages postés 26 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 18 août 2013 - 30 avril 2007 à 13:47
obi1 Messages postés 26 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 18 août 2013 - 3 mai 2007 à 17:30
J'ai un problème avec php

Je voudrais utiliser une boucle pour faire afficher autant de fois possible des champs de saisies

en fait, quand un utilisateur accède a cette page, il doit saisir le nombre d'amis qu'il doit envoyer le message
après il clique sur un bouton, qui fera apparaitre les champ ( nom et mail) autant de fois que le nombre saisi auparavant

mais j'ai beau essayé en combinant php et html mais sans succes

aidé moi please

3 réponses

s.spark Messages postés 2485 Date d'inscription vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 618
30 avril 2007 à 14:31
Salut,
<?php
$nombre_de_champs="5";

for ($ID_de_champs = 1; $ID_de_champs <= $nombre_de_champs; $ID_de_champs++)
{
echo "<label for=\"ami_" . $ID_de_champs . "\">Pseudo ami " . $ID_de_champs . ": <input type=\"text\" name=\"ami_" . $ID_de_champs . "\" id=\"ami_" . $ID_de_champs . "\"  /></label><br />\n<label for=\"mail_" . $ID_de_champs . "\">Email Ami " . $ID_de_champs . ": <input type=\"text\" name=\"mail_" . $ID_de_champs . "\" id=\"mail_" . $ID_de_champs . "\"  /></label><br /><br />\n\n";
}
?>

0
Hello
Si je comprend bien, tu as une page 1 où on choisi le nombre de destinataires, on clique et on accede à X fois la page 2 de saisie des adresses. Ce que je ferais, si ta premiere page envoie le nombre de destinataires par un formulaire :

dans la page 1, je suppose que le nb est saisi dans un
echo "<input name=\"nombre\" />";

à partir de là, dans la page 2, en debut de page, tu fais un
$nb=$_POST["nombre"];

pour recuperer ce nombre dans une variable.
Ensuite, tu mets ta saisie, puis ces 2 lignes :
$nb=$nb-1;
echo "<input type=\"hidden\" name=\"nombre\" value=\"".$nb."\"/>";

Il faut que les 2 input aient le meme nom. le deuxieme est invisible pour l'utilisateur, mais renvoie à chaque fois le nb restant à afficher. Tu n'as alors plus qu'à rajouter en bas de ta page une boucle
if($nb!=0){
lien vers cette meme page
}else{
lien vers une autre page pour mettre fin à la boucle
}


bon, avec cette methode, tu dois faire en sorte d'envoyer en debut de chaque lancement de la page2, l'operation voulue avec le mail provenant du formulaire de la page precedente, mais tu peux aussi faire un autre champ "hidden" contenant une liste des adresses et noms selectionnés, separés par un caractere special, et sur une troisieme page, tu decomposeras cette chaine de mails dans un while en les envoyant à chaque passage.

Apres, tu peux aussi faire un truc plus simple : ta page 2 affiche autant de lignes que de destinataires, grace à une boucle. pour les input, tu leur donne :
name=\"mail".$i."\"
$i etant une variable de compteur pour la boucle generant ton formulaire. meme principe pour recuperer les valeurs en page suivante :
$_POST["mail".$i] dans ta boucle de reception. comme sa, tu as mail1, mail2, etc...

apres, si tu connais pas gd chose au php et aux formulaires, c un tout autre probleme^^
0
obi1 Messages postés 26 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 18 août 2013 7
3 mai 2007 à 17:30
merci

je vais essayé
0