Comment forcer la taille d'une case "text" ?

Eléphanteau du PHP | 22 Messages

17 déc. 2006, 19:54

je me disait bie nque ca devait pas s'ecrire comme ca :P..


Le probleme est un peu la
Je n'ai pas la logique necessaire pour ce genre d'exercice, en tout cas ma logique n'est pas la meme, et je ne sais pas faire plen de truc alors ca m'oblige (enfin je pense) a faire avec surement pas les bons outils ou la bonne technique


mais bon quand c'est simple ca marche....
Le soucis dans le cas precis vient des 2 listes du depart
La seconde dependant de la premiere
J'ai recuperer le code d'un topic de ce forum
Et je n'arrive pas a expedier les donnees ailleur
je sais c'est pas clair mais c'est pas facile a expliquer non plus d'autant qu'on est pas dans la bonne section vu que la je pense que c'est du php ?

Si tu veux je peu te passer une ou 2 page de code que j'ai faite et tu verras mon niveau :P
mais faudra etre indulgent hein!!
meme si je trouve ca interressant parcequ'on vois vite ce qu'on crée, reste que faire du code c'est pas mon trip :?
Patogeur en php

Mammouth du PHP | 19672 Messages

17 déc. 2006, 21:25

Pour le forum, je déménage le sujet vers "Débuter en PHP".

Pour le reste, il n'y a pas la logique de l'un ou la logique de l,autre : la logique est, tout simplement. On fait du binaire, une chose existe ou n'existe pas, un moment est passé ou futur, à tel moment, une action est exécutée ou ne l'est pas. Il faut pas chercher midi à 14h00.

Avec un formulaire, lorsque tu cliques sur le bonton pour expédier les données, celles-ci sont stockées dans une super-globale $_POST ou $_GET et c'est là que tu vas les récupérer dans la page de traitement, laquelle page est celle inscrite dans l'attribut action de ta balise <form>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 22 Messages

17 déc. 2006, 21:44

bon alors je vais essyer d'etre clair

pour la gestion des 2 listes
le fait de selectionner un client (une region dans l'exemple du tuto) interoge la base et affiche la liste des utilistateur (ou departement dans le tuto) du client
j'ai cette ligne au debut

Code : Tout sélectionner

<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgutil">
jusque la ok
a la fin on a un bouton envoyé qui sans effecer la page des liste affiche en haut une petit phrase: vous avez choii le user machin de la societe truc
Bon c'est bien beau mais ce n'est que du 'select'
Moi je veux envoyer (donc 'insert') mes choix dans la base
Bien sur que j'ai utiliser $_POST
mais voila
pour envoyer tout ca moi d'habitude je fait apparaitre une nouvelle page qui dis recapitule la liste des donnees et qui controle que la base a bien etait mise a jour, et j'utilise pour ca un :

Code : Tout sélectionner

<form action="pagedeverif.php" method="post">
Mais la dans la page de demande
je ne sais aps ou mettre ma ligne de passage de parametre
en effet si je la met au debut pour qu'elle englobe toute la page, ca me "bloque" les 2 liste dependante du debut (le choix dans la liste client ne fait pas apparaitre la liste user) et si je valide la page ben j'ai un message d'erreur puisque le user est une FK
et si je met le passage de parametre apres la gestion des 2 liste ca ne marche pas, je reste sur la page principale et les parametre ne sont pas envoyé a la base
Alors je peux essayer de ne pas faire afficher la page de controle mais don je trouve que ca fait moins propres
Patogeur en php

Mammouth du PHP | 19672 Messages

17 déc. 2006, 22:04

Si ta page se recharge sur elle même : comment gères-tu ce qui est affiché ? En testant ce qui a été envoyé et ce qui ne l'a pas été. Donc si au rechargement tu as une valeur spécifique, tu as une instruction qui va faire ou non telle action comme par exemple une manipulation de données avec MySQL : ça ne te semble pas clair ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 22 Messages

18 déc. 2006, 10:00

heuuuuu
Sans vouloir te vexer j'ai pas tout compris là
J'ai effectivement une page qui se recharge sur elle meme comme dans TON tuto des liste deroulante liees, mais apres avec le reste de mes listes qui ne sont pas liées ????
que la selection dans la premiere liste recharge la page et affiche la 2eme liste ok, c'est parfait ca
Mais si je ferme le <form> a ce moment la, les variable qui sont dedans resteraont dans la page ?
Elle ne seraont pas envoyé vers une autre pages meme si j'ai un autre form post apres ?
si ?
Patogeur en php

Mammouth du PHP | 19672 Messages

18 déc. 2006, 10:57

On ne peut envoyer qu'un seul formulaire à la fois, donc si tu as plusieurs formulaires sur la même page, c'est celui dont tu cliqueras le bouton qui enverra des données, celles des autres formulaires resteront là.

CQFD : il faut regrouper tes formulaires en un seul et unique formulaire si tu veux TOUT envoyer.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 22 Messages

18 déc. 2006, 11:42

Bon ca j'avais cru comprendre
Mais je vois pas bien comment faire
C'est pas le type de formulaire pour les liste dependante et les autres
il faut bien garder le formulaire de recharge de page pour qu'apres avoir choisit dans la premiere liste la 2eme apparaisse?
Et donc si je n'agit pas sur le bouton envoyé, ces données sont toujours en memoire ?
Mais apres mes autre liste, je ne parviant pas a stocker leur données
C'est pas simple a expliquer parceque je ne sais pas ou ca plante
c'est soit le formulaire qui ne gere pas les autre liste, soit le bouton qui n'envoie que les 2 premier parametre
parceque dans l'etat actuel des chose
les 2 liste interdependante marchent bien, apres je choisit dans mes autre listes, et quand je clic sur le bouton envoyé, ca e a"zero" mes autre liste, ca ne touche pas au 2 premiere et ca n'envoie rien
Ca me laisse penser en fait que le bouton n'agit pas sur l'ensemble du formulaire
Patogeur en php

Mammouth du PHP | 19672 Messages

18 déc. 2006, 17:02

Mais tu ne fais qu'un seul formulaire et même s'il a 250 champs, tu pourrais n'avoir qu'une seule liste dynamique qui se rechargerait sans que ça affecte le reste du formulaire., donc tous tes champs doivent se trouver entre un seul <form> et un seul </form>

J'ai mis à jour le tuto sur les listes dynamiques liées : j'y ai ajouté une méthode AJAX qui conviendrait peut-être mieux à ton système parce que plus simple et sans rechargement de page. Jettes-y un coup d'oeil, ça résoudra peut-être bien ton problème :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 22 Messages

18 déc. 2006, 18:25

Ok merci je vais aller voir
je te dirai apres si c'est bon ;)
Patogeur en php

Eléphanteau du PHP | 22 Messages

19 déc. 2006, 14:39

:twisted:
Bon alors deja je compren pas bien la method ajax ca me depasse de bsp
Et ensuite je n'y arrive decidement pas et ca me GONFLE violement
le fait de faire un :

Code : Tout sélectionner

<?php echo($_SERVER['PHP_SELF']); ?>
dans un form, c'est ca qui fait que la page se recharge toute seule ?
Alors que de mettre un "pagemachin.php" enverra les donnée vers une autre page, on est d'accord ?
De plus il ne peu y avoir qu'un seul formulaire dans une page ?
Si oui, je ne vois pas comment faire
En plus je n'arrive pas a inserer au bon endroit la requette vers la base pour la remplir (Insert into )
Oui je sais je suis un manche mais j'en suis conscient, ceci dis ca m'aide pas |*()
Patogeur en php

Mammouth du PHP | 19672 Messages

19 déc. 2006, 14:45

-1- En mettant <?php echo($_SERVER['PHP_SELF']); ?>, on a pas besoin de mettre l'url de la page courante, donc on peut éventuellement déménager le formulaire de place, ça marchera toujours mais effectivement, ça va recharger la page puisque l'url est celle de la page en cours. Tu peux mettre l'url en dur si tu préfères, vers la page elle-même ou une autre page.

-2- On peut parfaitement avoir plusieurs formulaires dans une même page : ce qui est interdit, c'est de les imbriquer. Ce que je t'ai expliqué, c'est que chaque formulaire est indépendant des autres. Donc envoyer les données en cliquant sur le bouton d'un des formulaire va expédier les données de ce formulaire uniquement, pas celles des autres formulaires éventuellement présents dans la page.

-3- Sur la méthode Ajax, vas-y une étape à la fois : qu'est-ce que tu ne comprends pas ? As-tu compris le fonctionnement général du système ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 22 Messages

20 déc. 2006, 18:03

pour l'AJAX, non ai pas bien compris
pour l'histoire des formulaire..
donc moi m'en faut 2 dans la meme page, le premier de tes listes imbriqué et le 2eme de mes liste de choix
Mais que devienne les données du premier formulaire ?
comment les passer au 2eme formulaire pour qu'en fait a la fin en cliquant sur envoyé ca passe les données des 2 formulaire a une autre page (ou a la base)
N'ayant pas non plus des liste phenomenale, je ne pense pas que l'AJAX m'apporte bcp, et puis comme je le comprend pas bien c'est peut etre pas une bonne idée de le mettre en place pour le moment si je peu faire ca plus simplement
Patogeur en php

Mammouth du PHP | 19672 Messages

20 déc. 2006, 18:44

Ce que je ne comprends pas, c'est cette obligation que tu as de faire deux formulaires ? Même si tu as des listes liées dans une partie, tu pourrais tout avoir dans un seul formulaire.

Le principe de fonctionnement avec AJAX : Tu as une page coté client, avec un JavaScript, toujours coté client et un script PHP coté serveur :
- dans la page coté client, tu sélectionnes un élément de la première liste :
- La balise <select> contient un gestionnaire d'évènement qui va appeler une fonction du JavaScript mentionné plus haut;
- cette fonction va récupérer la valeur sélectionnée dans la première liste : si elle est valide, elle va appeler une autre fonction qui va créer un objet XmlHTTPRequest;
- Cet objet XHR va permettre à JavaScript d'envoyer une requête vers le serveur sans recharger la page. Cette requête va être envoyée vers le script PHP mentionné plus haut comme si on appelait une page php avec des paramètres;
- le Script PHP va récupérer ces paramètres, exécuter une requête SQL, récupérer le retour et le renvoyer vers le client à l'objet XHR;
- l'objet XHR va recevoir les données retournées et quand tout sera bien reçu, il y aura appel d'une fonction JavaScript pour mettre à jour la seconde liste en utilisant innerHTML.

Alors tout ça ne prend que quelques fractions de secondes selon la vitesse du réseau, mais schématiquement, c'est le déroulement avec AJAX.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 22 Messages

20 déc. 2006, 19:23

la version AJAX me fait l'effet d'une usine a gaz, mais efectivement si on plein de liste a consulter et a lier sur une page c'est surement LA solution

Pour mon truc, la ou ca coince c'est le passage de tout les parametre recuperer dans la page a une requete SQL
On est bien obligé d'avoir un formulaire pour recharger la page pour que la 2eme liste puisse "exister" ? sinon le fait de selectionne un "truc" dans la premiere ne fera pas apparaitre la 2nd
apres comment je fait pour que les parametre selectionné dans les autre liste PLUS ceux selectionné dans les 2 liste imbriqué passent TOUS dans une requette sql ? me faut bien un second formulaire non ?
ou alors ok mais faut me dire comment et ou je place la requette sql
Patogeur en php

Mammouth du PHP | 19672 Messages

20 déc. 2006, 19:44

Je crois que tu mélanges pas mal de choses : le fait d'avoir tes listes dynamiques dans le même formulaire que les autres champs ne t'oblige absolument pas à utiliser toutes les données saisies pour faire la mise à jour de la seconde liste. J'ai un peu de mal à visualiser ce que tu essayes de faire :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: