Création de formulaire -champs automatique-
Résolu/Fermé
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
-
28 juil. 2008 à 16:48
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 - 31 juil. 2008 à 12:09
-CCM- Messages postés 927 Date d'inscription mercredi 28 mai 2008 Statut Membre Dernière intervention 16 juin 2013 - 31 juil. 2008 à 12:09
A voir également:
- Création de formulaire -champs automatique-
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Creation compte gmail - Guide
- Formulaire de réclamation facebook - Guide
- Message automatique thunderbird - Guide
- Création compte google - Guide
17 réponses
internetasso
Messages postés
1054
Date d'inscription
jeudi 25 octobre 2007
Statut
Membre
Dernière intervention
30 juin 2013
177
Modifié par crapoulou le 27/09/2010 à 21:24
Modifié par crapoulou le 27/09/2010 à 21:24
AFFICHER UNE LISTE DÉROULANTE EN FONCTION D'UNE AUTRE SANS RECHARGER LA PAGE.
http://www.comscripts.com/scripts/php.combobox-avec-ajax.1888.html
La création d'un site commence par la réflexion de son devenir...
http://www.comscripts.com/scripts/php.combobox-avec-ajax.1888.html
La création d'un site commence par la réflexion de son devenir...
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
28 juil. 2008 à 17:56
28 juil. 2008 à 17:56
salut,
si tu veux y comprendre quelque chose, mieux vaut peut être un tuto.
si tu veux y comprendre quelque chose, mieux vaut peut être un tuto.
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
29 juil. 2008 à 09:57
29 juil. 2008 à 09:57
je regarde sa de près, ce n'est pas faisable en php ?
MErci
MErci
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
29 juil. 2008 à 10:14
29 juil. 2008 à 10:14
ps: le script est payant :(
sinon j'ai trouver un script ici http://www.editeurjavascript.com/scripts/scripts_formulaires_3_167.php
sinon j'ai trouver un script ici http://www.editeurjavascript.com/scripts/scripts_formulaires_3_167.php
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
29 juil. 2008 à 11:44
29 juil. 2008 à 11:44
beaucoup plus compliqué maintenant... (enfin beaucoups plus compliqué pour moi)
J'ai reussi a faire apparaitre mes deux listes déroulantes une en fonction de l'autre .. tout va bien ,merci ;)
Maintenant ce que je souhaite réaliser c'est :
les valeurs de ma listes déroulantes ne douvent pas être entré en dur dans le code de cette manière :
script
//fruits
liste[1] = new Array("banane","pomme","poire");
liste[2] = .....;
body
<SELECT id=listeA onchange=changeliste() name=listeA>
<OPTION value=1> Fruits </OPTION>
<OPTION value=2> Légumes </OPTION>
<OPTION value=3> plats </OPTION>
<OPTION value=4> boissons </OPTION>
<OPTION value=5> vins </OPTION>
</SELECT>
<A id=listeB_div><SELECT id=listeB name=listeB>
mais plutôt par lecture de dossier,
script
//fruits
liste[1] = "une fonction qui va parcourir le dossier fruits et afficher les tout les répertoires enfants";
......
//vins
liste[5] = "une fonction qui va parcourir le dossier fruits et afficher les tout les répertoires";
Ma fonction delistage sera surement celle ci : https://phpsources.net/code/php/fichiers-repertoires/119_lister-un-repertoire-par-ordre-alphabetique-en-php ..
J'ai juste du mal a faire l'imbrication des fonction (l'appel de la fonction listé repertoires via la fonction change liste ).
J'ai reussi a faire apparaitre mes deux listes déroulantes une en fonction de l'autre .. tout va bien ,merci ;)
Maintenant ce que je souhaite réaliser c'est :
les valeurs de ma listes déroulantes ne douvent pas être entré en dur dans le code de cette manière :
script
//fruits
liste[1] = new Array("banane","pomme","poire");
liste[2] = .....;
body
<SELECT id=listeA onchange=changeliste() name=listeA>
<OPTION value=1> Fruits </OPTION>
<OPTION value=2> Légumes </OPTION>
<OPTION value=3> plats </OPTION>
<OPTION value=4> boissons </OPTION>
<OPTION value=5> vins </OPTION>
</SELECT>
<A id=listeB_div><SELECT id=listeB name=listeB>
mais plutôt par lecture de dossier,
script
//fruits
liste[1] = "une fonction qui va parcourir le dossier fruits et afficher les tout les répertoires enfants";
......
//vins
liste[5] = "une fonction qui va parcourir le dossier fruits et afficher les tout les répertoires";
Ma fonction delistage sera surement celle ci : https://phpsources.net/code/php/fichiers-repertoires/119_lister-un-repertoire-par-ordre-alphabetique-en-php ..
J'ai juste du mal a faire l'imbrication des fonction (l'appel de la fonction listé repertoires via la fonction change liste ).
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
29 juil. 2008 à 12:02
29 juil. 2008 à 12:02
j'arrive donc a faire le changement de valeur en fonction de ma liste déroulante ...voici en gros mon code
script
body
Ce que je souhaite réalisé maintenant est un peu plus complexe, au lieu d'inscrire en dur les valeur de mes new array dans mon code, je veu que ces valeur soit en variables, elle correspondrons aux sous repertoires trouvées dans les répertoires fruits, legumes ou boissons ...
je pense utiliser ce code pour le listage de répértoires : https://phpsources.net/code/php/fichiers-repertoires/119_lister-un-repertoire-par-ordre-alphabetique-en-php
Comment imbriquer les deux fonctions ??
merci
script
liste=new Array(); liste[1] = new Array("bananes","pomme"); liste[2] = new Array("tomate","carottes"); liste[3] = new Array("eau","vin"); //fonction pour le changement de valeur de la deuxième liste déroulante // function changeliste() { choix=document.getElementById("listeA").value; t='<select name="listeB" id="listeB">'; for(i=0;i<liste[choix].length;i++) { t+="<option value=\""+liste[choix][i]+"\">"+liste[choix][i]+"</option>"; } document.getElementById("listeB_div").innerHTML=t+'</select>'; }
body
<SELECT id=listeA onchange=changeliste() name=listeA> <OPTION value=1> fruits </OPTION> <OPTION value=2> legumes </OPTION> <OPTION value=3> boissons </OPTION> </SELECT> <A id=listeB_div><SELECT id=listeB name=listeB></SELECT></A>
Ce que je souhaite réalisé maintenant est un peu plus complexe, au lieu d'inscrire en dur les valeur de mes new array dans mon code, je veu que ces valeur soit en variables, elle correspondrons aux sous repertoires trouvées dans les répertoires fruits, legumes ou boissons ...
je pense utiliser ce code pour le listage de répértoires : https://phpsources.net/code/php/fichiers-repertoires/119_lister-un-repertoire-par-ordre-alphabetique-en-php
Comment imbriquer les deux fonctions ??
merci
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
29 juil. 2008 à 13:46
29 juil. 2008 à 13:46
Oups,
Désolé pour le doublons ... Gros bug du forum ou de moi même ...
Désolé pour le doublons ... Gros bug du forum ou de moi même ...
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
29 juil. 2008 à 14:33
29 juil. 2008 à 14:33
salut,
à priori du forum, j'en ai fait tout à l'heure à l'insu de mon plein clavier…
signale le post en double aux modos à l'aide du bouton avec un point d'exclamation dans un panneau jaune (en haut à gauche du post) !
-;o)
à priori du forum, j'en ai fait tout à l'heure à l'insu de mon plein clavier…
signale le post en double aux modos à l'aide du bouton avec un point d'exclamation dans un panneau jaune (en haut à gauche du post) !
-;o)
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
29 juil. 2008 à 14:53
29 juil. 2008 à 14:53
c'est fait ;)
Sinon sa ne te dit rien comment afficher la liste des répertoires dans une liste déroulante ?
Sinon sa ne te dit rien comment afficher la liste des répertoires dans une liste déroulante ?
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
29 juil. 2008 à 16:01
29 juil. 2008 à 16:01
re,
de tête et sans avoir testé je te propose quelque chose comme :
et dans le HTML :
de tête et sans avoir testé je te propose quelque chose comme :
function print_list() { $return = ''; $dirs = glob('mon/repertoire/', GLOB_ONLYDIR); if(is_array($dirs) && !empty($dirs)) { $return .= "<select>\n"; foreach($dir as $dirs) { $return .= "<option>$dir</option>\n"; } $return .= "</select>\n"; } return $return; }
et dans le HTML :
<?php echo print_list(); ?>
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
29 juil. 2008 à 16:08
29 juil. 2008 à 16:08
Merci a toi je vais tester et j'esserais de modifier si sa ne va pas.., en ce moment j'essai de faire un truc mais je ne sais pas si je post une autre sujet ou si je peu te deemander sa direct ement ... :
C'est assez simple a mon avis pour ceux qui y connaissent plus que moi .. !
Cette fonction crée des repertoires :
mais moi en faite j'essaie de créer un répertoire dans un répertoire definit par la variable $type que je récupere demon formulaire .. j'ai essayé :
<?php
function IsDir_or_CreateIt($path)
{
if(isset($_POST['type']))
$type=$_POST['type'];
else $type="";
if(is_dir($path))
{
echo "<script>alert('Dossier déjà existant : création du répertoire interrompue');</script>";
return true;
}
else
{
if(mkdir($type.$path)) // j'ai aussi essayé if(mkdir($type/$path))
{
return true;
}
else
{
return false;
};
};
}
?>
mais sa ne marche pas ... y'a t-il un moyen de créer un repertoire ailleur qu'a la racine ??
Merci pour cet aide :)
C'est assez simple a mon avis pour ceux qui y connaissent plus que moi .. !
Cette fonction crée des repertoires :
<?php function IsDir_or_CreateIt($path) { if(is_dir($path)) {echo "<script>alert('Dossier déjà existant : création du répertoire interrompue');</script>"; return true; } else { if(mkdir($path)) { return true; } else {return false; }; }; } ?>
mais moi en faite j'essaie de créer un répertoire dans un répertoire definit par la variable $type que je récupere demon formulaire .. j'ai essayé :
<?php
function IsDir_or_CreateIt($path)
{
if(isset($_POST['type']))
$type=$_POST['type'];
else $type="";
if(is_dir($path))
{
echo "<script>alert('Dossier déjà existant : création du répertoire interrompue');</script>";
return true;
}
else
{
if(mkdir($type.$path)) // j'ai aussi essayé if(mkdir($type/$path))
{
return true;
}
else
{
return false;
};
};
}
?>
mais sa ne marche pas ... y'a t-il un moyen de créer un repertoire ailleur qu'a la racine ??
Merci pour cet aide :)
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
30 juil. 2008 à 10:10
30 juil. 2008 à 10:10
Avec :
if(isset($_POST['type']))
$type=$_POST['type'];
else $type="";
......
" if(mkdir('../docs/'.$type.'/'.$path)) "
mon dossier est créé ici : ../docs/DOSSIER CREE
le $type n'est pas pris en compte .. :s, un petit coups de main?
-----------------------------------------------------
EDIT :
par contre
if(isset($_POST['type']))
$type=$_POST['type'];
else $type="pas_dossier";
avec un repertoire " pas_dossier" sous "docs" sa marche très bien, la création se fait bien sous "pas_dossier", je n'arrive pas a récuperer la valeur de mon $type apparament c'est un dialogue box :s
if(isset($_POST['type']))
$type=$_POST['type'];
else $type="";
......
" if(mkdir('../docs/'.$type.'/'.$path)) "
mon dossier est créé ici : ../docs/DOSSIER CREE
le $type n'est pas pris en compte .. :s, un petit coups de main?
-----------------------------------------------------
EDIT :
par contre
if(isset($_POST['type']))
$type=$_POST['type'];
else $type="pas_dossier";
avec un repertoire " pas_dossier" sous "docs" sa marche très bien, la création se fait bien sous "pas_dossier", je n'arrive pas a récuperer la valeur de mon $type apparament c'est un dialogue box :s
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
30 juil. 2008 à 12:03
30 juil. 2008 à 12:03
problemes reglé avec un switch car ma variable me retournais des chiffres et non la valeur de ma liste déroulante ...
j'ai juste un souci de variable
j'ai juste un souci de variable
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
30 juil. 2008 à 16:50
30 juil. 2008 à 16:50
Bonjour, comment lui dire que si le dossier existe, continuer l'acction, carj'ai une erreur de ce type :
Warning: mkdir() [function.mkdir]: File exists in C:\Program Files\EasyPHP 2.0b1\www\fonction.php on line 574
Une erreur est survenue lors de la creation du dossier
Warning: mkdir() [function.mkdir]: File exists in C:\Program Files\EasyPHP 2.0b1\www\fonction.php on line 574
Une erreur est survenue lors de la creation du dossier
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
30 juil. 2008 à 16:57
30 juil. 2008 à 16:57
Comment declarer une variable en global dans ce cas precis :
Formulaire.php
include code.php
si appuie sur le boutons
$GAINS = Champs du formulaire' €'
fonction(convertir euros en patates)
--------------------------------------------------
code.php
fonction (convertire euros en patates)
multiplier le $GAIN par 000
je n'arrive pas a passer ma variable $GAIN de mon formulaire.php vers mon code.php
Si je fait un include formulaire.php dans mon code.php j'ai toute la page qui s'affiche !!
J'ai essayer de mettre global $gain, sa ne marche pas.. comment faire svp?
Formulaire.php
include code.php
si appuie sur le boutons
$GAINS = Champs du formulaire' €'
fonction(convertir euros en patates)
--------------------------------------------------
code.php
fonction (convertire euros en patates)
multiplier le $GAIN par 000
je n'arrive pas a passer ma variable $GAIN de mon formulaire.php vers mon code.php
Si je fait un include formulaire.php dans mon code.php j'ai toute la page qui s'affiche !!
J'ai essayer de mettre global $gain, sa ne marche pas.. comment faire svp?
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
30 juil. 2008 à 17:26
30 juil. 2008 à 17:26
salut,
tu devrais ouvrir un nouveau fil pour les nouvelles questions.
soit tu déclares ta variable dans le script appelé en premier. comme par exemple dans 'index.php' avec des 'include()'
de 'header.php' et 'footer.php'. les variables instanciées avant les 'include()' seront accessibles dans les scripts inclus puis dans le reste de 'index.php'.
soit tu utilises une variable de session en pensant à démarrer ta session au tout début du script, un peu bourrin mais utile parfois…
tu devrais ouvrir un nouveau fil pour les nouvelles questions.
soit tu déclares ta variable dans le script appelé en premier. comme par exemple dans 'index.php' avec des 'include()'
de 'header.php' et 'footer.php'. les variables instanciées avant les 'include()' seront accessibles dans les scripts inclus puis dans le reste de 'index.php'.
soit tu utilises une variable de session en pensant à démarrer ta session au tout début du script, un peu bourrin mais utile parfois…
session_start(); $_SESSION['toto'] = 'tata'; $var = $_SESSION['toto'];
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
31 juil. 2008 à 10:08
31 juil. 2008 à 10:08
salut,
dès ce problème resolu, je posterais de nouveau post !
pour la solution avec include(toto.php); j'ai testé le souci c'est que j'ai mon fichier toto.php qui est entierement afficher sur ma page !!
variable de session : erreur ..
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\EasyPHP 2.0 .....
sa viendrais de quoi ? merci
dès ce problème resolu, je posterais de nouveau post !
pour la solution avec include(toto.php); j'ai testé le souci c'est que j'ai mon fichier toto.php qui est entierement afficher sur ma page !!
variable de session : erreur ..
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\Program Files\EasyPHP 2.0 .....
sa viendrais de quoi ? merci
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
31 juil. 2008 à 10:21
31 juil. 2008 à 10:21
salut,
qu'est-ce qu'il y a dans 'toto.php' ?
pourquoi affiche-t-il quelque chose ?
qu'est-ce qu'il y a dans 'toto.php' ?
pourquoi affiche-t-il quelque chose ?
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
31 juil. 2008 à 10:39
31 juil. 2008 à 10:39
toto.php c'est mon formulaire avec quelques png et mes champs ....
Le faite de faire un "include" l'affichai toute ma page !
voici le code sa va être plus simple :
formulaire.php :
if( isset($_POST['envoi']) )// si formulaire envoyé
{
// transformer la valeur de la liste déroulante 1 en type de documents
if(isset($_POST['listeA']))
{ $type=$_POST['listeA'];
switch($type)
{ case 0:
$type="";
break;
case 1:
$type="G";
break;
case 2:
$type="R";
break;
case 3:
$type="M";
break;
case 4:
$type="N";
break;
}
}else $type="";
................
.............
............
.........
.....
.{ // si le champs "nouveau dossier" n'est pas vide, le dossier sera créé
if(IsDir_or_CreateIt($new_rep))
{ // si le champs "nouveau dossier" n'est pas vide --> le chemin sera " .../docs/type/nouveau_dossier/document.doc "
$content_dir= '../docs/'.$type.'/'.$new_rep.'/';
echo "<script>alert('DEBUGAGE creer dossier --> $content_dir');</script>"; //*******************// DEBUGAGE
}
</code>
fonction.php
et je voudrais eviter de faire deux switch case identique et en faite récuperer me $type de mon formulaire pour l'utiliser dans fonction.php .... :(
Merci
Le faite de faire un "include" l'affichai toute ma page !
voici le code sa va être plus simple :
formulaire.php :
<?php include '../fonctions.php'; // necessaire pour faire appel aux fonctions contenus dans ce fichier
if( isset($_POST['envoi']) )// si formulaire envoyé
{
// transformer la valeur de la liste déroulante 1 en type de documents
if(isset($_POST['listeA']))
{ $type=$_POST['listeA'];
switch($type)
{ case 0:
$type="";
break;
case 1:
$type="G";
break;
case 2:
$type="R";
break;
case 3:
$type="M";
break;
case 4:
$type="N";
break;
}
}else $type="";
................
.............
............
.........
.....
.{ // si le champs "nouveau dossier" n'est pas vide, le dossier sera créé
if(IsDir_or_CreateIt($new_rep))
{ // si le champs "nouveau dossier" n'est pas vide --> le chemin sera " .../docs/type/nouveau_dossier/document.doc "
$content_dir= '../docs/'.$type.'/'.$new_rep.'/';
echo "<script>alert('DEBUGAGE creer dossier --> $content_dir');</script>"; //*******************// DEBUGAGE
}
</code>
fonction.php
<?php // transformer la valeur de la liste déroulante 1 en type de documents if(isset($_POST['listeA'])) { $type=$_POST['listeA']; switch($type) { case 0: $type=""; break; case 1: $type="G"; break; case 2: $type="R"; break; case 3: $type="M"; break; case 4: $type="N"; break; } }else $type=""; ................ ............. ............ ......... // ****// FONCTION CREER UN DOSSIER ET TESTER SI IL EXISTE DEJA //****// function IsDir_or_CreateIt($path) { if(is_dir($path)) { echo "<script>alert('Dossier déjà existant : création du répertoire interrompue');</script>"; return true; } else { if(mkdir('../docs/'.$type.'/'.$path)) { return true;} else {echo "<script>alert('Erreur inconnu lors de la création du répertoire');</script>"; } }; }
et je voudrais eviter de faire deux switch case identique et en faite récuperer me $type de mon formulaire pour l'utiliser dans fonction.php .... :(
Merci
-CCM-
Messages postés
927
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
16 juin 2013
84
31 juil. 2008 à 12:09
31 juil. 2008 à 12:09
J'ai tout effacer pour me refaire une fonction toute propre sur mon formulaire... elle marche beaucoup mieux (vive l'algorithme )
Merci :)
A++
Merci :)
A++