probleme sur formulaire - HTML/CSS - Programmation
Marsh Posté le 11-12-2007 à 18:06:38
tu as un problème de droits d'accès. je suppose que tu es sous unix (linux) avec apache...
Regarde d'abord si le fichier a les droits d'éxécution et de lecture par le serveur apache (utilisateur apache sur la plupart des systèmes).
Ensuite, si ça ne fonctionne toujours pas, regarde ton httpd.conf, pour voir si les CGI sont activés. De la doc: http://apache.org/ .
Sinon, donne des détails sur ta config: quel OS, quel serveur?
Marsh Posté le 11-12-2007 à 20:19:37
bonsoir,
voici le code de la page, peux tu me dire si l'erreur vient de là
<!--
#Layer2 {
position:relative;
left:0px;
top:0px;
width:900px;
height:620px;
z-index:1;
margin-right: auto;
margin-left: auto;
margin-top: auto;
margin-bottom: auto;
}
#Layer3 {
position:absolute;
left:30px;
top:30px;
width:523px;
height:78px;
z-index:1;
visibility: visible;
}
#Layer4 {
position:absolute;
left:590px;
top:15px;
width:288px;
height:172px;
z-index:1;
visibility: visible;
}
#Layer5 {
position:absolute;
left:56px;
top:523px;
width:790px;
height:40px;
z-index:2;
visibility: visible;
}
#Layer1 {
position:absolute;
left:97px;
top:148px;
width:439px;
height:349px;
z-index:3;
visibility: visible;
}
#Layer6 {
position:absolute;
left:99px;
top:129px;
width:324px;
height:26px;
z-index:4;
visibility: visible;
}
#Layer7 {
position:absolute;
left:633px;
top:428px;
width:233px;
height:24px;
z-index:5;
visibility: visible;
}
.Style3 {color: #999999; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }
.Style5 {
font-size: 10px;
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #CC99CC;
}
#Layer12 {
position:absolute;
left:633px;
top:452px;
width:176px;
height:21px;
z-index:6;
visibility: visible;
}
#Layer13 {
position:absolute;
left:633px;
top:469px;
width:214px;
height:24px;
z-index:7;
visibility: visible;
}
#Layer14 {
position:absolute;
left:633px;
top:489px;
width:233px;
height:32px;
z-index:8;
visibility: visible;
}
#Layer15 {
position:absolute;
left:1177px;
top:198px;
width:715px;
height:311px;
z-index:3;
}
.Style9 {color: #999999; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; }
.Style10 {color: #999999}
.Style12 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-style: italic;
font-size: 10px;
}
.Style13 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
.Style14 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-style: italic;
font-size: 9px;
color: #666666;
}
.Style15 {color: #CC66CC}
#Layer8 {
position:absolute;
left:567px;
top:23px;
width:312px;
height:194px;
z-index:9;
}
#Layer9 {
position:absolute;
left:625px;
top:16px;
width:246px;
height:180px;
z-index:9;
visibility: visible;
}
#Layer10 {
position:absolute;
left:31px;
top:61px;
width:561px;
height:45px;
z-index:10;
visibility: visible;
}
.Style16 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
color: #666666;
}
#Layer11 {
position:absolute;
left:16px;
top:530px;
width:867px;
height:71px;
z-index:11;
visibility: visible;
}
#Layer16 {
position:absolute;
left:30px;
top:30px;
width:237px;
height:33px;
z-index:12;
}
.Style21 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 24px; color: #CC66CC;}
-->
</style>
</head>
<body>
<div id="Layer2">
<div id="Layer1">
<form action="/cgi-bin/mailer" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="424" height="346" border="0" cellpadding="0" cellspacing="0">
<tr>
<th height="32" scope="row"><div align="left" class="Style13">Civilité</div></th>
<td><label>
<input type="radio" name="radiobutton" value="radiobutton" />
<span class="Style13"> Madame</span></label></td>
<td><label>
<input type="radio" name="radiobutton" value="radiobutton" />
<span class="Style13">Mademoiselle</span></label></td>
<td><label>
<input type="radio" name="radiobutton" value="radiobutton" />
<span class="Style13">Monsieur</span></label></td>
</tr>
<tr>
<th width="104" height="32" scope="row"><div align="left" class="Style13">Nom<span class="Style15">*</span></div></th>
<td width="320" colspan="3"><label>
<input name="textfield" type="text" value="" size="25" /> </label></td>
</tr>
<tr>
<th height="31" scope="row"><div align="left" class="Style13">Prénom</div></th>
<td colspan="3"><label>
<input name="textfield2" type="text" size="25" />
</label></td>
</tr>
<tr>
<th height="30" scope="row"><div align="left" class="Style13">Société</div></th>
<td colspan="3"><label>
<input name="textfield4" type="text" size="20" />
</label></td>
</tr>
<tr>
<th height="31" scope="row"><div align="left" class="Style13">Email<span class="Style15">*</span></div></th>
<td colspan="3"><label>
<input name="FROM" type="text" id="FROM" size="25" />
</label></td>
</tr>
<tr>
<th height="27" scope="row"><div align="left" class="Style13">Code Postal<span class="Style15">*</span></div></th>
<td colspan="3"><label>
<input name="textfield3" type="text" size="5" />
</label></td>
</tr>
<tr>
<th height="25" scope="row"><div align="left" class="Style13">Téléphone<span class="Style15">*</span></div></th>
<td colspan="3"><label>
<input name="textfield5" type="text" size="10" />
</label></td>
</tr>
<tr>
<th height="76" scope="row"><div align="left" class="Style13">Message<span class="Style15">*</span></div></th>
<td colspan="3"><textarea name="textarea2" cols="25" rows="4" wrap="virtual"></textarea>
<input name="TO" type="hidden" id="TO" value="trolliet.philippe@neuf.fr" /></td>
</tr>
<tr>
<th height="62" scope="row"> </th>
<td colspan="3"><label>
<label>
<div align="center">
<input name="Submit" type="submit" value="Envoyer" />
</div>
</label>
</label></td>
</tr>
</table>
</form>
</div>
<div class="Style12" id="Layer6">Les champs marqués d'un <span class="Style15">*</span> sont obligatoires.</div>
<div id="Layer7">
<p align="justify" class="Style9">siège social : </p>
</div>
<div id="Layer12"><span class="Style3">14 Rue Dumont d'Urville</span></div>
<div id="Layer13"><span class="Style3">10300 Sainte Savine</span></div>
<div id="Layer14"><span class="Style5"><span class="Style10">email :</span><a href="#">contact@cachecoeurlingerie.com</a></span></div>
<div id="Layer9"><img src="LOGO OFFICIEL.jpg" width="250" height="163" /></div>
<div class="Style16" id="Layer10">
<p><em>N'hesitez pas à nous envoyer vos remarques, vos questions ou toutes autres demandes de renseignements, </em><em>nous vous répondrons au plus vite.</em></p>
</div>
<div id="Layer11"><span class="Style14">Conformément aux dispositions de la loi Informatique et Libertés du 6 janvier 1978, toutes les données informatiques vous concernant sont traitées de manière strictement confidentielle. Vous disposez d'un droit d'accès, de rectification, et d'opposition à vos données. Pour cela il vous suffit de nous en faire la demande en ligne ou par courrier en nous indiquant vos nom, prénom, adresse.</span></div>
<div class="Style21" id="Layer16">Contactez-nous...</div>
<form action="/cgi-bin/mailer" method="post" enctype="multipart/form-data" name="form1" id="form1">
<img src="fond ecran.jpg" width="900" height="520" />
</form>
</div>
</body>
</html>
Marsh Posté le 11-12-2007 à 20:40:14
Non.
Cette erreure est dûe à une mauvaise configuration du serveur qui soit n'autorise pas les CGI du tout, soit n'autorise pas ton script car tu ne lui a pas donné les droits nécessaires pour s'exécuter derrière le serveur.
Marsh Posté le 12-12-2007 à 10:48:35
Est ce de ca dont tu me parle config.inc.php
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
*/
/*
* This is needed for cookie based authentication to encrypt password in
* cookie
*/
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
/*
* Servers configuration
*/
$i = 0;
/*
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cconfig';
$cfg['Servers'][$i]['only_db'] = 'xxxxxxxx';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'xxxxxx';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'xxxxxxx';
$cfg['Servers'][$i]['controlpass'] = 'xxxxxx';
/* Advanced phpMyAdmin features */
// $cfg['Servers'][$i]['pmadb'] = 'http://xxxx.net/phpMyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma_relation';
// $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
// $cfg['Servers'][$i]['history'] = 'pma_history';
// $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
/*
* End of servers configuration
*/
/*
* Directories for saving/loading files from server
*/
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
Marsh Posté le 12-12-2007 à 12:05:29
Non plus. (shui à deux doigts d'envoyer la pelle à clou là)...
Ne poste pas de code PHP, stp, l'erreure n'est pas là.
Je t'explique brièvement:
Dans un serveur, chaque fichier est attribué à l'utilisateur qui le crée. Pour raison de sécurité, un utilisatreur peut choisir de rendre ses fichiers accessibles ou non par d'autres utilisateurs, en conférent des droits d'accès à ce fichier. Pour le serveur apache, le seul utilisateur autorisé à mettre en place des fichiers sur le serveur est l'utilisateur appelé 'apache'. Si un autre utilisateur crée un fichier derrirère le serveur, apache considère que ce fichier ne lui appartient pas et le système ne lui donne pas accès au fichier tant que l'utilisateur qui l'a crée n'autorise pas le fichier à être lu ou exécuté par apache. N'ayant pas droit d'accès au fichier, le serveur apache t'affiche cette erreure. Ce message signifie: Le serveur n'a même pas pu ouvrir ton fichier cgi puisqu'il ne lui appartient pas et n'a pas non plus les droits d'accès.
Edit: je viens de m'apercevoir que tu dois être sous windows avec phpmyadmin, donc ce que je te dis par la suite n'est peut être pas correct, tu me dis.
Regarde donc les commandes unix: chown et chmod. Chown permet de "donner" ton fichier à apache:
Code :
|
et chmod à donner les droits de lecture et d'éxécution:
Code :
|
Pour manipuler les fichiers d'autres utilisateurs que toi, tu dois d'abord te logguer comme administrateur système (root).
Tu dois donc taper ces commandes dans un shell en tant que root, en remplaçant /var/www/cgi-bin/monscript par l'emplacement et le nom de ton fichier cgi.
Si tu veux consulter l'aide sur les commandes chown et chmod pour obtenir plus d'info, tapes:
Code :
|
ou:
Code :
|
Si tu n'as pas accès au serveur en tant qu'administrateur système ou si ça ne fonctionne toujours pas, tu me dis.
Edit: Avec windows, tu peut faire la même chose en cliquant droit sur ton fichier cgi -> propriétés -> onglet sécurité -> donner l'accès en lecture et contrôle à l'utilisateur apache.
Marsh Posté le 12-12-2007 à 16:21:27
ok, j'ai compris ce que tu veux dire,
mais en fait je crois que mon probleme vient d'ailleur : j'ai fait un formulaire en html mais je n'est pas crée le script cgi ( a placer dans /cgi-bin) au quel le formualire fait appel : il me faudrait un script cgi mais je sais pas comment faire
peux tu m'aider ?
Marsh Posté le 12-12-2007 à 17:25:03
Ha bah non, laisse tomber le CGI. Un CGI est un programme executable (.exe sous windows), c'est beaucoup plus compliqué à faire qu'une page HTML. Celà nécessite par ailleurs que tu maîtrise un language de programmation.
Ce que je te conseille, si tu débute, et comme tu as PHP d'installé, c'est de faire le script en PHP plutot. C'est un langague relativement plus simple que la plupart des languages qui servent à faire des CGI. De plus, il est très couramment utilisé sur le web, et adapté à ce que tu veux faire. Tu trouvera facilement des scripts PHP tout faits sur le net, peut être même exactement ce que tu cherche.
Si tu es interressé pour apprendre le PHP, il te faut de la doc: ya tout ce qu'il faut sur http://php.net/ , c'est le site de référence. En tout premier, tu aura besoin d'un tutoriel pour démarrer. Je te conseille la cat PHP du forum, où tu trouvera des ressources, des liens et des tutoriels, et où tu pourra y poser des questions.
Lis aussi la charte du forum, ça t'évitera des déconvenues. Quand tu poste du code, utilise la balise [ code ] [ /code ] (sans les espaces).
Marsh Posté le 10-12-2007 à 17:43:37
Bonsoir a tous,
j'ai crée un site comportant un formulaire que j'ai fais avec cgi,
lorsque je rempli le formulaire et que je valide pour l'envoyer, je recoi le message d'erreur suivabt :
You don't have permission to access /cgi-bin/mailer on this server.
que dois je faire
merci d'avance de votre aide