Formulaire web

Nalala -  
 Nalala -
Bonjour, je désire créer un site internet et sur une page, j'aimerais faire une soirte de questionnaire (éléments à cocher, champs texte à remplir, ...) et récupérer les données pour en faire une base de donnée (excel ?), seulement je ne sais pas vraiment comment m'y prendre, n'y quoi chercher... j'ai fait mes autres pages avec Dreamweaver.
Quel language serait le plus approprié? J'ai entendu parler de ruby on rails...
Merci !!
Désolé si ma question parait un peu stupide, mais je ne suis pas vraiment branché informatique (faut bien s'y mettre un jour!!)

15 réponses

Nalala
 
Maintenant que j'y pense... un copain m'a parlé de perl, l'autre de php et un troisième de ruby on rails... lequel de ces languages serait le plus approprié pour effectuer ce que je désire ? Mici!!!
0
Alain42
 
Bonsoir,

php est le plus simple à mon avis.

Il te faut un serveur qui accepte ce langage, mais pourquoi vouloir stocker dans un BDD excel et pas plutot mysql, php sait très bien faire ça.

Tuto sur www.siteduzero.com
0
Nalala
 
Merci beaucoup! Je vais aller faire un tour sur ce site!
Je ne connais pas très bien les bases de données... en fait, je voudrais ultérieurement traiter les données reçues avec excel...
existe-t-il une manière de convertir du mysql en excel?
0
le père
 
Bonsoir

existe-t-il une manière de convertir du mysql en excel?
Tu peux toujours passer par du CSV (texte avec champs séparés par des virgules)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nalala
 
Serait-il possible de faire tout cela en perl plutôt, je sais que le serveur que j'utilise tourne sous linux (je ne suis pas sûr qu'il supporte php)?
Merci.
0
Alain42
 
Si Linux il a plus de chance d'accepter le php que le perl.

Pour essayer fais un petit script php
tu le nommes test_php.php

<?php
echo "Bonjour j'accepte le php !<br>";
phpinfo();
?>


que tu pose sur le serveur.

et dans ton navigateur tu tapes dans la barre d'adresse: adresse du serveur/test_php.php

il doit te répondre:

Bonjour j'accepte le php !
suivi d'un grand tableau avec tout un tas d'infos sur la configuration de PHP (version etc....)
0
Nalala
 
Merci, il supporte effectivement le php.
A propos de php comment fais-on pour faire une liste déroulante jour/mois/année (autrement que d'énumèrer les valeurs à la main)?
Merci.
0
Alain42
 
Bonsoir,

oui c'est possible, tu fais trois listes une pour le mois, une pour le jour, une pour l'année

tu remplis ta liste avec une boucle for

<select>
<?php
for($m=1;$m<=12;$m++){
echo "<option value=\"$m\">$m</option>";

}
?>
</select>

idem pour les autres
0
Nalala
 
Enfait, je voudrais qqch qui suivant quel mois est selectionner affiche le nombre de jours correspondants...
Exemple (je suis pas sure que mes explicaiton soit très clairs):

date de naissance:
jour / mois / annee
0-31 car janvier sélectionner
0-30 car avril sélectionner

---
Mici
0
Nalala
 
Et avec les mois en lettres ça serait possible?
0
Alain42
 
Salut,

Tu voudrait que lorsque l'utilisateur choisit l'année, puis le mois, cela va créer la liste des jours en tenant compte de 30, 31, 28 ou 29


Je vais essayer te faire ça, mais pas avant ce soir ou demain.

Il va falloir passer par du Javascript.

@lain
0
Alain42
 
Bonsoir,

je t'ai pondu ça:

<html>
<head>
<script language="javascript" type="text/javascript">
//fonction affichage liste mois
function affListeMois(id_div_mois,id_tit_mois){
	var tabl_mois=new Array("janvier","février","mars","avril","mai","juin","juillet","aout","septembre","octobre","novembre","decembre");
	//generation de la liste select
	var liste="<select name='mois_naiss' id='mois_naiss' onChange=\"affListeJours('annee_naiss','mois_naiss','liste_jours','tit_jour');\">";
	liste=liste+"<option value='-1'>Choisissez</option>";
	for (m=1;m<=12;m++){
		liste=liste+"<option value="+m+">"+tabl_mois[m-1]+"</option>";
	}
	liste=liste+"</select>";
	//chargement par innerHTML de la liste dans le div
	document.getElementById(id_div_mois).innerHTML=liste;
	//affichage du titre
	document.getElementById(id_tit_mois).innerHTML="Mois";	
}
// fonction generation et affichage liste du jour en fonction de l'annee et du mois ( bissextile   30/31)
function affListeJours(id_annee,id_mois,id_div_jours,id_tit_jours){
		var mois=document.getElementById(id_mois).value; // mois selectionne
		var annee=document.getElementById(id_annee).value; // annee selectionnee
		var nbJours = new Array('',31,28,31,30,31,30,31,31,30,31,30,31);//tableau nb_jours suivant mois
		nbJours['2'] = daysInFebruary (annee);// calcul annee bisextile et modif du tableau ci dessus
		nb_jours_mois = nbJours[Math.round(mois)];
		var liste="<select name='jour_naiss' id='jour_naiss' >";
	liste=liste+"<option value='-1'>Choisissez</option>";
	for (j=01;j<=nb_jours_mois;j++){
		liste=liste+"<option value="+j+">"+j+"</option>";
	}
	liste=liste+"</select>";
	document.getElementById(id_div_jours).innerHTML=liste; 
	document.getElementById(id_tit_jours).innerHTML="Jour";	

}
function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
</script>
</head>
<body>

<table>
<tr><td>
Date de naissance:
</td></tr>
<tr>
<th>Ann&eacute;e:</th><th><div id="tit_mois"></div></th><th><div id="tit_jour"></div></th>
</tr>
<tr>
<td>
<!-- liste des annees  de 1940 jusqu'a aujourd'hui  ( $a=1940  modifiable )-->
<select name="annee_naiss" id="annee_naiss" onChange="javascript:affListeMois('liste_mois','tit_mois');">
	<!-- quand on change la selection dans la liste de l'annee : onChange appelle la fonction javascript -->
	<!--  il faut mettre Choisissez sinon la selection de la premiere ligne ne provoquerait pas le onChange-->
	<option value=-1 selected>Choisissez</option>
<?php
		for ($a=1940; $a<=date('Y'); $a++){
?>
                <option value="<?php echo $a ?>"><?php echo $a ?></option>
                <?php
		}
?>
</select>
</td>
<td>
<div id="liste_mois">
<!-- ici sera chargee la liste des mois par la  fonction javascript -->
</div>
</td>
<td>
<div id="liste_jours">
<!-- ici sera chargee la liste des jours la fonction  par javascript -->

</div>
</td>
</tr>
</table>
<body>
</html>


Chez moi ça marche, est ce que ça te va ?

@lain
0
Nalala
 
Wouahou... C'est exactement ce à quoi je pensait!! Parfait, merci beaucoup!! Je vais intégré ça à ma page!! Par contre je savait pas que ça se fesait de mélangé du javascript et du php...
0
Alain42
 
Bonsoir,

Oui on peut mélanger PHP et JS


php s'exécute côté serveur et JS côté client (navigateur)

c'est à dire lorsque tu demandes une page xxxx.php le serveur exécute la partie de code php qui va creer ta page dynamiquement, et l'envoyer à ton navigateur. Une fois la page html chargée, JS réagit a des événements : clik sur un bouton, changement dans une liste etc...

donc JS te permet de modifier ta page sans appeler le serveur donc sans la recharger. Bien sur avec JS on ne peut pas tout faire, pour des raisons évidentes de sécurité.

Si tu as des pb pour l'intégrer dans ta page j'ai amélioré un peu le code et l'ai mis dans une fonction, plus facile a intégrer;

Dis moi .

@lain
0
Nalala
 
OK je te tient au courant... Merci de toute ses précisions en tout cas!
0