Formulaire qui ne fonctione pas!

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Formulaire qui ne fonctione pas!

re: re

par erge » 14 juil. 2006, 10:01

Bonjour,

Ne chercher plus j'ai trouvé la faille :lol:. Mes adresses url n'étaient pas assez explicites pour le serveur, j'ai dû donner l'adresse complète.
Bizarre car j'ai utilisé le même code php pour ma page index et là pas de problème. Enfin l'important c'est que ça marche.

Merci à tous ceux qui m'ont aidé. :wink:

Re: re

par erge » 13 juil. 2006, 12:37

Salut,
Le fichier "agenda.php" se trouve dans le même répertoire que le formulaire ?
En fait mon formulaire se trouve dans mon fichier agenda.php qui lui ne se trouve pas dans le dossier Agenda mais en dehors sous la racine principale comme ma page index.php. Et les url liés au menu déroulant se trouvent dans le dossier Aganda, le tout bien sûr dans le répertoire de mon site.

J'espère que cette fois c'est clair.

Là je déprime car je sais plus quoi faire. :cry:

Si vous avez une autre idée simple pour réaliser ce que je voudrais faire elle est la bien venue.

Merci pour tout,

Re: re

par Truc » 12 juil. 2006, 20:55

ben oui, c'est que ce trouve mon formulaire.
J'ai peur d'avoir compri :?

Le fichier "agenda.php" se trouve dans le même répertoire que le formulaire ?

re

par erge » 12 juil. 2006, 20:14

ben oui, c'est que ce trouve mon formulaire.

par Ryle » 12 juil. 2006, 14:50

Et euh question bête mais.... elle existe au moins la page "agenda.php" dans le dossier parent de celui où tu te trouves ? :)

re:

par erge » 12 juil. 2006, 13:46

Voilà j'ai fait les tests de débuggage et voilà le résulat :
1.
<select name="agenda" onchange="alert(this.selectedIndex);"> 
message du navigateur : http://localhost:8888 2 (pour fevrier)
2.
<select name="agenda" onchange="alert(this.options[this.selectedIndex].value);"> 
message navigateur : http://localhost:8888 ../agenda.php?page=febrero
3.
<select name="agenda" onChange="document.location= this.options[this.selectedIndex].value;"> 
affichage dans le navigateur : Not Found
The requested URL /agenda.php was not found on this server.
Apache/2.0.55 (Unix) PHP/4.4.2 DAV/2 mod_ssl/2.0.55 OpenSSL/0.9.7i Server at localhost Port 8888

Autrement dit ça marche pas avec mon serveur local.
Mais j'aimerai avoir des explications sur cette méthode que je ne connaissais pas et qui me paraît être très intéressant.
Je vais attendre d'avoir mes paramettres de connexion chez le serveur officiel et je saurais quoi.

Si vous avez d'autres solutions, elles sont les bien venues.
Merci encore de m'aider.

:D

re:

par erge » 12 juil. 2006, 13:02

Merci, j'essaie.
@+

par Truc » 11 juil. 2006, 22:25

Est-ce que tu as une méthode de débuggage ?

Un truc qui te dis tiens je vais tester d'afficher tel ou tel message ou variable !
au lieu de claquer directement:
 <select name="agenda" onChange="document.location= this.options[this.selectedIndex].value;"> 
tu procèdes par étapes:
1.
 <select name="agenda" onchange="alert(this.selectedIndex);"> 
2.
 <select name="agenda" onchange="alert(this.options[this.selectedIndex].value);">

ou plus court:
<select name="agenda" onchange="this.value;">
3.
<select name="agenda" onChange="document.location= this.options[this.selectedIndex].value;">
Si le résultat s'affiche passe à l'étape suivante. Si rien ne s'affiche dès la 1ère étape l'erreur veins d'ailleurs.

par Invité » 11 juil. 2006, 15:28

Désolé, j'avais fait quelques corrections mais elles n'ont pas été enregistré lors du copier/coller. Mais voici tout le code de ma page:

Code : Tout sélectionner

<title>Agenda del MAEEB</title> <link rel="stylesheet" href="style/maeeb.css" type="text/css" /> <h1><span class="Style16">Agenda del MAEEB 2006/2007</span><br /> </h1> <p align="center"><img src="Images/img0052.png" width="92" height="76" /> <br /> Esta pagina estar en preparaci&ograve;n.<br /> Gracia por su paciencia. </p> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="25%"><form action="agenda.php" method="get"> <select name="agenda" onChange="document.location= this.options[this.selectedIndex].value;"> <option selected="selected">Seleccionar un mes</option> <option value="../agenda.php?page=enero">Enero</option> <option value="../agenda.php?page=febrero">Febrero</option> <option value="../agenda.php?page=marzo">Marzo</option> <option value="../agenda.php?page=abril">Abril</option> <option value="../agenda.php?page=mayo">Mayo</option> <option value="../agenda.php?page=junio">Junio</option> <option value="../agenda.php?page=julio">Julio</option> <option value="../agenda.php?page=agosto">Agosto</option> <option value="../agenda.php?page=septiembre">Septiembre</option> <option value="../agenda.php?page=octubre">Octubre</option> <option value="../agenda.php?page=noviembre">Noviembre</option> <option value="../agenda.php?page=diciembre">Diciembre</option> </select> </form></td> <td> <?php if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page']; switch($page) { case 'enero': include ('Agenda/enero.htm');break; case 'febrero': include ('Agenda/febrero.htm');break; case 'marzo': include ('Agenda/marzo.htm');break; case 'abril': include ('Agenda/abril.htm');break; case 'mayo': include ('Agenda/mayo.htm');break; case 'junio': include ('Agenda/junio.htm');break; case 'julio': include ('Agenda/julio.htm');break; case 'agosto': include ('Agenda/agosto.htm');break; case 'septiembre': include ('Agenda/septiembre.htm');break; case 'octubre': include ('Agenda/octubre.htm');break; case 'noviembre': include ('Agenda/noviembre.htm');break; case 'diciembre': include ('Agenda/diciembre.htm');break; default: include('Agenda/enero.htm');break; } ?> </td> </tr> </table>
J'ai rectifié onChange et aucun changement, ça marche pas. :(
Merci de m'aider. :D

par Ryle » 11 juil. 2006, 14:39

Je vois bien la fin du form, mais pas le début.. bon on va supposer que tu en as bien un :)

Pourquoi le eval ? Ceci fonctionnerait tout aussi bien :)

Code : Tout sélectionner

onChange="document.location= this.options[this.selectedIndex].value;"
Autre soucis, dans les valeurs de tes options, certaines ont un "Agenda/" au début, et tu ne le gère pas dans le switch/case .. du coup il va dans le default pour janvier et février

Formulaire qui ne fonctione pas!

par erge » 11 juil. 2006, 14:05

Bonjour, j'essaie de faire un petit menu tout simple avec des liens et pas moyen d'avoir un résutat correcte.
Voici le code :

Code : Tout sélectionner

<table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="25%"><select name="agenda" onchange='window.location=eval("this.options[this.selectedIndex].value")'> <option selected="selected">Seleccionar un mes</option> <option value="../agenda.php?page=Agenda/enero">Enero</option> <option value="../agenda.php?page=Agenda/febrero">Febrero</option> <option value="../agenda.php?page=marzo">Marzo</option> <option value="../agenda.php?page=abril">Abril</option> </select> </form></td> <td> <?php if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page']; switch($page) { case 'enero': include ('Agenda/enero.htm');break; case 'febrero': include ('Agenda/febrero.htm');break; case 'marzo': include ('Agenda/marzo.htm');break; case 'abril': include ('Agenda/abril.htm');break; default: include('Agenda/enero.htm');break; } ?> </td> </tr> </table>
Si quelqu'un pouvait corriger mes erreurs ce serait super simpa car ça fait trop longtemps que je rame la dessus.
D'avance merci.