probleme sur formulaire

probleme sur formulaire - HTML/CSS - Programmation

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

Reply

Marsh Posté le 10-12-2007 à 17:43:37   

Reply

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?

Reply

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&eacute;</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&eacute;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&eacute;t&eacute;</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&eacute;l&eacute;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">&nbsp;</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&eacute;s d'un <span class="Style15">*</span> sont obligatoires.</div>
  <div id="Layer7">
    <p align="justify" class="Style9">si&egrave;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 &agrave; nous envoyer vos remarques, vos questions ou toutes autres demandes de renseignements, </em><em>nous  vous r&eacute;pondrons au plus vite.</em></p>
  </div>
  <div id="Layer11"><span class="Style14">Conform&eacute;ment aux dispositions de la loi Informatique et Libert&eacute;s du  6 janvier 1978, toutes les donn&eacute;es informatiques vous concernant sont  trait&eacute;es de mani&egrave;re strictement confidentielle. Vous disposez d'un  droit d'acc&egrave;s, de rectification, et d'opposition &agrave; vos donn&eacute;es. Pour  cela il vous suffit de nous en faire la demande en ligne ou par  courrier en nous indiquant vos nom, pr&eacute;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>
 

Reply

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.

Reply

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'] = '';
 
?>

Reply

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 :
  1. chown apache:apache /var/www/cgi-bin/monscript


et chmod à donner les droits de lecture et d'éxécution:

Code :
  1. chmod ugo+rx /var/www/cgi-bin/monscript


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 :
  1. man chmod


ou:

Code :
  1. man chown
 

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.


Message édité par nargy le 12-12-2007 à 14:18:21
Reply

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 ?

Reply

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).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed