Création formulaire de contact sur écran tactile
Dernière réponse : dans Programmation
Bonjour,
Je suis le membre d'une asbl et nous avons acheté une borne à écran tactile pour promouvoir notre asbl lors de foires et expos
Pour ce faire, j'ai créé une site offline et j'aurais voulu créer une partie formulaire de contact où les gens pourraient poser une question
Mais voici les choses pour lesquelles j'ai besoin d'aide :
1) la création du formulaire en lui-même : les différents champs à mettre
- nom
- prénom
- numéro de téléphone (facultatif)
- email (facultatif)
- question
2) que le formulaire soit sauvegardé sur le disque dur de la borne (dans un dossier qui se créerait avec la date de la création du formulaire)
3) comme il s'agit d'un écran tactile sans clavier il faudrait qu'à l'ouverture de la page de formulaire un clavier apparaisse afin que les gens puissent taper leur question et leurs infos
merci beaucoup pour votre aide car pour tout le reste pas de soucis mais là je sais vraiment pas du tout...
Je suis le membre d'une asbl et nous avons acheté une borne à écran tactile pour promouvoir notre asbl lors de foires et expos
Pour ce faire, j'ai créé une site offline et j'aurais voulu créer une partie formulaire de contact où les gens pourraient poser une question
Mais voici les choses pour lesquelles j'ai besoin d'aide :
1) la création du formulaire en lui-même : les différents champs à mettre
- nom
- prénom
- numéro de téléphone (facultatif)
- email (facultatif)
- question
2) que le formulaire soit sauvegardé sur le disque dur de la borne (dans un dossier qui se créerait avec la date de la création du formulaire)
3) comme il s'agit d'un écran tactile sans clavier il faudrait qu'à l'ouverture de la page de formulaire un clavier apparaisse afin que les gens puissent taper leur question et leurs infos
merci beaucoup pour votre aide car pour tout le reste pas de soucis mais là je sais vraiment pas du tout...
Autres pages sur : creation formulaire contact ecran tactile
Lassé par la pub ? Créez un compte
et bien comment fait-on un formulaire
et comment fait-on pour faire apparaître un clavier virtuel afin de remplir ce formulaire? il me faudrait un clavier simplifié (donc pas de touche ALT CTRL et tout ça pour éviter les mauvaises manipulation)
je sais pas du tout comment faire donc je cherche des tutos simples ou une aide pour gros noob ^^
et comment fait-on pour faire apparaître un clavier virtuel afin de remplir ce formulaire? il me faudrait un clavier simplifié (donc pas de touche ALT CTRL et tout ça pour éviter les mauvaises manipulation)
je sais pas du tout comment faire donc je cherche des tutos simples ou une aide pour gros noob ^^
Bon alors pour les formulaires, comme c'est la base, tu vas me faire le plaisir de te trouver tout seul un tutoriel pour zéro.
Ensuite, pour le clavier, ce sera un peu plus difficile, mais pas de panique.
On va jouer avec Javascript, tu vas voir, on va se poiler
---------
J'attends ton formulaire...
Spoiler
Demande à Gogol : http://www.google.fr/search?q=zéro+formulaire
(et en plus, le premier est le bon
)
(et en plus, le premier est le bon
)Ensuite, pour le clavier, ce sera un peu plus difficile, mais pas de panique.
On va jouer avec Javascript, tu vas voir, on va se poiler
---------
J'attends ton formulaire...
bon, je me suis aidé de ton lien mais en changeant ce qu'il fallait pour que ça corresponde à mes besoins et voilà
bon alors mes premières remarques :
niveau graphique c'est moche, faudra que je change cela
et surtout bcp plus important, comme il n'y aura pas de souris ou trackball sur la borne a écran tactile, comment faire pour passer d'un champ à l'autre pour l'utilisateur?
merci encore
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">
<html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>
<body>
<form method="post" action="cible_formulaire.php">
<fieldset>
<legend>Si vous avez la moindre remarque ou question, n'hésitez pas à remplir ce formulaire et le service concerné vous recontactera dans les plus brefs délais.
</legend><p>
<label for="nom">NOM :</label>
<input type="text" name="nom" id="nom" tabindex="1" />
</p>
<p>
<label for="prenom">Prénom : </label>
<input type="text" name="prenom" id="prenom" tabindex="2" />
</p>
<p>
<label for="gsm">Numéro de téléphone / gsm : </label><input type="text" name="gsm" id="gsm" tabindex="3" />
</p>
<p>
<label for="email">Email : </label>
<input type="text" name="email" id="email" tabindex="4" />
<label for="precisions"><br />
<br />
Question / Commentaire :</label>
<br />
<textarea name="precisions" id="precisions" cols="40" rows="4" tabindex="5"></textarea>
</p>
</fieldset>
<p>
<input type="submit" value="Envoyer" />
<input type="reset" value="Effacer" />
</p>
</form>
</body>
</html>
bon alors mes premières remarques :
niveau graphique c'est moche, faudra que je change cela
et surtout bcp plus important, comme il n'y aura pas de souris ou trackball sur la borne a écran tactile, comment faire pour passer d'un champ à l'autre pour l'utilisateur?
merci encore
Bon, j'ai quand même regardé ton code.
Eh, c'est pas mal du tout !, si, si
Tu me vérifieras quand même la correspondance entre le for des labels et le name des inputs.
Et les tabindex aussi, tiens. De 1 en 1, c'est suffisant. Pis t'as commencé à mettre des <p></p>. Fais-le partout.
Pour passer d'un champ à l'autre, il y a deux possibilités : la touche [tab] et bien sûr avec un clic du doigt sur le champ !
Ensuite, il va falloir faire tout le boulot côté client.
Donc on n'a pas le choix, c'est du script. Je te propose JavaScript, bien sûr.
(Thinking.....)
Eh, c'est pas mal du tout !, si, si
Tu me vérifieras quand même la correspondance entre le for des labels et le name des inputs.
Et les tabindex aussi, tiens. De 1 en 1, c'est suffisant. Pis t'as commencé à mettre des <p></p>. Fais-le partout.
Pour passer d'un champ à l'autre, il y a deux possibilités : la touche [tab] et bien sûr avec un clic du doigt sur le champ !
Ensuite, il va falloir faire tout le boulot côté client.
Donc on n'a pas le choix, c'est du script. Je te propose JavaScript, bien sûr.
(Thinking.....)
ah ben oui tout bêtement le clic du doigt, suis-je bête...
voilà j'ai changé les trucs que tu m'as dit (me semble que c'est bon maintenant ^^)
après:
- enregistrement du formulaire sur le disque dure
- clavier virtuel
mais déjà merci pour ta patience... et j'accepte toutes tes propositions moi tant que ça reste décent hihi
voilà j'ai changé les trucs que tu m'as dit (me semble que c'est bon maintenant ^^)
après:
- enregistrement du formulaire sur le disque dure
- clavier virtuel
mais déjà merci pour ta patience... et j'accepte toutes tes propositions moi tant que ça reste décent hihi
Alors ?
Tu ne réponds pas bien vite.
Alors je te laisse un peu réfléchir.
Analyse ce bout de code :
(J'ai passé le charset en iso-8859-1)
Tu ne réponds pas bien vite.
Alors je te laisse un peu réfléchir.
Analyse ce bout de code :
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' '<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>'> <html xmlns='<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>'> <head> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' /> <title>Document sans nom</title> <script language='javascript' type='text/javascript'> function lettre(l) { document.forms['formulaire'].elements['nom'].value = document.forms['formulaire'].elements['nom'].value + l; } </script> </head> <body> <form name='formulaire' method='post' action='cible_formulaire.php'> <fieldset> <legend>Si vous avez la moindre remarque ou question, n'hésitez pas à remplir ce formulaire et le service concerné vous recontactera dans les plus brefs délais.</legend> <p><label for='nom' >Nom : </label><input type='text' name='nom' id='nom' tabindex='1' /></p> <p><label for='prenom'>Prénom : </label><input type='text' name='prenom' id='prenom' tabindex='2' /></p> <p><label for='tel' >Tél. : </label><input type='text' name='tel' id='tel' tabindex='3' /></p> <p><label for='email2'>Mél. : </label><input type='text' name='mel' id='mel' tabindex='4' /></p> <p> <label for='precisions'><br /><br />Question / Commentaire :</label> <br /> <textarea name='precisions' id='precisions' cols='40' rows='4' tabindex='80'></textarea> </p> </fieldset> <p> <input type='submit' value='Envoyer' /> <input type='reset' value='Effacer' /> </p> </form> <a href='javascript:lettre("a");'>a</a> <a href='javascript:lettre("z");'>z</a> <a href='javascript:lettre("e");'>e</a> <a href='javascript:lettre("r");'>r</a> <a href='javascript:lettre("t");'>t</a> <a href='javascript:lettre("y");'>y</a> <br /> <a href='javascript:lettre("q");'>q</a> <a href='javascript:lettre("s");'>s</a> <a href='javascript:lettre("d");'>d</a> <a href='javascript:lettre("f");'>f</a> <a href='javascript:lettre("g");'>g</a> <a href='javascript:lettre("h");'>h</a> </body> </html>
(J'ai passé le charset en iso-8859-1)
zeb a édité ce message
Eh, c'est un forum ici, pas un tchat. Tu viens quand tu veux quand tu peux. Pareil pour moi
Pour servir cette page, t'as un service http.
Lequel ?
[_] apache
[_] lighttpd
[_] IIS
[_] autre, précisez : ______________
Avec quelles options ?
Voici celles qui m'intéressent :
[_] PHP
[_] MySQL
[_] sqlite
[_] MSSQLServer
____
(je te préviens tout de suite que si tu me réponds IIS/MSSQLServer, ma réponse sera "Ben paie-toi une prestation, alors !"
)
Pour servir cette page, t'as un service http.
Lequel ?
[_] apache
[_] lighttpd
[_] IIS
[_] autre, précisez : ______________
Avec quelles options ?
Voici celles qui m'intéressent :
[_] PHP
[_] MySQL
[_] sqlite
[_] MSSQLServer
____
(je te préviens tout de suite que si tu me réponds IIS/MSSQLServer, ma réponse sera "Ben paie-toi une prestation, alors !"
)
je disais cela car tu as dit que je ne répondais pas bien vite...
pour servir cette page, je lance firefox tout simplement et les pages s'affiche en mode hors connexion... est-ce une réponse satisfaisante?
si vraiment je peux t'envoyer un zip avec ce que j'ai créé (ca prend pas bcp de place) et on ne se moque pas ^^
pour servir cette page, je lance firefox tout simplement et les pages s'affiche en mode hors connexion... est-ce une réponse satisfaisante?
si vraiment je peux t'envoyer un zip avec ce que j'ai créé (ca prend pas bcp de place) et on ne se moque pas ^^
Euh, et moi je disais ça parce que je faisais les questions et les réponses. ^^
Non, pas d'envoi de zip. Je n'accepterai pas de faire ton travail.
La réponse n'est pas satisfaisante.
Le navigateur seul ne peut pas interagir avec ton système.
kwaksavedir ?
Ben que tu ne pourras pas traiter ton formulaire.
T'as vu, il y a un bouton "Envoyer". A qui ?
C'est pourquoi il te faut un serveur.
Voici l'organisation que tu dois adopter :
![]()
(image piquée sur le site ccm)
Un abus de langage fait qu'on confond service et serveur. Un serveur est un ordinateur comme un autre, qui dispense des services. Or c'est le service qui nous intéresse. Et on peut mettre le client (ton navigateur) et le service (http) sur la même machine. Par principe, un client n'a pas le droit de traiter des données. Seul le service peut le faire, dont le traitement qui consiste à stocker ces données (fichiers, base de données).
Donc, il faut que tu installes sur ta borne, un service web (je te conseille apache avec l'option PHP) et un système de stockage associé. Par défaut, tu trouveras MySQL. C'est un peu un marteau-pilon pour écraser une mouche, c'est pourquoi je te proposai sqlite. Mais puisque tes besoins sont très simples, on peut même se passer du système de stockage et créer des fichiers tout bête directement avec PHP.
A toi de voir, tu es l'architecte !
Non, pas d'envoi de zip. Je n'accepterai pas de faire ton travail.
La réponse n'est pas satisfaisante.
Le navigateur seul ne peut pas interagir avec ton système.
kwaksavedir ?
Ben que tu ne pourras pas traiter ton formulaire.
T'as vu, il y a un bouton "Envoyer". A qui ?
C'est pourquoi il te faut un serveur.
Voici l'organisation que tu dois adopter :

(image piquée sur le site ccm)
Un abus de langage fait qu'on confond service et serveur. Un serveur est un ordinateur comme un autre, qui dispense des services. Or c'est le service qui nous intéresse. Et on peut mettre le client (ton navigateur) et le service (http) sur la même machine. Par principe, un client n'a pas le droit de traiter des données. Seul le service peut le faire, dont le traitement qui consiste à stocker ces données (fichiers, base de données).
Donc, il faut que tu installes sur ta borne, un service web (je te conseille apache avec l'option PHP) et un système de stockage associé. Par défaut, tu trouveras MySQL. C'est un peu un marteau-pilon pour écraser une mouche, c'est pourquoi je te proposai sqlite. Mais puisque tes besoins sont très simples, on peut même se passer du système de stockage et créer des fichiers tout bête directement avec PHP.
A toi de voir, tu es l'architecte !
pour l'envoi du fichier zip ce n'est pas pour le faire à ma place juste pour voir ce que j'ai fait ainsi tu te feras une idée du travail et tu pourrais éventuellement me donner des conseils afin que je l’améliore (avec ou sans aide) mais surtout pas le faire à ma place...
ok j'ai compris pour le truc du serveur/service ^^ et oui pas de soucis pour moi avec du php, il faut juste enregistrer le formulaire sur le disque dur rien de plus
sinon j'ai testé les lignes que tu as ajouté et c'est cool ca permet d'écrire dans le 1er champ... je vais faire des boutons bien jolis maintenant pour chaque lettre et quand j'ai fini cela, je te montre ce que ça donne
sinon est-ce normal que lorsque je clique sur n'importe quel autre champ il continue à écrire dans la partie NOM uniquement? pas moyen de taper quoi que ce soit avec le "clavier virtuel"
p.s. : en tout cas je suis épaté comme t'expliques ça si facilement! moi j'ai du mal hihi
ok j'ai compris pour le truc du serveur/service ^^ et oui pas de soucis pour moi avec du php, il faut juste enregistrer le formulaire sur le disque dur rien de plus
sinon j'ai testé les lignes que tu as ajouté et c'est cool ca permet d'écrire dans le 1er champ... je vais faire des boutons bien jolis maintenant pour chaque lettre et quand j'ai fini cela, je te montre ce que ça donne
sinon est-ce normal que lorsque je clique sur n'importe quel autre champ il continue à écrire dans la partie NOM uniquement? pas moyen de taper quoi que ce soit avec le "clavier virtuel"
p.s. : en tout cas je suis épaté comme t'expliques ça si facilement! moi j'ai du mal hihi
Ce code proposé ne fonctionne que pour le premier champ, effectivement.
Je te propose de l'étudier et de comprendre pourquoi.
Ensuite, ce sera à toi de faire des propositions pour faire en sorte que les autres champs puissent être pris en compte. Laisse libre cours à ton imagination
Cela alimentera une discussion dans laquelle on tâchera de trouver une bonne solution (j'ai déjà quelques idées
).
Si tu as Apache+PHP, on pourra enregistrer le formulaire sans problème. En attendant, c'est à toi de bosser ^^
Je te propose de l'étudier et de comprendre pourquoi.
Ensuite, ce sera à toi de faire des propositions pour faire en sorte que les autres champs puissent être pris en compte. Laisse libre cours à ton imagination
Cela alimentera une discussion dans laquelle on tâchera de trouver une bonne solution (j'ai déjà quelques idées
).Si tu as Apache+PHP, on pourra enregistrer le formulaire sans problème. En attendant, c'est à toi de bosser ^^
windows 7 mister ^^
pour le formulaire, il faut que chaque champ à remplir soit reconnu par le javascript faut que dans le javascript il soit indique que ce sont des lettres et pas juste un lien non? enfin j'ai du mal a exprimer ce que je veux dire ^^
sinon j'ai le droit de chercher des tuto de creation de claviers virtuels et me baser sur les resultats?
pour le formulaire, il faut que chaque champ à remplir soit reconnu par le javascript faut que dans le javascript il soit indique que ce sont des lettres et pas juste un lien non? enfin j'ai du mal a exprimer ce que je veux dire ^^
sinon j'ai le droit de chercher des tuto de creation de claviers virtuels et me baser sur les resultats?
Win7: beurk, drôle de choix pour une borne. C'est ton problème.
Solution alternative à un bon vieil apache compilé aux petits oignons sur une bonne vieille plateforme LAMP : un ptit serveur ZMWS sur un sale gros Windobe.
--------------
Regarde mieux la ligne 10 :
Remplace 'nom' par prénom et reteste.
Fais des commentaires
--------------
Attention, une légère note de prosélytisme s'est glissé dans ce message.
Saurais-tu la détecter ? ......
Solution alternative à un bon vieil apache compilé aux petits oignons sur une bonne vieille plateforme LAMP : un ptit serveur ZMWS sur un sale gros Windobe.
--------------
Regarde mieux la ligne 10 :
(qu'on peut aussi écrire
document.forms['formulaire'].elements['nom'].value = document.forms['formulaire'].elements['nom'].value + l;
)
document.forms['formulaire'].elements['nom'].value += l;
Remplace 'nom' par prénom et reteste.
Fais des commentaires
--------------
Attention, une légère note de prosélytisme s'est glissé dans ce message.
Saurais-tu la détecter ? ......
salut,
bon voilà en changeant en prénom bien entendu il écrit dans la partie prénom donc ce qu'il faudrait faire c'est qu'il détecte le champ sur lequel on est pour écrire dans cette partie car si on ajoute une fonctione genre nom et prenom il écrira dans chaque champ... est-ce que c'est correct?
pour le clavie virtuel j'ai terminé toutes les touches, maintenant ce que je vais faire c'est créér des boutons images pour chaque lettre afin que graphiquement ce soit plus beau et sur chaque touche je crééerai un hyperlien reprenant ceci :
<a href='javascript:lettre("a" );'></a>
tu vois ce que j'essaie de dire?
à ton retour, on s'attellera à la suite du formulaire avant de se lancer dans la partie php pour enregistrer le formulaire sur le disque dur
merci encore
bon voilà en changeant en prénom bien entendu il écrit dans la partie prénom donc ce qu'il faudrait faire c'est qu'il détecte le champ sur lequel on est pour écrire dans cette partie car si on ajoute une fonctione genre nom et prenom il écrira dans chaque champ... est-ce que c'est correct?
pour le clavie virtuel j'ai terminé toutes les touches, maintenant ce que je vais faire c'est créér des boutons images pour chaque lettre afin que graphiquement ce soit plus beau et sur chaque touche je crééerai un hyperlien reprenant ceci :
<a href='javascript:lettre("a" );'></a>
tu vois ce que j'essaie de dire?
à ton retour, on s'attellera à la suite du formulaire avant de se lancer dans la partie php pour enregistrer le formulaire sur le disque dur
merci encore
Salut Liégeois,
Si je finis par te trouver une soluce, tu me devras une bonne bière fraîche au Carré !!!
La coupe du monde de Rugby au pays des Kiwis, pour moi, c'est fini. Ce qu'il en reste de matchs, ce sera aux aurores, à la télé.
Bon, on n'est nin chale po braire, on est chale po programmer...
Alors voilà une solution : On va mettre un clavier pour chaque champ !
Quoi ça ?
Eh, ben oui quoi
, mais on les cachera (*), sauf celui qui concernera le champ sélectionné. Trop facile
__________________
Etudier les propriétés CSS: Visibility et Display.
Si je finis par te trouver une soluce, tu me devras une bonne bière fraîche au Carré !!!
La coupe du monde de Rugby au pays des Kiwis, pour moi, c'est fini. Ce qu'il en reste de matchs, ce sera aux aurores, à la télé.
Bon, on n'est nin chale po braire, on est chale po programmer...
Alors voilà une solution : On va mettre un clavier pour chaque champ !
Quoi ça ?
Eh, ben oui quoi
, mais on les cachera (*), sauf celui qui concernera le champ sélectionné. Trop facile
__________________
Etudier les propriétés CSS: Visibility et Display.
zeb a édité ce message
pas de soucis mon bon ami quand tu viens ici je t'en paierai quelques unes
par contre il me fait bien rire ton "trop facile"... si ça l'était vraiment y aurait pas mal d'informaticien au chômage...
ok je vais voir comment c'est possible (google est sensé être mon ami) et en même temps je vais m'atteler à remplacer chaque lettre du clavier par une image pour que ce soit plus joli
par contre il me fait bien rire ton "trop facile"... si ça l'était vraiment y aurait pas mal d'informaticien au chômage...
ok je vais voir comment c'est possible (google est sensé être mon ami) et en même temps je vais m'atteler à remplacer chaque lettre du clavier par une image pour que ce soit plus joli
t3k1lla a édité ce message
je sais pas du tout... on m'a demandé d'être prêt pour le 24 novembre et j'ai pas le temps en ce moment... je sais que tu veux pas le faire à ma place mais je pense que je vais finir par engager un informaticien pour me programmer cette page car j'ai beau essayer de comprendre les fonctions c'est du chinois pour moi! après tout si c'était si facile, il n'y auraient pas d'études d'informatique ^^
Tu as raison, l'informatique est un métier. Mais il est facile de s'y mettre. Si tu n'as pas ou que peu de temps pour t'autoformer, fais appel à un pro.
Voici quand même ce vers quoi je me proposais de t'amener :
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<title>Document sans nom</title>
<script type='text/javascript'>
function show_kb(e)
{
var divs = document.getElementsByTagName('div');
for (i=0; i < divs.length; i++)
{
if (divs [ i ] .className== 'kb')
{
if (divs [ i ] .id == 'kb_'+e)
{
if (divs [ i ] .style.display == 'block')
divs [ i ] .style.display = 'none';
else
divs [ i ] .style.display = 'block';
}
else
divs [ i ] .style.display = 'none';
}
}
}
function lettre(l, e)
{
document.forms [ 'formulaire' ] .elements [ e ] .value += l;
}
function funct(f, e)
{
switch (f)
{
case "maj" :
if (typeof this.flg_shift == 'undefined')
this.flg_shift = 0;
else
this.flg_shift = 1 - this.flg_shift;
var d = [ 'block', 'none' ] ;
for (i=0; i<=7; i+=2)
{
document.getElementById('kb_'+e+'_line_n'+i).style.display=d [ 0 + this.flg_shift ] ;
document.getElementById('kb_'+e+'_line_n'+(i+1)).style.display=d [ 1 - this.flg_shift ] ;
}
break;
case "spc" :
lettre(' ', e);
break;
case "del" :
document.forms [ 'formulaire' ] .elements [ e ] .value = document.forms [ 'formulaire' ] .elements [ e ] .value.substr(0, document.forms [ 'formulaire' ] .elements [ e ] .value.length - 1);
break;
}
}
</script>
<style>
label { display:inline-block; min-width:60px; }
.kb { border:1px solid black; padding:9px 10px 10px; margin:4px; display:none; background-color:#eee; width:320px; }
.kb>.kbline { padding:1px 0 0;}
.kb>.kbline>a { border:1px solid black; display:inline-block; width:17px; text-align:center; padding:1px; margin:0 1px 0 0; text-decoration:none; background-color:#fafafa; }
.kb>.kbline.n0,
.kb>.kbline.n2,
.kb>.kbline.n4,
.kb>.kbline.n6 { display:none; }
.kb>.kbline.n0,
.kb>.kbline.n1 { padding-left:22px; }
.kb>.kbline.n2,
.kb>.kbline.n3 { padding-left:0px; }
.kb>.kbline.n4,
.kb>.kbline.n5 { padding-left:44px; }
.kb>.kbline.n6,
.kb>.kbline.n7 { padding-left:0px; }
.kb>.kbline.n8 { padding-left:88px; }
.kb>.kbline>a.t_del,
.kb>.kbline>a.t_ret,
.kb>.kbline>a.t_maj,
.kb>.kbline>a.t_tab { background:#ddd center no-repeat; }
.kb>.kbline>a.t_del { width: 28px; background-image:url('data:image/gif;base64,R0lGODlhEAAQAIQPAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////////////////////////////////////////////////////////////////////yH5BAEKAA4ALAAAAAAQABAAAAUuoCOOZGmeaKoCgCqyR5vCzyObdG2zPH/owODuJxS2crVeb5S7zQAxF9MprVqlIQA7' ); }
.kb>.kbline>a.t_ret { width: 50px; background-image:url('data:image/gif;base64,R0lGODlhEAAQAIQPAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////////////////////////////////////////////////////////////////////yH5BAEKAA4ALAAAAAAQABAAAAU4oCOOZGmeKAqswLmOwPO05HrQTjzDwCHjupZN9mMFe8SkcoZcLoXNovElGu5S1R4Om9tyv+CwIwQAOw==' ); }
.kb>.kbline>a.t_maj { width: 28px; background-image:url('data:image/gif;base64,R0lGODlhEAAQAIQPAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////////////////////////////////////////////////////////////////////yH5BAEKAA4ALAAAAAAQABAAAAU0oCOOZGmKAHCaabqO6fO4ayzPKgvcNw3vvF7OYQsKUS1ja4hS1pwnII9JkvaeQepv6XutQgA7' ); }
.kb>.kbline>a.t_maj:last-child { width: 61px; }
.kb>.kbline>a.t_tab { width: 28px; background-image:url('data:image/gif;base64,R0lGODlhEAAQAIQAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEKAA4ALAAAAAAQABAAAAVJICA65Eie5QOUx4qegOoAh/ymYq2KfP8cuodwOBTtdL1kbEWz3ZYsHiw5pbmgt9mPuVMat8sYcfyreXnCFva51bqeLVx29uaFAAA7'); }
.kb>.kbline>a.t_spc { width:144px; }
.kb>.kbline>a:hover { background-color:gray; }
a.show_kb { display:inline-block; width:17px; padding:0 2px; background:#ddd url('data:image/gif;base64,R0lGODlhEAAQAMZZADs7Oz09PT8/P0BAQEREREVFRUZGRkdHR0hISExMTE9PT1FRUVJSUlNTU1RUVFdXV1hYWFxcXF1dXXd3d4CAgIKCgoODg4aGhoiIiIqKiouLi4yMjI2NjZGRkZOTk5SUlJaWlpeXl5mZmZqamp+fn6CgoKGhoaOjo6SkpKWlpaampqenp6mpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLe3t7m5ubq6ur29vb+/v8HBwcLCwtLS0tPT09bW1tjY2NnZ2dvb293d3d/f3+Dg4OHh4eTk5Obm5ufn5+rq6uzs7O3t7e7u7u/v7/Dw8PHx8fPz8/b29vf39/r6+vv7+/7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAH8ALAAAAAAQABAAAAejgH+Cg4SFhoeIiYqJGR8dFyMfGCIeFCIWIxwhEx5TSUw/T0NFR0JOTUhGKBIaRFktWTBWOVk7WSBZMzwBG04lMyYuMycvJyU6MlcpCRVYTFk1SjlWMVkpVVlQNAshQT4oKjsqLCE6K8IuJAYhQEs9UVlZV/FSWTdUMREVOz4uKDEnWNgQgSPGBxoYAgxoAKCAgAcIIBA40MCBggYRGCzayHFjIAA7') center no-repeat; }
.kb { background:#eee url('data:image/gif;base64,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') 307px 107px no-repeat; }
</style>
</head>
<body>
<?php
function print_kb($f)
{
echo "<a id='a_$f' class='show_kb' href='javascript:show_kb(\"$f\");'> </a>";
echo "<div id='kb_$f' class='kb' >";
$i = 0;
foreach(
array(
array("1","2","3","4","5","6","7","8","9","0","@","+","del"),
array("&","é","#","'","(","-","è","_","ç","à",")","=","del"),
array("tab","A","Z","E","R","T","Y","U","I","O","P","£","%"),
array("tab","a","z","e","r","t","y","u","i","o","p","$","*"),
array("Q","S","D","F","G","H","J","K","L","M","ret"),
array("q","s","d","f","g","h","j","k","l","m","ret"),
array("maj",">","W","X","C","V","B","N","?",".",":","maj"),
array("maj","<","w","x","c","v","b","n",",",";","!","maj"),
array("spc")) as $line)
{
echo "<div class='kbline n$i' id='kb_{$f}_line_n$i'>";
foreach ($line as $touch)
{
if (strlen($touch)>1)
echo "<a class='funct t_$touch' href=\"javascript:funct('$touch', '$f');\"> </a>";
else
echo "<a href=\"javascript:lettre('$touch', '$f');\">$touch</a>";
}
echo "</div>";
$i++;
}
}
?>
<form name='formulaire' method='post' action='cible_formulaire.php'>
<fieldset>
<legend>Si vous avez la moindre remarque ou question, n'hésitez pas à remplir ce formulaire et le service concerné vous recontactera dans les plus brefs délais.</legend>
<div>
<label for='nom' >Nom : </label><input type='text' name='nom' id='nom' tabindex='1' />
<?php print_kb('nom'); ?>
</div>
<div>
<label for='prenom'>Prénom : </label><input type='text' name='prenom' id='prenom' tabindex='2' />
<?php print_kb('prenom'); ?>
</div>
<div>
<label for='tel' >Tél. : </label><input type='text' name='tel' id='tel' tabindex='3' />
<?php print_kb('tel'); ?>
</div>
<div>
<label for='email2'>Mél. : </label><input type='text' name='mel' id='mel' tabindex='4' />
<?php print_kb('mel'); ?>
</div>
<div>
<label for='precisions'>Question / Commentaire :</label>
<br />
<textarea name='precisions' id='precisions' cols='40' rows='4' tabindex='80'></textarea><?php print_kb('precisions'); ?>
</div>
</fieldset>
<div>
<input type='submit' value='Envoyer' />
<input type='reset' value='Effacer' />
</div>
</form>
</body>
</html>
Etudie-le bien, si tu cherches à progresser. Je peux continuer à t'aider
(désolé, un bug de la nouvelle interface ne me permet pas de publier correctement cd code. L'indentation est perdue. Tu m'en vois désolé.
)
Voici quand même ce vers quoi je me proposais de t'amener :
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<title>Document sans nom</title>
<script type='text/javascript'>
function show_kb(e)
{
var divs = document.getElementsByTagName('div');
for (i=0; i < divs.length; i++)
{
if (divs [ i ] .className== 'kb')
{
if (divs [ i ] .id == 'kb_'+e)
{
if (divs [ i ] .style.display == 'block')
divs [ i ] .style.display = 'none';
else
divs [ i ] .style.display = 'block';
}
else
divs [ i ] .style.display = 'none';
}
}
}
function lettre(l, e)
{
document.forms [ 'formulaire' ] .elements [ e ] .value += l;
}
function funct(f, e)
{
switch (f)
{
case "maj" :
if (typeof this.flg_shift == 'undefined')
this.flg_shift = 0;
else
this.flg_shift = 1 - this.flg_shift;
var d = [ 'block', 'none' ] ;
for (i=0; i<=7; i+=2)
{
document.getElementById('kb_'+e+'_line_n'+i).style.display=d [ 0 + this.flg_shift ] ;
document.getElementById('kb_'+e+'_line_n'+(i+1)).style.display=d [ 1 - this.flg_shift ] ;
}
break;
case "spc" :
lettre(' ', e);
break;
case "del" :
document.forms [ 'formulaire' ] .elements [ e ] .value = document.forms [ 'formulaire' ] .elements [ e ] .value.substr(0, document.forms [ 'formulaire' ] .elements [ e ] .value.length - 1);
break;
}
}
</script>
<style>
label { display:inline-block; min-width:60px; }
.kb { border:1px solid black; padding:9px 10px 10px; margin:4px; display:none; background-color:#eee; width:320px; }
.kb>.kbline { padding:1px 0 0;}
.kb>.kbline>a { border:1px solid black; display:inline-block; width:17px; text-align:center; padding:1px; margin:0 1px 0 0; text-decoration:none; background-color:#fafafa; }
.kb>.kbline.n0,
.kb>.kbline.n2,
.kb>.kbline.n4,
.kb>.kbline.n6 { display:none; }
.kb>.kbline.n0,
.kb>.kbline.n1 { padding-left:22px; }
.kb>.kbline.n2,
.kb>.kbline.n3 { padding-left:0px; }
.kb>.kbline.n4,
.kb>.kbline.n5 { padding-left:44px; }
.kb>.kbline.n6,
.kb>.kbline.n7 { padding-left:0px; }
.kb>.kbline.n8 { padding-left:88px; }
.kb>.kbline>a.t_del,
.kb>.kbline>a.t_ret,
.kb>.kbline>a.t_maj,
.kb>.kbline>a.t_tab { background:#ddd center no-repeat; }
.kb>.kbline>a.t_del { width: 28px; background-image:url('data:image/gif;base64,R0lGODlhEAAQAIQPAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////////////////////////////////////////////////////////////////////yH5BAEKAA4ALAAAAAAQABAAAAUuoCOOZGmeaKoCgCqyR5vCzyObdG2zPH/owODuJxS2crVeb5S7zQAxF9MprVqlIQA7' ); }
.kb>.kbline>a.t_ret { width: 50px; background-image:url('data:image/gif;base64,R0lGODlhEAAQAIQPAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////////////////////////////////////////////////////////////////////yH5BAEKAA4ALAAAAAAQABAAAAU4oCOOZGmeKAqswLmOwPO05HrQTjzDwCHjupZN9mMFe8SkcoZcLoXNovElGu5S1R4Om9tyv+CwIwQAOw==' ); }
.kb>.kbline>a.t_maj { width: 28px; background-image:url('data:image/gif;base64,R0lGODlhEAAQAIQPAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////////////////////////////////////////////////////////////////////yH5BAEKAA4ALAAAAAAQABAAAAU0oCOOZGmKAHCaabqO6fO4ayzPKgvcNw3vvF7OYQsKUS1ja4hS1pwnII9JkvaeQepv6XutQgA7' ); }
.kb>.kbline>a.t_maj:last-child { width: 61px; }
.kb>.kbline>a.t_tab { width: 28px; background-image:url('data:image/gif;base64,R0lGODlhEAAQAIQAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEKAA4ALAAAAAAQABAAAAVJICA65Eie5QOUx4qegOoAh/ymYq2KfP8cuodwOBTtdL1kbEWz3ZYsHiw5pbmgt9mPuVMat8sYcfyreXnCFva51bqeLVx29uaFAAA7'); }
.kb>.kbline>a.t_spc { width:144px; }
.kb>.kbline>a:hover { background-color:gray; }
a.show_kb { display:inline-block; width:17px; padding:0 2px; background:#ddd url('data:image/gif;base64,R0lGODlhEAAQAMZZADs7Oz09PT8/P0BAQEREREVFRUZGRkdHR0hISExMTE9PT1FRUVJSUlNTU1RUVFdXV1hYWFxcXF1dXXd3d4CAgIKCgoODg4aGhoiIiIqKiouLi4yMjI2NjZGRkZOTk5SUlJaWlpeXl5mZmZqamp+fn6CgoKGhoaOjo6SkpKWlpaampqenp6mpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLe3t7m5ubq6ur29vb+/v8HBwcLCwtLS0tPT09bW1tjY2NnZ2dvb293d3d/f3+Dg4OHh4eTk5Obm5ufn5+rq6uzs7O3t7e7u7u/v7/Dw8PHx8fPz8/b29vf39/r6+vv7+/7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAH8ALAAAAAAQABAAAAejgH+Cg4SFhoeIiYqJGR8dFyMfGCIeFCIWIxwhEx5TSUw/T0NFR0JOTUhGKBIaRFktWTBWOVk7WSBZMzwBG04lMyYuMycvJyU6MlcpCRVYTFk1SjlWMVkpVVlQNAshQT4oKjsqLCE6K8IuJAYhQEs9UVlZV/FSWTdUMREVOz4uKDEnWNgQgSPGBxoYAgxoAKCAgAcIIBA40MCBggYRGCzayHFjIAA7') center no-repeat; }
.kb { background:#eee url('data:image/gif;base64,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') 307px 107px no-repeat; }
</style>
</head>
<body>
<?php
function print_kb($f)
{
echo "<a id='a_$f' class='show_kb' href='javascript:show_kb(\"$f\");'> </a>";
echo "<div id='kb_$f' class='kb' >";
$i = 0;
foreach(
array(
array("1","2","3","4","5","6","7","8","9","0","@","+","del"),
array("&","é","#","'","(","-","è","_","ç","à",")","=","del"),
array("tab","A","Z","E","R","T","Y","U","I","O","P","£","%"),
array("tab","a","z","e","r","t","y","u","i","o","p","$","*"),
array("Q","S","D","F","G","H","J","K","L","M","ret"),
array("q","s","d","f","g","h","j","k","l","m","ret"),
array("maj",">","W","X","C","V","B","N","?",".",":","maj"),
array("maj","<","w","x","c","v","b","n",",",";","!","maj"),
array("spc")) as $line)
{
echo "<div class='kbline n$i' id='kb_{$f}_line_n$i'>";
foreach ($line as $touch)
{
if (strlen($touch)>1)
echo "<a class='funct t_$touch' href=\"javascript:funct('$touch', '$f');\"> </a>";
else
echo "<a href=\"javascript:lettre('$touch', '$f');\">$touch</a>";
}
echo "</div>";
$i++;
}
}
?>
<form name='formulaire' method='post' action='cible_formulaire.php'>
<fieldset>
<legend>Si vous avez la moindre remarque ou question, n'hésitez pas à remplir ce formulaire et le service concerné vous recontactera dans les plus brefs délais.</legend>
<div>
<label for='nom' >Nom : </label><input type='text' name='nom' id='nom' tabindex='1' />
<?php print_kb('nom'); ?>
</div>
<div>
<label for='prenom'>Prénom : </label><input type='text' name='prenom' id='prenom' tabindex='2' />
<?php print_kb('prenom'); ?>
</div>
<div>
<label for='tel' >Tél. : </label><input type='text' name='tel' id='tel' tabindex='3' />
<?php print_kb('tel'); ?>
</div>
<div>
<label for='email2'>Mél. : </label><input type='text' name='mel' id='mel' tabindex='4' />
<?php print_kb('mel'); ?>
</div>
<div>
<label for='precisions'>Question / Commentaire :</label>
<br />
<textarea name='precisions' id='precisions' cols='40' rows='4' tabindex='80'></textarea><?php print_kb('precisions'); ?>
</div>
</fieldset>
<div>
<input type='submit' value='Envoyer' />
<input type='reset' value='Effacer' />
</div>
</form>
</body>
</html>
Etudie-le bien, si tu cherches à progresser. Je peux continuer à t'aider
(désolé, un bug de la nouvelle interface ne me permet pas de publier correctement cd code. L'indentation est perdue. Tu m'en vois désolé.
)
zeb a édité ce message
merci pour ce code... en effet si j'ai une base j'arrive à voir et comprendre ce qu'il faut changer c'est pondre et trouver une logique en code qui m'est impossible... je vais donc étudier ce que tu as posté par contre si tu veux je te donne mon email et tu m'envois ce fichier par email ainsi il n'y aura pas d'erreur de code?
et je ne suis jamais contraire à progresser et ton aide m'est précieuse merci encore
et je ne suis jamais contraire à progresser et ton aide m'est précieuse merci encore
t'as réussi à corriger ce qui n'allait pas alors? moi aussi je suis pour le partage... et sinon tu peux mettre ton fichier en zip en pièce attachée a ton post ainsi tout qui le voudra pourra y avoir accès...
sinon je copie colle ce que tu as tapé et je regarde ce que ça donne au plus vite
merci encore pour ta patience...
sinon je copie colle ce que tu as tapé et je regarde ce que ça donne au plus vite
merci encore pour ta patience...
Ce qui ne va pas, c'est la présentation du code dans le forum nouvelle version.
Donc tu as tout ce qu'il faut, mais c'est mal présenté. Il manque l'indentation.
C'est pour moi une hérésie que de ne pas la respecter.
Et comme je suis le Torquemada du code bien présenté, ça me fait tord.
Alors, ça te plait ?
Donc tu as tout ce qu'il faut, mais c'est mal présenté. Il manque l'indentation.
C'est pour moi une hérésie que de ne pas la respecter.
Et comme je suis le Torquemada du code bien présenté, ça me fait tord.
Alors, ça te plait ?
ben j'ai copie colle dans un dreamweaver histoire de voir ce que ca donne comme ça... puis j'ai commence a lire un peu mais c'est beaucoup trop complexe pour moi... autant pour la 1ere partie, je comprenais la plupart des trucs (et je voyais l'incidence qu'avaient les changements que je faisais) autant là c'est du véritable chinois...
je suis désolé suis vraiment pas doué
je suis désolé suis vraiment pas doué
Ah bon.
Et que veux-tu changer en particulier. Par ce que le php, a priori, ce n'est pas ce qui est à changer en priorité !
J'ai apporté deux trois bricoles. Je te les soumets.
Pour la partie Javascript :
Pour le php :
Et pour le formulaire :
Et que veux-tu changer en particulier. Par ce que le php, a priori, ce n'est pas ce qui est à changer en priorité !
J'ai apporté deux trois bricoles. Je te les soumets.
Pour la partie Javascript :
function show_kb(e) { var divs = document.getElementsByTagName('div'); for (i=0; i < divs.length; i++) { if (divs[i].className== 'kb') { if (divs[i].id == 'kb_'+e) { if (divs[i].style.display == 'block') divs[i].style.display = 'none'; else divs[i].style.display = 'block'; } else divs[i].style.display = 'none'; } } } function lettre(l, e) { document.forms['formulaire'].elements[e].value += l; document.forms['formulaire'].elements[e].focus(); } function funct(f, e, n) { switch (f) { case "maj" : if (typeof this.flg_shift == 'undefined') this.flg_shift = 0; else this.flg_shift = 1 - this.flg_shift; var d = ['block', 'none']; for (i=0; i<=7; i+=2) { document.getElementById('kb_'+e+'_line_n'+i).style.display=d[0 + this.flg_shift]; document.getElementById('kb_'+e+'_line_n'+(i+1)).style.display=d[1 - this.flg_shift]; } break; case "spc" : lettre(' ', e); break; case "del" : document.forms['formulaire'].elements[e].value = document.forms['formulaire'].elements[e].value.substr(0, document.forms['formulaire'].elements[e].value.length - 1); break; case "ret" : show_kb(""); break; case "tab" : show_kb(n); break; } }
Pour le php :
<?php function print_kb($f, $next = "") { echo "<a id='a_$f' class='show_kb' href='javascript:show_kb(\"$f\");'> </a>"; echo "<div id='kb_$f' class='kb' >"; $i = 0; foreach( { echo "<div class='kbline n$i' id='kb_{$f}_line_n$i'>"; foreach ($line as $touch) { echo "<a class='funct t_$touch' href=\"javascript:funct('$touch', '$f', '$next');\"> </a>"; else echo "<a href=\"javascript:lettre('$touch', '$f');\">$touch</a>"; } echo "</div>"; $i++; } } ?>
Et pour le formulaire :
<form name='formulaire' method='post' action='cible_formulaire.php'> <fieldset> <legend>Si vous avez la moindre remarque ou question, n'hésitez pas à remplir ce formulaire et le service concerné vous recontactera dans les plus brefs délais.</legend> <div> <label for='nom' >Nom : </label><input type='text' name='nom' id='nom' tabindex='1' /> <?php print_kb('nom', 'prenom'); ?> </div> <div> <label for='prenom'>Prénom : </label><input type='text' name='prenom' id='prenom' tabindex='2' /> <?php print_kb('prenom', 'tel'); ?> </div> <div> <label for='tel' >Tél. : </label><input type='text' name='tel' id='tel' tabindex='3' /> <?php print_kb('tel', 'mel'); ?> </div> <div> <label for='email2'>Mél. : </label><input type='text' name='mel' id='mel' tabindex='4' /> <?php print_kb('mel', 'precisions'); ?> </div> <div> <label for='precisions'>Question / Commentaire :</label> <br /> <textarea name='precisions' id='precisions' cols='40' rows='4' tabindex='80'></textarea><?php print_kb('precisions', 'nom'); ?> </div> </fieldset> <div> <input type='submit' value='Envoyer' /> <input type='reset' value='Effacer' /> </div> </form>
^^
---------
Ce sont des extraits du même gros fichier que je postais là : http://www.presence-pc.com/forum/ppc/Programmation/crea... Ne pas oublier de reprendre l'ensemble du fichier !
Sinon, ton environnement Apache+PHP fonctionne ?
---------
Ce sont des extraits du même gros fichier que je postais là : http://www.presence-pc.com/forum/ppc/Programmation/crea... Ne pas oublier de reprendre l'ensemble du fichier !
Sinon, ton environnement Apache+PHP fonctionne ?
apache + php.... ooooouuuuups je crois que j'ai oublié chef^^
vais installer cela... voilà pourquoi le code php que t'as envoyé ne donnait rien
j'ai trouvé ce lien avec une explication pas à pas, je m'y attelle : http://www.mindsix.com/installation-wamp-win7-64bits-et...
vais installer cela... voilà pourquoi le code php que t'as envoyé ne donnait rien
j'ai trouvé ce lien avec une explication pas à pas, je m'y attelle : http://www.mindsix.com/installation-wamp-win7-64bits-et...
t3k1lla a édité ce message
Mets tes fichiers dans le dossier _web.zmwsc où si tu as changé la config de ZMWS, dans le dossier pointé par Main:webdir (voir le fichier _config.zmwsc).
Il n'y a qu'un seul fichier, celui-là : http://www.presence-pc.com/forum/ppc/Programmation/crea... dont j'en ai réécris certaines parties, dans les messages qui ont suivis.
Pour que ton serveur web affiche ta page sans qu'il faille préciser de nom d'un fichier, appelle celui par défaut index.php (c'est facile, t'as qu'un fichier
)
Pour que ton navigateur affiche la page web qui nous intéresse, utilise l'une des adresses suivantes :
Tu arrives à suivre ?
Il n'y a qu'un seul fichier, celui-là : http://www.presence-pc.com/forum/ppc/Programmation/crea... dont j'en ai réécris certaines parties, dans les messages qui ont suivis.
Pour que ton serveur web affiche ta page sans qu'il faille préciser de nom d'un fichier, appelle celui par défaut index.php (c'est facile, t'as qu'un fichier
)Pour que ton navigateur affiche la page web qui nous intéresse, utilise l'une des adresses suivantes :
- http://localhost
- http://127.0.0.1
- http://nom_de_ta_machine_windows
Tu arrives à suivre ?
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- articlesFonctionnement d'un écran tactile
- ForumNettoyage écran tactile
- ForumExecuter formulaire de contact
- benchmarkCréation formulaire gratuit
- ForumLogiciel formulaire de contact
- articlesNaissance écran tactile
- ForumDreamweaver 8 formulaire de contact
- articlesFtir écran tactile
- ForumCréation formulaire web
- articlesWindows 7 écran tactile.
- Voir plus